GPU_GUARD_MONOREPO/docs/superpowers/plans/2026-04-19-neta-pi-first-platform-plan-suite.md
2026-05-20 21:39:12 +08:00

16 KiB
Raw Permalink Blame History

Neta Pi-First Agent 平台实施计划套件

给自动化实施代理: 必须使用子技能:superpowers:subagent-driven-development(推荐)或 superpowers:executing-plans,按任务逐项实施本计划。步骤使用复选框(- [ ])语法跟踪进度。

目标:Neta Pi-First Agent Platform 重构设计 拆成可独立规划、独立验证、按依赖顺序推进的实施计划套件。

架构: 总体重构拆成 6 个计划运行时内核、会话通信与对话页、subagent 进程隔离、skill/tool/model 资源层、管理后台 UI、平台 UI 设计系统。所有计划共享同一事实源:树状 session entry graph、双 provider、完整流式事件、统一资源模型。

技术栈: NestJS/Midway 后端、TypeORM/MySQL、文件化 JSONL session provider、Vue 3 + Vite + Pinia 前端、WebSocket/Socket.IO、pnpm monorepo、Jest。


范围拆分

总设计文档:

  • docs/superpowers/specs/2026-04-19-neta-pi-first-agent-runtime-design.md

该设计已经覆盖以下独立子系统:

  • Agent 运行时内核
  • 对话工作区
  • Subagent 进程编排器
  • Skill / Tool / Model 资源层
  • 管理后台适配
  • 平台 UI 设计系统

这些子系统不应塞进同一个实施计划。每个子系统都需要单独计划、单独测试、单独提交。

计划 1Agent 运行时内核

计划文件: docs/superpowers/plans/2026-04-19-neta-agent-runtime-kernel.md

目标: 建立树状 session entry graph、SessionTreeProvider 抽象、默认 file provider、MySQL provider 契约,以及 leaf 驱动上下文重建。

负责范围:

  • 后端 session tree 类型
  • file/mysql 双 provider
  • provider 契约测试
  • 上下文构建器
  • entry graph 快照
  • agent 配置中的 session provider 选择

主要后端文件:

  • packages/backend/src/modules/netaclaw/session-tree/types.ts
  • packages/backend/src/modules/netaclaw/session-tree/provider.ts
  • packages/backend/src/modules/netaclaw/session-tree/file_provider.ts
  • packages/backend/src/modules/netaclaw/session-tree/mysql_provider.ts
  • packages/backend/src/modules/netaclaw/session-tree/context_builder.ts
  • packages/backend/src/modules/netaclaw/session-tree/snapshot.ts
  • packages/backend/src/modules/netaclaw/entity/agent_session.ts
  • packages/backend/src/modules/netaclaw/entity/agent_session_entry.ts
  • packages/backend/src/modules/netaclaw/entity/agent.ts

主要测试:

  • packages/backend/src/modules/netaclaw/session-tree/session_tree_provider.contract.spec.ts
  • packages/backend/src/modules/netaclaw/session-tree/context_builder.spec.ts

Pi 参考源码:

  • C:/Users/lixin/Desktop/RZYX_ZT/pi-mono-main/packages/coding-agent/src/core/session-manager.ts
  • C:/Users/lixin/Desktop/RZYX_ZT/pi-mono-main/packages/coding-agent/src/core/compaction/

可直接复用或高强度移植:

  • SessionHeader / SessionEntry union 的结构设计。
  • 单文件 JSONL session 协议。
  • buildSessionContext() 的 leaf-to-root 路径构建、compaction、branch_summary、custom_message、thinking/model setting 处理。
  • branch()resetLeaf()branchWithSummary()createBranchedSession() 的纯逻辑。
  • compaction 的 firstKeptEntryId、split turn、previous summary 合并策略。

不能简化掉的 Pi 语义:

  • 不得把 file provider 改成 session.json + entries.jsonl 双文件。
  • 不得把 tool_call/tool_result 强行拆成独立 entry 而丢掉 Pi AgentMessage 结构。
  • 不得只用 content/summary 字段表示 message必须保留完整 message payload。
  • 不得把 completed entry 当普通数据库记录随意 update。

依赖: 无。

阻塞:

  • 计划 2 的对话协议
  • 计划 3 的 subagent 树节点
  • 计划 4 中与运行时绑定的资源策略
  • 计划 5 的 Agent 会话管理页面

完成定义:

  • file provider 可以创建会话、追加 entry、创建分支、切换 leaf 并构建上下文。
  • mysql provider 暴露完全相同的契约。
  • 契约测试同时覆盖两个 provider。
  • 契约测试覆盖 Pi 核心语义:单文件 JSONL、branch/resetLeaf、branch summary、compaction firstKeptEntryId、label、session_info、thinking/model change。
  • 不实现旧历史数据兼容。

