From 75f8736931af581c9d5b6303cd8c14d9f388dff4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Wed, 10 Jun 2026 08:35:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(docs):=20=E6=B7=BB=E5=8A=A0=20OpenCode=20?= =?UTF-8?q?=E5=80=9F=E9=89=B4=E7=9A=84=20Agent=20=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E4=B8=8E=20Prompt=20=E5=8A=A8=E6=80=81=E6=89=A9=E5=B1=95?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/roadmap.md | 8 ++++++++ 1 file changed, 8 insertions(+) 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 待评估 | + --- ## 风险与建议