Files
sundynix-agentix/PROGRESS.md
T
Blizzard 15606a6570 docs: 新增 PROGRESS.md 进度清单(按架构分层的已做/未做活文档)
对照 architecture.md 5 层 + 功能规划,列出已完成/部分/未实现,复选框形式,
完成一项勾一项,方便记忆与续作。基于当前代码实况(至提交 79f9912)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 14:58:58 +08:00

108 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# sundynix-agentix · 进度清单
对照 [architecture.md](architecture.md)(5 层 + NATS 总线)与功能规划的完成度。**活文档:完成一项就把 `[ ]` 勾成 `[x]`。**
图例:`[x]` 已完成 · `[ ]` 未做 · 🟡 部分/桩(旁注说明)。最近更新:2026-06-17(至提交 `79f9912`)。
---
## 第 1 层 · CLIENTsundynix-desktop
- [x] React 19 + TypeScript + Tailwind 工业级 UI(🟡 自建 UI primitives,未用 shadcn —— 与架构图有偏差)
- [x] React Flow 编排画布 + JSON DSL 导出(含 branch 真/假边手柄)
- [x] Wails 本地 Go 运行时 + TS/Go 强绑定 + 本地文件 I/O(另存为 / 系统打开 / 系统通知)
- [x] 浏览器模式优雅降级(无 Wails 运行时也能跑)
- [x] ⌘K 命令面板
- [x] 运行·观测:节点级实时执行轨迹(SSE)
- [x] 顶栏依赖健康五盏灯
- [x] 知识库:入库可视化(解析→切块→向量化→抽取时间线)
- [x] 知识库:批量文件 / 文件夹入库 + 列表状态
- [x] 知识库:Obsidian 式文库(Markdown 阅读 + `[[双链]]` + 反链 + 笔记关系图)
- [x] 知识库:检索调试台 + 知识图谱(react-force-graph 力导向)
- [x] 报告:Markdown 实时预览 + 导出 Word / PDF / Markdown
- [ ] 🟡 PDF 导出走 webview 打印 —— **Wails 真机未验证**(浏览器预览 OK
## 第 2 层 · BUSINESS GATEWAYsundynix-gateway · Gin
- [x] Gin 统一接入层 + CORS + 限流中间件
- [x] MainDBPgSQL):user / task / model / kb / doc / doc_link / agent
- [x] CacheDBRedis):会话 / 限流
- [x] Task DSL Parser & Assembly
- [x] 模型配置控制面(按 kind 经 NATS 下发给 dispatcher / mcp-go
- [x] 独立运维控制台 sundynix-admin(模型 / 数据源页)
- [x] SSE 回流:Token 流 / 执行轨迹 / 入库进度
- [ ] 🟡 Harness 输入/输出护栏(Guardrail 中间件在,校验是 TODO 桩)
- [ ] 🟡 商业化与计费模块(占位,仅统计任务数)
## 第 3 层 · MESSAGE BUSNATS 零拷贝骨干网)
- [x] 任务队列(JetStream`sundynix.tasks.*`
- [x] Token 流(core NATS`sundynix.streams.<id>`
- [x] 执行轨迹流(`sundynix.exec.<id>`+ 入库进度流
- [x] 工具 request-reply`sundynix.tools.go/py.*`
- [x] 配置控制面(按 kind 请求模型配置 + 热更新广播)
## 第 4 层 · AI AGENT DISPATCHERsundynix-dispatcher · Eino
- [x] 按图执行引擎:拓扑 + 连线 + 分支剪枝(弃用线性拍平)
- [x] branch 真/假边标签精确选路(无标签退回边序,向后兼容)
- [x] map 真并行 fan-out(有界并发)+ aggregate 汇聚
- [x] render 节点(成稿 → docx
- [x] LLM PoolOpenAI 兼容流式(🟡 接 DeepSeek/百炼在线 API,非架构图的 vLLM/Ollama 集群)
- [x] 记忆召回(画像 + 历史注入)
- [x] 报告专用编排(规划 → 分章并行 → 汇聚 → 存源)
- [x] 会话历史写回
- [ ] Harness 熔断降级中心(`CircuitBreaker.Allow()` 恒 true,桩)
- [ ] Harness LLM 自动化评测(桩)
- [ ] 长期偏好记忆抽取(LLM 抽取 → 去重 → memory_upsertTODO
## 第 5 层 · MCP TOOLS
### sundynix-mcp-goI/O 型)
- [x] MCP 协议网关(队列组通配订阅)
- [x] 混合检索:Bleve + Milvus + Neo4jRRF 融合 + rerank
- [x] kb_ingest / kb_search / kb_graph
- [x] memory_get / memory_upsert · history_get / history_append
- [x] report_render / report_store / report_export
- [x] Word 渲染(🟡 自建零依赖 OOXML,非 UniOffice —— 偏差,UniOffice 商业授权)
- [ ] external_api(外部 API 工具)
### sundynix-mcp-py(算法型)
- [ ] 🟡 parse_documentdocx/pdf/xlsx 解析器在;MinerU / PaddleOCR 多模态为骨架)
- [ ] 代码解释器(docker 隔离执行,TODO
- [ ] 安全沙箱(gVisor / KataVM 强隔离 + AST 静态守卫,全为 TODO 桩)
## 跨层 / 工程
- [x] 存储扩展:文库列表/正文分离 + 双链 ID 索引 + 大文件正文存 MinIO
- [x] DB 规约全库统一:雪花字符串 id + created/updated + 软删(gateway 各表 + mcp-go Profile
- [x] 文件主表,文档间关联用雪花 ID(弃用按名关联)
- [x] 后端首批单测(19 纯逻辑用例:引擎/DSL/docx/报告)+ mcp-go 集成测试(Profile 迁移)
- [ ] 🟡 owner 隔离靠 `X-User-ID` 头 —— 可用但**可伪造,无真实鉴权**
- [ ] 集成/前端测试(`runGraph` / `handleReport` 需 mock pool/tools/sink;前端无测试)
---
## 未实现的大块(路线图)
- [ ] **真实登录 / 鉴权 / 会话**(替掉裸 `X-User-ID`,最影响"能否交付他人用")
- [ ] **代码解释器 + 安全沙箱**mcp-py 核心能力,目前全桩)
- [ ] **Harness 三件**:输入/输出护栏 · 熔断降级状态机 · LLM 自动化评测
- [ ] **长期记忆抽取** + external_api 工具
- [ ] **计费 / 商业化**真实实现
- [ ] 微服务化拆分(Morph B)—— 现为 Monolith First**按设计如此,非缺陷**
## 收尾小债
- [ ] 6 个提交待 push`5d76652``79f9912`,需在普通终端 `git push origin main`
- [ ] PDF 导出 Wails 真机验证(不行则回退后端内嵌 CJK 字体出 PDF)
- [ ] 报告生成并发健壮性(writeSections 降并发 / 加单次超时,治偶发卡顿)
- [ ] MinIO 大文档改名/删除的孤儿对象 GC
- [ ] `make test` 目标(一键跑全后端测试)
---
> 本地起服务顺序坑见 memory `local-run-gotchas`**mcp-go 必须在 Milvus 之后起**,否则阻塞在 rag 初始化、不订阅工具,所有 mcp-go 工具 `no responders`。