diff --git a/docs/roadmap.md b/docs/roadmap.md index 0254d17..d4717f4 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -168,6 +168,7 @@ graph BT > 以下功能在已完成的 phase 中已实现基础能力或在 Phase 4 阶段明确了边界,后续可按维度增量扩展。 > 设计参考:见 `docs/note-agent-harness-references.md`(OpenClaw / Hermes / OpenHuman / OpenHarness 横向对比)。 +> OpenCode 借鉴:见 `docs/note-opencode-agent-switching.md`(Agent 切换 + System Prompt 拼接机制)。 ### 已有扩展项(沿用) @@ -225,6 +226,13 @@ graph BT |-------|---------|------|--------|------| | 流式 `submit_turn` | `agent/session` | Phase 4 v1 只暴露非流式 `submit_turn()`;v0.2 包装 `LlmCycle::submit_stream` 暴露流式入口 | P2 | v0.2 待评估 | +#### Agent 切换 / Prompt 动态(OpenCode 借鉴) + +| 扩展项 | 所在模块 | 说明 | 优先级 | 状态 | +|-------|---------|------|--------|------| +| Agent 身份切换(角色轮换) | `agent` | 借鉴 OpenCode Tab 键切换 build/plan:同一 `AgentSession` 持有可热替换的 `Agent` 引用,切换时不重置消息历史,在末尾追加 `synthetic: true` 的状态变更消息。详见 `docs/note-opencode-agent-switching.md` §4 | P2 | v0.2 待评估 | +| System Prompt 多层动态拼接 | `agent/session` | 借鉴 OpenCode `request.ts:58-66`:拆分 `base_prompt + agent_prompt + env_context` 三层,`AgentSession::submit_turn` 每轮重算(不缓存),便于按 agent 类型动态切换 | P2 | v0.2 待评估 | + --- ## 风险与建议