计划 2对话协议与 UI

计划文件: docs/superpowers/plans/2026-04-19-neta-conversation-workspace.md

目标: 将 Agent 对话页改为聊天为主、树为辅的 Conversation Workspace并实现 snapshot + realtime patch + 完整流式通信。

负责范围:

  • session snapshot API
  • realtime patch 协议
  • assistant/tool/subagent 完整流式事件
  • Pinia SessionTreeStore
  • active path 投影
  • 树侧栏
  • 对话子组件重构
  • task planning / Todo / thinking / clarify 运行时组件

主要后端文件:

  • packages/backend/src/modules/netaclaw/gateway/protocol.ts
  • packages/backend/src/modules/netaclaw/gateway/server.ts
  • packages/backend/src/modules/netaclaw/controller/session.ts
  • packages/backend/src/modules/netaclaw/service/chat_orchestrator.ts

主要前端文件:

  • packages/frontend/src/modules/agent/store/session-tree.ts
  • packages/frontend/src/modules/agent/types/session-tree.ts
  • packages/frontend/src/modules/agent/hooks/session-tree-socket.ts
  • packages/frontend/src/modules/agent/views/chat.vue
  • packages/frontend/src/modules/agent/components/conversation/ConversationWorkspace.vue
  • packages/frontend/src/modules/agent/components/conversation/ConversationEntryList.vue
  • packages/frontend/src/modules/agent/components/conversation/StreamingAssistantPanel.vue
  • packages/frontend/src/modules/agent/components/conversation/StreamingToolPanel.vue
  • packages/frontend/src/modules/agent/components/conversation/StreamingSubagentPanel.vue
  • packages/frontend/src/modules/agent/components/conversation/PlanningPanel.vue
  • packages/frontend/src/modules/agent/components/conversation/ThinkingPanel.vue
  • packages/frontend/src/modules/agent/components/conversation/ClarifyPanel.vue
  • packages/frontend/src/modules/agent/components/conversation/ConversationComposer.vue
  • packages/frontend/src/modules/agent/components/session-tree/SessionTreeSidebar.vue
  • packages/frontend/src/modules/agent/components/session-tree/SessionTreeNode.vue

Pi 参考源码:

  • C:/Users/lixin/Desktop/RZYX_ZT/pi-mono-main/packages/web-ui/src/components/AgentInterface.ts
  • C:/Users/lixin/Desktop/RZYX_ZT/pi-mono-main/packages/web-ui/src/components/StreamingMessageContainer.ts
  • C:/Users/lixin/Desktop/RZYX_ZT/pi-mono-main/packages/web-ui/src/ChatPanel.ts
  • C:/Users/lixin/Desktop/RZYX_ZT/pi-mono-main/packages/coding-agent/src/modes/interactive/components/tree-selector.ts

依赖: 计划 1。

阻塞:

  • 计划 3 的 subagent 流式 UI
  • 计划 5 的会话诊断能力
  • 计划 6 的最终视觉统一

完成定义:

  • 对话页不再把线性消息列表作为前端事实源。
  • 首次加载使用 snapshot。
  • 运行时更新使用 patch 事件。
  • Assistant 文本、tool 状态、tool 结果和 subagent 事件可以独立流式更新。
  • 树侧栏可以切换 leaf并从历史 user 节点继续对话。

计划 3子 Agent 进程编排器

计划文件: docs/superpowers/plans/2026-04-19-neta-subagent-process-orchestrator.md

目标: 将 session subagent 从同进程软隔离改为 Pi 风格进程级隔离,并把 subagent run/event/result 映射为正式 session tree 节点。

负责范围:

  • subagent worker 入口
  • 子进程启动与生命周期
  • task envelope schema
  • JSONL 事件解析器
  • run/event 持久化
  • 取消与并发限制
  • subagent batch/result 树节点

主要后端文件:

  • packages/backend/src/modules/netaclaw/subprocess/types.ts
  • packages/backend/src/modules/netaclaw/subprocess/orchestrator.ts
  • packages/backend/src/modules/netaclaw/subprocess/jsonl.ts
  • packages/backend/src/modules/netaclaw/subprocess/worker.ts
  • packages/backend/src/modules/netaclaw/entity/subprocess_run.ts
  • packages/backend/src/modules/netaclaw/entity/subprocess_event.ts
  • packages/backend/src/modules/netaclaw/service/subagent.ts
  • packages/backend/src/modules/netaclaw/tools/builtin/delegate_task.ts
  • packages/backend/src/modules/netaclaw/tools/builtin/delegate_parallel.ts

