两种模式,一个引擎

Alius 使用统一的 Loop Engine 配合两种执行策略:

  • Plan 模式 = Loop Engine + PlanPolicy(多轮迭代,工具审批)
  • Bypass 模式 = Loop Engine + ChatPolicy(单轮执行,快速响应)

两种模式共享相同的底层运行时、协议接口和记忆系统。通过 Shift+Tab 随时切换。

Bypass 模式

快速单轮交互,适用于轻量任务:

> 解释这个函数
> 认证中间件做了什么?
> 列出这个目录下的文件

Bypass 模式行为

特性行为
最大迭代次数1
工具启用
计划功能
收敛检查启用

Bypass 模式执行单轮请求。如果模型请求工具调用,运行时会执行一次工具批次并返回工具结果摘要,但不会继续进入多轮模型/工具迭代循环

Bypass 模式中的安全性

在 Bypass 模式中,需要审批的 Shell Gate 决策(ApprovalRequired)会直接执行而非弹出确认提示。例如,模型请求的 shell 工具调用(如 git clone)会直接运行并返回结果。被 Shell Gate 拒绝的操作仍然不会执行。

适用场景

  • 问答和解释
  • 快速查询和澄清
  • 轻量代码生成
  • 一次性分析

Plan 模式

多步骤规划和执行,适用于复杂任务:

> 重构认证模块以支持 OAuth2
> 为用户服务添加缓存层
> 修复所有编译错误并确保测试通过

Plan 模式行为

特性行为
最大迭代次数20
工具启用
计划功能
收敛检查启用
工具审批按策略要求

Plan 模式工作流程

Plan 模式不是固定的”理解→分解→审批”序列。它是一个交互式起草过程

  1. 目标描述 — 你描述要完成的目标
  2. 澄清阶段 — 模型主动询问不明确的需求细节
    • 问题在会话区显示(如”这个接口的用途是什么?”)
    • 交互区显示模型建议的答案作为选项(单选、多选或自由输入)
    • 模型会持续提问,直到任务细节、前置条件、约束和成功标准足够清晰
  3. 计划生成 — 模型返回可执行的计划列表(Plan List)
  4. 计划审批 — 计划在会话区展示,交互区要求你批准或拒绝
  5. 节点执行 — 批准的计划节点按步执行
    • 工具调用经过 Shell Gate 审批
    • 每个节点完成后更新状态
  6. 完成确认 — 所有节点执行完成后,你确认计划完成,计划面板关闭

在计划起草期间,计划面板是隐藏的。只有在你批准计划后,计划面板才会出现并显示已批准的节点。

澄清提示

模型在 Plan 模式中会尽量减少你的打字量:

  • 单选 — 交互区显示选项,用方向键选择
  • 多选 — 交互区显示选项,用 Space 切换,Enter 确认
  • 自由输入 — 仅在模型无法将问题简化为选项时使用

Plan 模式中的安全性

在 Plan 模式中:

  • 需要审批的工具操作(如 write_file、风险 shell 命令)会暂停等待你的确认
  • 所有文件写入操作需要确认
  • Shell Gate ApprovalRequired 决策会暂停执行

适用场景

  • 功能实现
  • 代码重构
  • 多文件变更
  • 复杂调试

切换模式

操作效果
Shift+Tab在 Plan 和 Bypass 模式间切换

在配置中心或初始化向导中,Shift+Tab 用于切换配置标签或步骤,不切换执行模式。

模式与工具调用

两种模式都支持工具调用,但行为不同:

行为Bypass 模式Plan 模式
模型请求工具执行一次工具批次执行后继续模型调用
工具结果处理返回工具结果摘要将工具结果发回模型继续推理
多轮迭代不支持支持(最多 20 次)
风险操作审批直接执行暂停等待确认

运行时架构

两种模式通过相同的运行时链执行:

用户输入
  → CoreRuntimeManager
  → ProtocolInterface<CoreRuntime>
  → CoreRuntime
  → SessionManager
  → LoopEngine(根据策略执行 Chat 或 Plan 模式)
  → LlmClient + 可选 ToolRegistry