mirror of https://gitee.com/dromara/liteFlow
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:
parent
2d3bace328
commit
70d7bbadc4
|
|
@ -10,6 +10,27 @@
|
|||
|
||||
**参考 spec:** `docs/superpowers/specs/2026-06-19-agentscope-v2-migration-design.md`
|
||||
|
||||
> ## ⚠️ RC3 Scope Amendment(2026-06-19,优先级高于本文档其余部分的冲突处)
|
||||
>
|
||||
> Task 0 探针实测 `agentscope 2.0.0-RC3` 后两项关键修正(详见 `docs/superpowers/specs/v2-api-findings.md`,**该笔记是所有 v2 API 签名的唯一权威,与本计划冲突处以笔记为准**):
|
||||
>
|
||||
> 1. **R0:RC3 没有 `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 + interrupt;Hook→Middleware;Permission(命令级 allow/deny/ask,原生);skillRepository(替代 SkillBox);streamEvents;enableTaskList。
|
||||
> - **推迟到 GA follow-up(RC3 不可达)**:workspace/filesystem(Local/Docker/E2B/Remote)/sandbox/distributedStore;compaction;两层 `MEMORY.md`;plan-mode;subagent;self-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 走 skillRepository;self-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)。
|
||||
> **R1(NONE 语义)**:`MemoryStorageMode.NONE` = `ReActAgent.builder()` **不调 `.stateStore(...)`**(字段默认 null,save/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 取已发布最新)。
|
||||
|
|
|
|||
Loading…
Reference in New Issue