什么是工作空间?
工作空间(Workspace) 是 Alius 的核心组织单元。一个工作空间映射到一个工程项目目录。所有 AI Agent 活动——Session、计划、记忆、Trace——都在这个工作空间范围内进行。
Alius 的工作空间不是简单的聊天界面,而是一个Plan 驱动的 Agent 运行时工作空间。它的设计围绕目标理解、计划生成、受控执行和结果审查构建。
your-project/
├── .alius/
│ ├── config/ # 项目配置
│ ├── memory/ # 项目记忆存储
│ ├── workspace/ # 工作空间文档
│ └── runtime/ # 运行时状态(如初始化进度)
├── src/
└── ...
为什么基于工作空间?
传统 AI 工具围绕对话组织。Alius 围绕你的实际项目组织:
| 传统 AI CLI | Alius |
|---|---|
| 围绕对话组织 | 围绕真实项目组织 |
| 返回需要解读的文本 | 产生 Plan、Run、Trace 和可恢复的上下文 |
| 配置散落在各台机器上 | 所有内容存储在 .alius/ 下 |
| 硬编码模型假设 | 让你配置 Provider、Model、API Key 和 Soul |
| 单一模式 | Plan 驱动 + Bypass 双模式 |
| 无安全边界 | Shell Gate 风险分析和审批控制 |
初始化工作空间
alius init
这会创建 .alius/ 目录结构并启动初始化向导。向导是一个可恢复的状态机,引导你完成:
- 语言选择 — 选择工作空间界面语言
- 模型池配置 — 从支持的服务商导入模型
- 模型分配 — 为 Plan/Execute/Review 三个角色指定模型
- Soul 选择 — 选择 Agent 角色身份
如果
.alius/已存在,/init会询问你是重新初始化还是退出。重新初始化会清除模型池、角色选择和语言覆盖。初始化进度保存在.alius/runtime/init-state.toml,中断后可恢复。
工作空间范围
所有 AI 操作都在工作空间范围内:
- 文件访问限于工作空间目录(
resolve_within_workspace阻止绝对路径、../遍历和符号链接逃逸) - 记忆按项目存储
- Session 属于工作空间
- Shell 命令需要通过 Shell Gate 风险分析和审批
超出工作空间的操作需要明确授权或被直接拒绝。
TUI 工作空间布局
交互式工作空间包含以下主要区域:
| 区域 | 用途 |
|---|---|
| 顶部栏 | 版本、Soul、模式和网络状态 |
| 会话区 | 工作流对话块(请求、理解、计划提案、执行、提示、输出、错误) |
| 计划面板 | 计划节点、状态、验收标准和证据(仅在 Plan 模式批准后出现) |
| 交互区 | 文本输入、选项选择和审批控件 |
| 状态栏 | 当前工作空间、Git 状态和运行时状态 |
欢迎界面
每次启动工作空间时,会话区显示欢迎块,包含版本号、当前 Soul、模型分配和 Enter 提示。欢迎块根据终端大小有四种布局(Wide / Medium / Compact / Tiny),确保在不同终端尺寸下都清晰可读。
会话块
工作空间使用工作流语言而非传统的 User/Assistant 格式:
| 块类型 | 说明 |
|---|---|
| Request | 用户请求 |
| Understanding | 模型对任务的理解 |
| Plan Proposal | 计划提案 |
| Execution | 执行过程 |
| Prompt | 交互式提示 |
| Status | 状态更新 |
| Output | 输出结果 |
| Error | 错误信息 |
长对话块(超过 3 行)会自动折叠,点击可展开,Ctrl+O 可全局切换。
配置结构
.alius/config/
├── config.toml # 主配置(运行时元数据、默认模型/提供商、UI、Session、日志)
├── providers.toml # 提供商定义、兼容路由层、本地模型库、Base URL 和 API Key
├── model.toml # Plan/Execute/Review 模型分配
├── soul.toml # Agent 身份(Agent Card 兼容配置)
├── tools.toml # 内置/MCP/插件/工作流工具、超时、确认和注册设置
├── permissions.toml # 文件系统、Shell、网络、记忆、项目文档和远程 A2A 权限
├── protocol.toml # 协议接口启用和事件/命令设置
└── mcp.json # MCP 服务器声明
项目发现
Alius 通过从当前目录向上搜索 .alius/ 目录来发现项目根目录。你可以在项目的任何子目录中启动 alius,它会自动找到项目根。