docs: 追加 RC3 scope amendment(HarnessAgent→ReActAgent,全家桶推迟 GA)

据 Task 0 探针实测 RC3 的 findings:RC3 无 HarnessAgent,v2 能力在 ReActAgent.builder();
范围缩减为 RC3 核心(state/middleware/permission/skill/streamEvents/taskList/interrupt),
workspace/sandbox/compaction/plan-mode/subagent/self-learning 推迟 GA;自建工具恢复+接 permission。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
everywhere.z 2026-06-19 22:55:28 +08:00
parent 2d3bace328
commit 70d7bbadc4
1 changed files with 21 additions and 0 deletions

View File

@ -10,6 +10,27 @@
**参考 spec** `docs/superpowers/specs/2026-06-19-agentscope-v2-migration-design.md`
> ## ⚠️ RC3 Scope Amendment2026-06-19优先级高于本文档其余部分的冲突处
>
> Task 0 探针实测 `agentscope 2.0.0-RC3` 后两项关键修正(详见 `docs/superpowers/specs/v2-api-findings.md`**该笔记是所有 v2 API 签名的唯一权威,与本计划冲突处以笔记为准**
>
> 1. **R0RC3 没有 `HarnessAgent`**。核心 agent 仍是 `io.agentscope.core.ReActAgent`v2 能力直接在 `ReActAgent.builder()` 上。本计划**所有** `HarnessAgent.builder()``ReActAgent.builder()``HarnessAgentFactory` → `ReactAgentFactory`(或类名沿用 `HarnessAgentFactory` 但内部构建 `ReActAgent`,类型改 `ReActAgent`)。
> 2. **范围缩减为"RC3 核心迁移",全家桶推迟到 GA**
> - **本迁移做RC3 可达)**:无状态 `ReActAgent` + `AgentStateStore`(NONE/JVM/LOCAL_FILE/REDIS/MYSQL/OSS) + `RuntimeContext(userId,sessionId)` 自动 load/save + interruptHook→MiddlewarePermission命令级 allow/deny/ask原生skillRepository替代 SkillBoxstreamEventsenableTaskList。
> - **推迟到 GA follow-upRC3 不可达)**workspace/filesystem(Local/Docker/E2B/Remote)/sandbox/distributedStorecompaction两层 `MEMORY.md`plan-modesubagentself-learning skill。
>
> **受影响任务的具体覆盖:**
> - **Task 2.2**:构建并缓存 `ReActAgent` 单例(非 HarnessAgent不设 `.filesystem()/.workspace()/.compaction()/.memory(MemoryConfig)`RC3 无);用 `.stateStore()/.middleware()/.permissionContext()/.skillRepository()/.skillWorkDir()/.maxRetries()/.fallbackModel()`
> - **Task 2.3**`process()` 走 `ReActAgent.call(List<Msg>, RuntimeContext)``UserMessage`RuntimeContext(userId=conversationId, sessionId=agentKey)。
> - **Task 3.2(修订)****恢复** Task 0 删除的自建 `WorkspaceFileTools`/`ManagedShellCommandTool`(它们用 `@Tool/@ToolParam`RC3 兼容RC3 无 HarnessAgent 内置工具可替代);保留并经 `toolkit.registerTool(...)` 注册;把 `ShellConfig`(whitelist/blacklist/disabled) 映射到 `PermissionContextState`R6 命令级规则原生。filesystem/sandbox 推迟 GA。**新增子任务:修复引用已删类的 sibling feature 测试**`ShellToolsAgentCmp`/`WorkspaceToolsAgentCmp`/`SkillsAgentCmp` 等),使 `liteflow-testcase-el-react-agent` 模块 test-compile 通过。
> - **Task 4.1**`skillRepository(...)` + `skillWorkDir(Path)` + `skillFilter` + `dynamicSkillsEnabled`RC3 可达workspace skills 走 skillRepositoryself-learning 推迟 GA。
> - **Task 5.1**`MiddlewareBase``onModelCall` 从 `ModelCallEndEvent.getUsage()` 累加 ChatUsage见 R5`Hook``.hook()/.hooks()` 桥接RC3 软弃用可编译)。
> - **Task 6.1**`ReActAgent.streamEvents(List<Msg>|Msg [, RuntimeContext])` → `Flux<AgentEvent>`EventType 仍在deprecated可作 fallback。`AgentEventType``TEXT_BLOCK_*`→`agent.reasoning`、`TOOL_RESULT_*`→`agent.tool_result`、`AGENT_RESULT`→`agent.result`、`MODEL_CALL_*` 等按需。
> - **Task 7.1(缩减)**:仅 `enableTaskList` + `interrupt(userId,sessionId)`RC3 可达compaction/memory/plan-mode/subagent/sandbox/self-learning **全部推迟 GA**,本任务改为"接入 taskList + interrupt + 预留 GA 扩展点"。
>
> **R4各 vendor builder 方法名分歧,影响 Task 9 / vendor Spec 重写)**OpenAI 用 `stream`+`generateOptions`**Gemini 用 `streamEnabled`****Anthropic/Gemini/DashScope 用 `defaultOptions`**(非 generateOptions
> **R1NONE 语义)**`MemoryStorageMode.NONE` = `ReActAgent.builder()` **不调 `.stateStore(...)`**(字段默认 nullsave/load 全短路)。`AgentStateStoreResolver.resolve()` 对 NONE 返回 `null`,调用方 `builder.stateStore(null)` 即等价 NONE不要造 NoOp 类。
## Global Constraints
- 目标 agentscope 版本:`2.0.x`(在根 `pom.xml``<agentscope.version>2.0.x</agentscope.version>`,具体 patch 取已发布最新)。