什么是工作空间?

工作空间(Workspace) 是 Alius 的核心组织单元。一个工作空间映射到一个工程项目目录。所有 AI Agent 活动——Session、计划、记忆、Trace——都在这个工作空间范围内进行。

Alius 的工作空间不是简单的聊天界面,而是一个Plan 驱动的 Agent 运行时工作空间。它的设计围绕目标理解、计划生成、受控执行和结果审查构建。

your-project/
├── .alius/
│   ├── config/         # 项目配置
│   ├── memory/         # 项目记忆存储
│   ├── workspace/      # 工作空间文档
│   └── runtime/        # 运行时状态(如初始化进度)
├── src/
└── ...

为什么基于工作空间?

传统 AI 工具围绕对话组织。Alius 围绕你的实际项目组织:

传统 AI CLIAlius
围绕对话组织围绕真实项目组织
返回需要解读的文本产生 Plan、Run、Trace 和可恢复的上下文
配置散落在各台机器上所有内容存储在 .alius/
硬编码模型假设让你配置 Provider、Model、API Key 和 Soul
单一模式Plan 驱动 + Bypass 双模式
无安全边界Shell Gate 风险分析和审批控制

初始化工作空间

alius init

这会创建 .alius/ 目录结构并启动初始化向导。向导是一个可恢复的状态机,引导你完成:

  1. 语言选择 — 选择工作空间界面语言
  2. 模型池配置 — 从支持的服务商导入模型
  3. 模型分配 — 为 Plan/Execute/Review 三个角色指定模型
  4. 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,它会自动找到项目根。