背景
feat/div-anthropic 分支 Phase 5 完成了 @anthropic-ai/sdk 错误层解耦 (commits 93bf783→8a31408,编译后二进制 0 处 SDK 错误类引用)。但 fusion-code 的 package.json 还依赖另外三个 Anthropic/MCP 运行时包,原始 Phase 6 计划提到要为它们评估解耦:
"@anthropic-ai/claude-agent-sdk": "^0.2.87", // print.ts:132 — 纯 import type (编译期擦除)
"@anthropic-ai/sandbox-runtime": "^0.0.44", // 沙箱执行
"@anthropic-ai/mcpb": "^2.1.2", // MCP 插件桥
逐包审计
1. @anthropic-ai/claude-agent-sdk — 仅类型,可立即降级
2. @anthropic-ai/sandbox-runtime — 运行时沙箱
src/utils/sandbox/sandbox-adapter.ts 等引用。
- 需评估: 沙箱执行是否可改用本地原生方案 (如 fusion-cli 的 Rust 沙箱),还是 Anthropic sandbox-runtime 提供不可替代能力。
- 跨仓约束: sandbox-runtime 是上游包,不能改其源码;解耦=找替代或自实现等价层。
3. @anthropic-ai/mcpb — MCP 插件桥
src/utils/plugins/mcpbHandler.ts、src/utils/plugins/mcpPluginIntegration.ts、src/Tool.ts 等多处引用。
- 需评估: mcpb 提供的 MCP 插件打包/分发能力是否可由
@modelcontextprotocol/sdk (已在依赖) 直接覆盖,还是 mcpb 有独有功能。
待办
本 issue 是评估/追踪性质,非立即实现。每个包需单独决策:
关联
背景
feat/div-anthropic分支 Phase 5 完成了@anthropic-ai/sdk错误层解耦 (commits93bf783→8a31408,编译后二进制 0 处 SDK 错误类引用)。但 fusion-code 的package.json还依赖另外三个 Anthropic/MCP 运行时包,原始 Phase 6 计划提到要为它们评估解耦:逐包审计
1.
@anthropic-ai/claude-agent-sdk— 仅类型,可立即降级src/cli/print.ts:132import type { PermissionMode } from "@anthropic-ai/claude-agent-sdk"— 编译期擦除,build 后无运行时引用。src/services/mcp/client.ts:501仅是注释里的 issue 链接,非代码。devDependencies即可,不影响运行时。可与 div-anthropic D2: package.json 移除/降级 SDK 依赖 (受 #63 阻塞) #64 D2 合并处理。2.
@anthropic-ai/sandbox-runtime— 运行时沙箱src/utils/sandbox/sandbox-adapter.ts等引用。3.
@anthropic-ai/mcpb— MCP 插件桥src/utils/plugins/mcpbHandler.ts、src/utils/plugins/mcpPluginIntegration.ts、src/Tool.ts等多处引用。@modelcontextprotocol/sdk(已在依赖) 直接覆盖,还是 mcpb 有独有功能。待办
本 issue 是评估/追踪性质,非立即实现。每个包需单独决策:
claude-agent-sdk: 确认纯类型 → 合并入 div-anthropic D2: package.json 移除/降级 SDK 依赖 (受 #63 阻塞) #64 D2 降级 devDepssandbox-runtime: 评估替代方案或标记为接受的运行时依赖mcpb: 评估能否仅用@modelcontextprotocol/sdk覆盖,或标记为接受关联