Pi 参考源码:

  • C:/Users/lixin/Desktop/RZYX_ZT/pi-mono-main/packages/coding-agent/examples/extensions/subagent/index.ts
  • C:/Users/lixin/Desktop/RZYX_ZT/pi-mono-main/packages/coding-agent/examples/extensions/subagent/agents.ts

依赖: 计划 1 与计划 2 的事件协议。

阻塞:

  • 计划 4 的 subagent skill/tool policy 集成
  • 计划 5 的管理后台 subagent 诊断能力

完成定义:

  • 委派任务运行在独立子进程中。
  • 父进程接收 JSONL 事件。
  • 子进程不能直接修改父进程的 session provider。
  • Subagent 事件可以流式推送到前端,并持久化用于回放。

计划 4Skill / Tool / Model 资源层

计划文件: docs/superpowers/plans/2026-04-19-neta-resource-layer.md

目标: 将 skill、tool、model 能力统一为 platform resource并适配主 agent 与 subagent runtime policy。

负责范围:

  • skill resource registry
  • Pi 风格 skill discovery
  • sourceInfo/fingerprint/scope
  • tool catalog 与 runtime policy 分离
  • model capability 元数据
  • runtime policy resolver

主要后端文件:

  • packages/backend/src/modules/netaclaw/resource/types.ts
  • packages/backend/src/modules/netaclaw/resource/skill_discovery.ts
  • packages/backend/src/modules/netaclaw/resource/skill_registry.ts
  • packages/backend/src/modules/netaclaw/resource/tool_policy.ts
  • packages/backend/src/modules/netaclaw/resource/model_capability.ts
  • packages/backend/src/modules/netaclaw/entity/skill_resource.ts
  • packages/backend/src/modules/netaclaw/service/tool_resolver.ts
  • packages/backend/src/modules/netaclaw/service/model_channel.ts
  • packages/backend/src/modules/netaclaw/service/skill_loader.ts

Pi 参考源码:

  • C:/Users/lixin/Desktop/RZYX_ZT/pi-mono-main/packages/coding-agent/src/core/skills.ts
  • C:/Users/lixin/Desktop/RZYX_ZT/pi-mono-main/packages/coding-agent/src/core/source-info.ts
  • C:/Users/lixin/Desktop/RZYX_ZT/pi-mono-main/packages/web-ui/src/tools/renderer-registry.ts

依赖: 计划 1subagent policy 集成依赖计划 3。

阻塞:

  • 计划 5 的 skill/tool/model 管理页面

完成定义:

  • Skill discovery 在命中 SKILL.md 根目录后停止继续递归。
  • 资源记录暴露 source、scope、sourceInfo、fingerprint。
  • Tool 可用性可以分别为主 agent 和 subagent 解析。
  • Model capability 可供运行时和管理后台页面使用。

计划 5管理后台适配

计划文件: docs/superpowers/plans/2026-04-19-neta-admin-console-adaptation.md

目标: 将 skill 管理、tool 管理、agent 管理、agent 会话、模型管理页面适配新平台资源模型,并统一为 Resource Workbench / Agent Structure Canvas 交互。

负责范围:

  • Skill 管理页面
  • Tool 管理页面
  • Agent 管理页面
  • Agent 会话管理页面
  • 模型管理页面
  • Agent Structure Canvas
  • Resource Workbench 交互模式

主要前端文件:

  • packages/frontend/src/modules/agent/views/skills.vue
  • packages/frontend/src/modules/agent/views/tools.vue
  • packages/frontend/src/modules/agent/views/agent-list.vue
  • packages/frontend/src/modules/agent/views/agent-edit.vue
  • packages/frontend/src/modules/agent/views/model-channel.vue
  • packages/frontend/src/modules/agent/components/admin/ResourceWorkbench.vue
  • packages/frontend/src/modules/agent/components/admin/ResourceDetailPanel.vue
  • packages/frontend/src/modules/agent/components/admin/AgentStructureCanvas.vue
  • packages/frontend/src/modules/agent/components/admin/AgentCanvasNode.vue
  • packages/frontend/src/modules/agent/components/admin/AgentCanvasInspector.vue

主要后端文件:

  • packages/backend/src/modules/netaclaw/controller/admin/skill.ts
  • packages/backend/src/modules/netaclaw/controller/admin/tool.ts
  • packages/backend/src/modules/netaclaw/controller/admin/model_channel.ts
  • packages/backend/src/modules/netaclaw/controller/agent.ts
  • packages/backend/src/modules/netaclaw/controller/session.ts

