sgclaw: move runtime policy into config

This commit is contained in:
zyl
2026-03-29 22:38:20 +08:00
parent 54049a1e1e
commit 7d9036b2d4
9 changed files with 1095 additions and 93 deletions

View File

@@ -32,7 +32,7 @@ log_entry / task_complete
当前代码与上述目标之间仍有过渡态偏差:
- 浏览器是当前唯一成熟的特权工具面。
- `planner fallback` 与 browser-first `compat runtime` 仍然并存
- `planner/runtime` 旧链路仍保留在仓库中,但已收敛为 `legacy/dev-only` 辅助模块
- `zeroclaw` 已 vendored但运行时还没有完全按 zeroclaw-first 方式释放能力。
因此 L3 既要说明目标数据流,也要明确指出当前代码仍处于过渡收口阶段。
@@ -62,16 +62,17 @@ Rust 侧在 [`src/agent/mod.rs`](/home/zyl/projects/sgClaw/claw/src/agent/mod.rs
### 2.3 当前执行路径选择(过渡态)
#### 路径 Aplanner fallback
#### 路径 Alegacy planner/runtime非生产 submit 主链)
条件:没有可用的 `DEEPSEEK_*` 环境配置。
行为:使用仓库内置 planner 直接产生若干步骤,并逐个调用 `BrowserPipeTool`
条件:仅用于 dev/test 验证或保留回归覆盖。
行为:使用仓库内置 planner 或轻量 runtime 直接产生若干步骤,并逐个调用 `BrowserPipeTool`
特点:
- 依赖更少。
- 逻辑可预测。
- 适合协议联调和最小功能验证。
- 不再承接生产浏览器 submit 流量。
#### 路径 BZeroClaw compat runtime
@@ -126,6 +127,7 @@ Rust 侧在 [`src/agent/mod.rs`](/home/zyl/projects/sgClaw/claw/src/agent/mod.rs
典型内容:
- 当前准备执行的动作。
- `planner_mode=zeroclaw_plan_first` 时由 sgClaw 先发出的计划预览。
- compat runtime 中转译出的事件摘要。
- 执行中的信息性提示。
@@ -181,13 +183,23 @@ Rust 侧在 [`src/agent/mod.rs`](/home/zyl/projects/sgClaw/claw/src/agent/mod.rs
### 6.1 配置
当前真正参与执行的关键配置来自 [`src/config/settings.rs`](/home/zyl/projects/sgClaw/claw/src/config/settings.rs)
当前真正参与执行的关键配置来自 [`src/config/settings.rs`](/home/zyl/projects/sgClaw/claw/src/config/settings.rs)。它已经不再只是单一 `DEEPSEEK_*` shim而是开始承载 sgClaw 自己的运行时策略
- `DEEPSEEK_API_KEY`
- `DEEPSEEK_BASE_URL`
- `DEEPSEEK_MODEL`
- `providers` / `active_provider`
- `planner_mode`
- `browser_backend`
- `office_backend`
- `skills_prompt_mode`
- `runtime_profile`
这些配置当前决定是否启用 compat runtime以及模型请求如何路由。长期看它们应收敛为 zeroclaw-first 的 sgClaw runtime 配置,而不是永远停留在 DeepSeek shim。
当前默认语义是:
- `providers` 为空时,仍兼容旧的 `apiKey/baseUrl/model` DeepSeek 单模型配置。
- `planner_mode=zeroclaw_plan_first` 时,由 sgClaw 在真实执行前先向宿主发送可展示的计划预览,前端只负责渲染。
- `browser_backend=superrpa` 时,浏览器高权限动作仍以宿主 pipe 为边界sgClaw 只决定运行时策略,不把特权上移到前端。
- `office_backend=openxml` 时,导出类任务仍由 sgClaw 运行时选择实际导出工具。
这部分配置的目标很明确让模型切换、planner 策略和运行时 backend 选择回到 sgClaw 自己,而不是继续散落在 SuperRPA 编译期常量或前端逻辑里。
### 6.2 记忆