依赖: 计划 1 与计划 4。Agent 会话页面还依赖计划 2。

阻塞: 不直接阻塞其他计划,但平台发布前必须完成。

完成定义:

  • Agent 编辑不再依赖旧的抽屉式复杂配置流程。
  • Agent 管理使用 Agent Structure Canvas 编排 system prompt、model、session provider、memory、tools、skills、subagents。
  • Skill/tool/model/session 页面共享 Resource Workbench 布局和状态语言。
  • 管理后台页面暴露 provider、sourceInfo、runtime status、model capability 和 policy diagnostics。

计划 6平台 UI 设计系统

计划文件: docs/superpowers/plans/2026-04-19-neta-platform-ui-design-system.md

目标: 统一 Agent 平台 UI 视觉语言,形成专业后台型 + 轻科技感的设计系统,并系统治理显示 bug。

负责范围:

  • Conversation Workspace 视觉语言
  • Resource Workbench 视觉语言
  • Agent Structure Canvas 视觉语言
  • 运行时状态 token
  • 流式状态 token
  • 空状态、加载态、错误态、重试态、取消态
  • 显示问题审计与清理

主要前端文件:

  • packages/frontend/src/modules/agent/styles/platform-ui.scss
  • packages/frontend/src/modules/agent/components/ui/RuntimeBadge.vue
  • packages/frontend/src/modules/agent/components/ui/StatusPill.vue
  • packages/frontend/src/modules/agent/components/ui/MetricStrip.vue
  • packages/frontend/src/modules/agent/components/ui/EmptyState.vue
  • packages/frontend/src/modules/agent/components/ui/ErrorState.vue
  • packages/frontend/src/modules/agent/components/ui/SectionSurface.vue
  • packages/frontend/src/modules/agent/components/ui/NodeSurface.vue

依赖: 计划 2 与计划 5。

阻塞: 最终发布前的视觉打磨。

完成定义:

  • Agent 相关页面不再像不同产品拼接在一起。
  • 复杂 Agent 编辑移除传统后台抽屉式交互。
  • 运行时子组件共享同一套间距、状态和容器语言。
  • 对话页和管理页的已知显示问题要么修复,要么记录为明确的后续任务。

执行顺序

  • 步骤 1创建第 1 份详细计划

写入 docs/superpowers/plans/2026-04-19-neta-agent-runtime-kernel.md

预期内容:

  • session tree 类型

  • provider 接口

  • file provider 实现任务

  • MySQL provider 实现任务

  • provider 契约测试

  • context builder 测试

  • agent 配置集成

  • 步骤 2创建第 2 份详细计划

写入 docs/superpowers/plans/2026-04-19-neta-conversation-workspace.md

预期内容:

  • snapshot API 任务

  • websocket patch 协议任务

  • streaming event 任务

  • 前端 session tree store 任务

  • conversation workspace 组件任务

  • tree sidebar 任务

  • runtime child component 任务

  • 步骤 3创建第 3 份详细计划

写入 docs/superpowers/plans/2026-04-19-neta-subagent-process-orchestrator.md

预期内容:

  • worker 入口

  • spawn 生命周期

  • envelope schema

  • JSONL parser

  • run/event 持久化

  • delegate tool 集成

  • 取消与并发测试

  • 步骤 4创建第 4 份详细计划

写入 docs/superpowers/plans/2026-04-19-neta-resource-layer.md

预期内容:

  • skill discovery 与 registry

  • tool policy resolver

  • model capability 元数据

  • runtime resource 绑定

  • subagent policy 集成

  • 步骤 5创建第 5 份详细计划

写入 docs/superpowers/plans/2026-04-19-neta-admin-console-adaptation.md

预期内容:

  • Resource Workbench 外壳

  • Skill 页面适配

  • Tool 页面适配

  • Agent Structure Canvas

  • Agent 会话页面适配

  • 模型页面适配

  • 步骤 6创建第 6 份详细计划

写入 docs/superpowers/plans/2026-04-19-neta-platform-ui-design-system.md

预期内容:

  • 视觉 token
  • 共享 UI 容器
  • runtime status 组件
  • canvas 视觉语言
  • 显示问题审计与修复任务

自检

  • 设计覆盖:平台设计中的每个主要章节都映射到六份详细计划之一。
  • 占位内容检查:本套件文档只定义计划边界和预期内容;详细任务代码放入六份子实施计划。
  • 类型一致性:所有计划统一使用核心术语:SessionTreeProviderentryleafsnapshotproviderResource WorkbenchAgent Structure CanvasConversation Workspace