feat(memory): P1 长期记忆升级 —— 异步攒批 Consolidate + 软删 + importance/last_seen #1

Merged
Blizzard merged 181 commits from feat/wails3 into main 2026-07-17 01:12:32 +00:00
Showing only changes of commit 4d867ce460 - Show all commits
+156 -384
View File
@@ -1,414 +1,186 @@
# sundynix-agentix · 项目分析报告
> 分析时间2026-06-24 · 基于本地 **dev 工作树**(非 main)· ~19,500 行源代码
> 撰写2026-06-24 · 由 Opus 4.8 在**全程参与搭建**后基于实测与源码盘点撰写(覆盖旧版自动分析)。
>
> ⚠️ **范围说明**:本文描述的 HITL 审批、6 个新 agent 工具(web_search/web_fetch/calculator/
> current_datetime/sql_query/chart)、API Key 线缆加密、任务/工具并发等,截至分析时**仅在 dev 分支、
> 尚未推送合并到 main**。"main 已具备"的表述不成立——这些是 dev 上的未推送提交。
>
> ⚠️ **评价口径**:下文对标主流项目时,多数为**「功能是否存在」**的勾选,**不代表成熟度/规模验证/
> 可靠性对等**。本项目绝大多数能力为单人新作、未经外部审计、未经真实流量与规模验证;与 Dify 等
> 拥有数万生产用户、长期打磨的项目相比,"有同名功能"≠"同等可靠"。请据此打折阅读自评分。
> **立场**:本报告刻意避免营销腔。功能层面据实盘点;价值层面对"功能存在"与"成熟/被验证"严格区分。
> 本项目绝大多数能力为**单人新作、未经外部审计、未经真实流量与规模长稳验证**——请据此理解所有评分。
---
## 一、项目概况
## 〇、一句话定位
sundynix-agentix 是一个**分层式 AI Agent 平台**,采用 **5 层架构 + NATS 零拷贝消息总线**
遵循 **Monolith First → Microservices (Morph B)** 演进策略。
**一个功能密度极高、架构品味很好的单人「准生产原型」。** 编排深度、安全覆盖面、可观测性在同类
开源项目里都属上乘;但离"生产可用"的差距不只在生态/商业化,更在**高可用、规模验证、灾备、审计**
这些运维硬门槛——这些目前基本是空白。
### 代码规模
---
| 维度 | 数据 |
|------|------|
| **总代码行数** | **~19,453 行** (不含依赖 / 生成文件) |
| Go 后端 | 12,916 行(含 2,397 行测试) |
| TypeScript/TSX 前端 | 5,834 行(桌面端 4,628 + 运维台 1,181 |
| Python MCP 工具 | 641 行 |
| Git 提交数 | **117 次** |
| 源文件数 | ~160 个 |
| Go 模块 | 5 个(gateway / dispatcher / mcp-go / shared / desktop |
| 前端应用 | 2 个(桌面端 + 运维控制台) |
| 测试文件 | **32 个**Go 22 + TS/TSX 5 + Python 1 + setup 1 + CI 3 |
| 测试代码 | **~2,776 行** |
| CI/CD | **2 条 GitHub Actions**CI + Release |
## 一、真实数据(本次实测)
### 各模块代码分布
| 模块 | 行数 | 职责 |
| 维度 | 数据 | 备注 |
|------|------|------|
| sundynix-dispatcher | 4,222 | Eino 图编排 + compose 编译器 + ReAct 智能体 + 熔断 + 评测 |
| sundynix-mcp-go | 3,872 | MCP 工具网关 · 混合检索 · 语义切块 · Agent 工具集 · Word 渲染 |
| sundynix-gateway | 3,121 | Gin 接入层 · DSL · 鉴权 · 护栏 · 可观测 · SSE 断点续传 |
| sundynix-shared | 1,561 | 任务契约 · NATS bus · OTel 链路 · AES 加密 · slog trace |
| desktop frontend | 4,628 | React 19 + React Flow 编排 · 知识库 · 图表 · 更新检查 |
| sundynix-admin | 1,181 | 运维控制台 · 模型 / 数据源 / 计价 / 服务状态 |
| sundynix-mcp-py | 641 | 代码解释器 · Docker 沙箱 · AST 守卫 |
| 源码总量 | **~19,200 行**(不含依赖/生成) | 实测 |
| Go 后端 | 12,776 行(含测试 ~2,397 | gateway 3121 / dispatcher 4222 / mcp-go 3872 / shared 1561 |
| 前端 TS/TSX | 5,809 行 | 桌面端 4,62847 文件)+ 运维台 1,18113 文件) |
| Python 工具 | 456 行 | mcp-py |
| 测试文件 | **32**Go 26 + 前端 5 + Py 1 | |
| 代码模块 | Go 4 工作区模块 + desktop(Wails) + 2 前端 + mcp-py | |
| 提交数 | dev 119 | dev 比 origin/dev 多 4 未推;origin/main 基本同步(差 1 文档提交) |
| 关键依赖 | Eino v0.9.9 · OTel v1.44 · nats.go v1.37 · gorm v1.31 · milvus-sdk v2.4.1 | |
| 基础设施 | docker-compose 8 服务 | nats/pg/redis/jaeger/neo4j/milvus(+etcd+minio) |
> 订正旧报告两处不实:① 旧版称"基于 main 117 提交",实为 dev;② 之前我多次口头说的"14 个未推送
> commit"是**错的**——实测 dev 仅比 origin/dev 多 4origin/main 已基本同步。
---
## 二、优势分析
## 二、架构与请求生命周期
### 🟢 1. 架构设计 — 清晰、品味好(但未经规模验证)
- **5 层解耦**Client → Gateway → NATS Bus → Dispatcher → MCP Tools,每层可独立替换 / 水平扩展(机制具备;多副本水平扩仅本地验证,未上真实集群)
- **NATS 零拷贝总线**JetStream 持久化 + Queue 负载均衡 + Request-Reply 同步调用,选型合理
- **Monolith First 策略**:先跑通闭环,微服务按需渐进
- **Go 后端**:算法层(OCR / 沙箱)用 Python。注意:本平台性能天花板在**外部 LLM 推理**,不在语言运行时——"Go 避免 GIL"不是这里的关键卖点
- **OpenTelemetry 全链路追踪**:跨 NATS 传播 W3C traceparentJaeger 可视化
- ⚠️ **架构成熟度短板**:网关 / 调度 / NATS 均为**单点**,无 HA / 集群 / 故障转移;无备份与灾备方案
### 🟢 2. 编排引擎 — 双轨制 + ReAct 智能体
项目在编排层做了 **Eino 深度集成**Phase A → B → C → D),达到了极高的完成度:
| 阶段 | 内容 | 状态 |
|------|------|------|
| Phase A | LLM Pool 内部换成 Eino ChatModel | ✅ |
| Phase B | ReAct 智能体 + MCP 工具自主调用 | ✅ |
| Phase C | DSL → compose.Graph 编译器(DAG 并行调度) | ✅ |
| Phase D | 任务生命周期状态机 + 人工审批中断 | ✅ |
- **自研 graph.go + compose.Graph 双轨**:灰度开关切换,compose 编译失败自动降级回自研(安全网)
- **ReAct 智能体**:模型自主决定调哪些 MCP 工具,list_tools 自描述 + 动态发现,新增工具零改动
- **人工审批节点(HITL)**:审批节点暂停 → 批准续跑 / 拒绝中止,状态轮询兜底
- **编排式多智能体接力**:上游 agent 产出沿图传给下游 agent
- **branch 精确选路 + map 有界并发 fan-out + aggregate 汇聚**
### 🟢 3. 安全治理 — 纵深防御覆盖面广(自述,未审计)
项目突出的亮点之一,**纵深防御多层 + 加密闭环**。但须强调:以下均为**自实现、未经外部安全审计 / 渗透测试**,"覆盖面广"不等于"已验证安全"
| 治理项 | 实现 | 特色 |
|--------|------|------|
| 输入护栏 | 正则拦截中英文注入 + 超大体限制 | 纯逻辑解耦 + 单测 |
| 输出护栏 | 流式逐片脱敏 sk-/AKIA/JWT/Bearer | 流式 token 不可回收,故逐片处理 |
| 熔断降级 | 真三态 Closed/Open/HalfOpen 状态机 | `-race` 并发安全 + 熔断时不静默丢弃 |
| LLM 评测 | 规则检查 + LLM-as-judge | 异步 off 热路径评分 |
| 代码沙箱 | Docker 隔离 + AST 静态守卫 | 禁网 / 非root / 丢能力 / 只读根 / tmpfs / 限资源 / 超时kill |
| SSRF 防护 | 主机白名单 + 超时 / 限重定向 / 限体 | 覆盖 external_api + web_fetch |
| **API Key 端到端加密** | **AES-256-GCM,磁盘 + NATS 线缆均密文** | SHA-256 派生密钥,`enc:1:` 版本前缀,历史明文平滑迁移 |
| JWT 鉴权 | 注册 / 登录 / 校验 / RequireAuth + Admin 白名单 | 生产密钥 fail-fast |
| SQL 查询安全 | 只读事务 + SELECT/WITH 静态校验 + 行数限制 | 三重防护 |
> 就**功能覆盖面**而言,这套治理栈比多数同类开源项目(Dify / FastGPT / Langflow / Flowise)更齐全;
> 但成熟项目的安全更多体现在长期修复、社区审计与真实攻防中——本项目尚未经历这些,覆盖广 ≠ 更安全。
### 🟢 4. 知识库 — 三路混合检索 + 语义切块
- **Milvus 向量 + Bleve 全文 + Neo4j 图谱 → RRF 融合 → 可选 Rerank**
- **语义切块已升级**:Markdown 标题感知(块带章节面包屑、不跨章节、跳过代码围栏)
+ 递归句界切块 + 块间 overlap80 rune+ 碎块合并 + rune 安全(杜绝 UTF-8 切碎)
- 入库可视化:切块 → 向量化 → 三元组抽取 → 实时进度回流
- Obsidian 式文库:`[[双链]]` + 反链 + 力导向关系图
### 🟢 5. Agent 工具集 — 动态化 + 丰富
MCP 工具经 NATS list_tools 自描述,新增工具零改动(无硬编码):
| 工具 | 类型 | 说明 |
|------|------|------|
| kb_search / kb_ingest / kb_graph | Go | 知识库检索 / 入库 / 图谱查询 |
| memory_get / memory_upsert / memory_list / memory_delete | Go | 长期记忆 CRUD |
| history_get / history_append | Go | 会话历史 |
| report_render / report_store / report_export | Go | 报告生成全链路 |
| external_api | Go | 通用出站 HTTPSSRF 防护) |
| **web_search** | Go | **联网搜索**Tavily + DuckDuckGo 兜底) |
| **web_fetch** | Go | **网页抓取 + 正文提取** |
| **calculator** | Go | **安全表达式求值**(调度场算法 → RPN |
| **current_datetime** | Go | **当前日期时间**LLM 不知道"现在" |
| **sql_query** | Go | **只读 SQL 查询**(三重防护) |
| **chart** | Go | **图表工具**JSON spec → 前端 SVG 渲染) |
| code_interpreter | Python | Docker 隔离执行 |
### 🟢 6. 可观测性 — 生产级
- **OpenTelemetry 全链路追踪**OTLP → Jaeger,跨 NATS 总线 W3C traceparent 传播
- **slog 日志带 trace_id**:日志与链路双向互跳
- Prometheus `/metrics`(请求数 / 耗时 / 在途,路由模板低基数标签)
- 结构化 JSON 访问日志 + `X-Request-ID`
- `/healthz` + `/readyz` K8s 标准探针
- SSE Token 流可回放 + 断点续传(Redis Stream
- 前端健康五盏灯 + 节点级实时执行轨迹
### 🟢 7. CI/CD + 发版体系
- **GitHub Actions CI**Go build + vet + test4 模块)/ 前端 tsc / mcp-py 沙箱测试
- **GitHub Actions Release**:打 `vX.Y.Z` 标签 → macOS universal + Windows amd64 桌面端安装包 → 自动发布到 GitHub Releases
- **桌面端自动更新检查**App 启动查 releases/latest,新版弹横幅提示下载
- 完整的 [RELEASE.md](RELEASE.md) 发版清单(版本号对齐 + 验证 + 回滚)
- CI 并发组(同分支新 push 自动取消上次未完成运行,省 CI 时间)
### 🟢 8. 长期记忆 — Generative Agents 级
- P1:异步攒批 Consolidate(每 3 轮 1 次 LLM 对账 → ADD/UPDATE/DELETE/NOOP+ 软删 + importance/last_seen
- P2:读路径 Score(Recency + Importance) 排序 + 衰减 + 截断 top30
- 桌面端记忆面板:可看 / 改 / 删(软删)
- memory_list / memory_delete 工具 + 端点
### 🟢 9. 工程化 — 开发者体验一流
- `make demo` 无 Docker 一键跑全链路(内嵌 NATS)
- docker-compose 7 服务(NATS / PG / Redis / Milvus + etcd + MinIO / Neo4j),clone 后零配置直跑
- 模型配置经 NATS 控制面热更新,运行时无需重启
- 配置拉取后台重试,根治启动竞态
- DB 连接池上限 + LLM 失败暴露为 failed(生产级并发收尾)
- 空答复不落历史 + 发送前过滤空消息(根治会话毒化)
- 工具服务单实例并发(协程化)+ 任务并发消费
- 前端测试(Vitest + RTL5 测试文件)
---
## 三、劣势 / 待改进项
### 🔴 1. 前端测试仍薄
- 已有 5 个前端测试文件(UpdateBanner / dsl / run / version / chartspec),比之前的零测试进步很大
- 但 KbView.tsx (~32K) 等核心业务视图仍无测试
- 缺 E2E 测试(Playwright / Cypress
### 🔴 2. MinerU / PaddleOCR 多模态仍为骨架
- `mineru.py` 仅 435 字节,PDF / 图片多模态解析未真实落地
- 对比 Dify 已支持 Unstructured / Jina Reader 等多种解析器
### 🔴 3. 本地模型支持缺失
- LLM Pool 仅对接 OpenAI 兼容在线 API,架构图设计的 vLLM / Ollama 未实现
- 缺模型路由(按延迟 / 成本 / 能力自动选型)、无多模型 fallback
### 🔴 4. 计量计费未闭环
- 计价配置已完成(按模型 · 分输入/输出单价 + 币种),但计量×单价折算 + 配额未落地
### 🔴 5. 缺多租户 / 团队协作
- 当前按 `owner` 做基础数据隔离,无团队 / 组织概念
- 无 Agent 编排共享、知识库权限分级
### 🔴 6. 前端大文件需拆分
- KbView.tsx ~32K / ~900 行,杂糅入库、文库、检索、图谱等多个子功能
### 🔴 7. 高可用与运维成熟度缺位(生产硬门槛)
- **无 HA / 单点故障**:网关、调度、NATS 均单实例;任一挂掉即中断。无集群、无故障转移、无自愈
- **规模未经真实验证**:并发能力(任务消费 + 工具协程化)为近期补齐,仅本地小规模验证;真实负载曲线、长稳测试、容量上限均未实测
- **无备份 / 迁移 / 灾备**PG / Milvus / Neo4j 数据无备份与恢复方案
- **无按用户配额 / 限流分级**:仅有按 IP 的全局限流
### 🔴 8. 可靠性细节缺口
- **exec 执行轨迹事件会丢**:轨迹流走实时 NATS(无回放),晚连 / 重连丢事件(审批已用状态轮询兜底,轨迹本身未根治)
- **推理模型未适配**:主力模型为推理型(答案在 `reasoning_content`),平台只读 `content`;思维链未流式呈现,长推理时前端"静默"
- **优雅停机不 drain**:滚动更新 / 重启靠 ctx 取消硬切在途任务,未等其跑完
### 🟡 9. 其他小项
| 项 | 状态 |
|----|------|
| PDF 导出 Wails 真机未验证 | 浏览器 OK,桌面端待验 |
| 代码签名(macOS 公证 / Windows | 未做,RELEASE.md 已标注 |
| K8s Helm Chart | 未做(有 Docker Compose |
| PROGRESS.md 更新日期 | 仍停在 6-19,部分新功能未勾选 |
| i18n 国际化 | 仅中文 |
---
## 四、与主流开源项目对比
### 对比项目简介
| 项目 | Stars | 技术栈 | 定位 |
|------|-------|--------|------|
| **Dify** | ~60K+ | Python + React | LLM 应用开发平台,workflow + chatbot + agent |
| **FastGPT** | ~20K+ | Node.js (Next.js) | 知识库问答系统,workflow 编排 |
| **Langflow** | ~45K+ | Python (FastAPI) + React | DataStax 支持的可视化 AI 应用构建 |
| **Flowise** | ~35K+ | Node.js + React | 拖拽式 LLM 流程构建器 |
| **AutoGen (AG2)** | ~40K+ | Python | 微软多 Agent 对话框架 |
| **sundynix-agentix** | 个人项目 | Go + React + Python | 分层式 AI Agent 平台 |
### 功能矩阵
> ⚠️ **读法**:✅/❌ 仅表示**功能是否存在**,不含成熟度、规模、生态权重。矩阵天然利好新项目
> (可挑竞品"缺"的新特性打钩,而竞品的可靠性 / 生态 / 被验证程度无法用勾选体现)。
> 另:**AutoGen(专门的多 Agent 框架)未纳入下表**——若纳入,"多智能体"维度它更强。部分竞品的 ❌
> 是"内置无 / 实现方式不同",非"完全做不到"(如 Dify 有插件市场与工作流多 Agent)。
| 功能维度 | sundynix | Dify | FastGPT | Langflow | Flowise |
|----------|:--------:|:----:|:-------:|:--------:|:-------:|
| **编排** | | | | | |
| 可视化画布编排 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 图执行引擎 | ✅ 双轨 (自研+compose) | ✅ DAG | ✅ DAG | ✅ DAG | ✅ DAG |
| 分支/条件节点 | ✅ 条件表达式求值 | ✅ | ✅ | ✅ | ✅ |
| 并行 (map/fan-out) | ✅ 有界并发 | ✅ | ❌ | ✅ | ❌ |
| **ReAct 智能体** | **✅ MCP 动态发现** | ✅ | ✅ | ✅ | ❌ |
| 多智能体接力 | ✅ 图接力 | 🟡 工作流 | ❌ | ✅ | ❌ |(注:AutoGen 为专门多 Agent 框架,强于本项目)
| 人工审批 (HITL) | **✅** | ✅ | ❌ | ❌ | ❌ |
| 循环/迭代 | ❌ | ✅ | ✅ | ✅ | ❌ |
| **知识库 / RAG** | | | | | |
| 向量检索 | ✅ Milvus | ✅ 多选 | ✅ PgVector | ✅ 多选 | ✅ 多选 |
| 全文检索 | ✅ Bleve | ✅ | ✅ | ❌ | ❌ |
| **知识图谱检索** | **✅ Neo4j GraphRAG** | ❌ | ❌ | ❌ | ❌ |
| 三路 RRF 融合 | **✅** | ❌ (双路) | ❌ (双路) | ❌ | ❌ |
| Rerank | ✅ | ✅ | ✅ | ❌ | ❌ |
| **语义切块 (标题感知)** | **✅ Markdown 章节面包屑** | ✅ 多策略 | ✅ 多策略 | ✅ | ✅ |
| Obsidian 式双链文库 | **✅ 独有** | ❌ | ❌ | ❌ | ❌ |
| 入库可视化进度 | **✅** | ❌ | ❌ | ❌ | ❌ |
| **Agent 工具** | | | | | |
| 联网搜索 | ✅ Tavily + DDG | ✅ SerpAPI | ✅ | ✅ | ✅ |
| 网页抓取 | ✅ | ✅ Jina | ❌ | ✅ | ✅ |
| 计算器 | ✅ 调度场算法 | ✅ | ❌ | ✅ | ❌ |
| SQL 查询 | **✅ 三重防护** | ❌ | ❌ | ✅ | ❌ |
| **图表工具** | **✅ JSON spec + 前端 SVG** | ❌ | ❌ | ❌ | ❌ |
| 代码解释器 | ✅ Docker 沙箱 | ✅ Docker | ❌ | ❌ | ❌ |
| **工具动态发现** | ✅ list_tools 自描述 | 🟡 插件市场(机制不同) | ❌ | 🟡 | 🟡 |
| **安全与治理** | | | | | |
| 输入护栏 | ✅ | 🟡 基础 | ❌ | ❌ | ❌ |
| 输出护栏 (流式脱敏) | **✅** | ❌ | ❌ | ❌ | ❌ |
| 熔断降级 | **✅ 三态状态机** | ❌ | ❌ | ❌ | ❌ |
| LLM 自动化评测 | **✅** | ❌ | ❌ | ❌ | ❌ |
| **API Key 加密存储** | **✅ AES-256-GCM** | ❌ 明文/环境变量 | ❌ | ❌ | ❌ |
| 代码沙箱 | ✅ Docker + AST | ✅ Docker | ❌ | ❌ | ❌ |
| SSRF 防护 | ✅ | ✅ | ❌ | ❌ | ❌ |
| SQL 注入防护 | **✅ 只读事务 + 静态校验** | N/A | N/A | N/A | N/A |
| **可观测性** | | | | | |
| **OpenTelemetry 链路追踪** | **✅ Jaeger + 跨 NATS** | ✅ | ❌ | ❌ | ❌ |
| slog + trace_id | **✅** | ❌ | ❌ | ❌ | ❌ |
| Prometheus 指标 | ✅ | ✅ | ❌ | ❌ | ❌ |
| SSE 断点续传 | **✅ Redis Stream** | ❌ | ❌ | ❌ | ❌ |
| 健康探针 | ✅ | ✅ | ❌ | ❌ | ❌ |
| **工程 / 部署** | | | | | |
| 消息总线 | **✅ NATS JetStream** | ❌ 直调 | ❌ 直调 | ❌ 直调 | ❌ 直调 |
| **桌面原生客户端** | **✅ Wails** | ❌ 纯 Web | ❌ 纯 Web | ❌ 纯 Web | ❌ 纯 Web |
| **自动更新检查** | **✅ GitHub Release** | N/A | N/A | N/A | N/A |
| CI/CD | **✅ GitHub Actions** | ✅ | ✅ | ✅ | ✅ |
| **Release 自动构建** | **✅ macOS + Windows** | N/A | N/A | N/A | N/A |
| 无 Docker 验证 | **`make demo`** | ❌ | ❌ | ❌ | ❌ |
| 模型热更新 | **✅ NATS 控制面** | ❌ 需重启 | ❌ | ❌ | ❌ |
| **商业化** | | | | | |
| 计费/配额 | 🟡 计价已有 | ✅ 完整 | ✅ | ❌ | ❌ |
| 多租户/团队 | ❌ | ✅ | ✅ | 🟡 | 🟡 |
| 插件市场 | ❌ | ✅ | ✅ | ✅ | ✅ |
---
### vs Dify(最接近的竞品)
| 维度 | sundynix 优势 | Dify 优势 |
|------|--------------|-----------|
| 架构 | NATS 消息总线解耦 · OTel 全链路追踪 | 单体简单直接 |
| 编排 | 双轨引擎 + ReAct + HITL + 多 Agent 接力 | 更多节点类型 + 循环 |
| 检索 | **三路混合 + 图谱 + 标题感知切块** | 双路 + 更多策略 |
| 安全 | **7 层纵深防御 + AES 加密** | 基础安全 |
| 工具 | **SQL 查询 + 图表 + 动态发现** | 数十家内置工具 |
| 客户端 | **原生桌面端 + 自动更新** | 纯 Web |
| 模型 | 热更新 | **数十家提供商 + 本地模型** |
| 生态 | 个人项目 | **60K+ Stars + 大社区** |
| 商业化 | 计价配置 | **完整计费 + 多租户 + API** |
### vs FastGPT
| 维度 | sundynix 优势 | FastGPT 优势 |
|------|--------------|-------------|
| 检索 | **三路混合 + Neo4j 图谱** | 成熟向量+全文 + 多切块策略 |
| 文库 | **双链 + 力导向图** | 传统文件管理 |
| 编排 | ReAct 智能体 + HITL + 多 Agent | 更多模板 |
| 安全 | 7 层纵深 + AES | 较弱 |
| 桌面 | ✅ Wails | ❌ 纯 Web |
| 可观测 | OTel + Prometheus + slog | 基础 |
| 商业化 | 未完成 | **完整计费 + 分享 + 嵌入** |
### vs Langflow / Flowise
| 维度 | sundynix 优势 | 竞品优势 |
|------|--------------|----------|
| 性能 | Go 后端 · NATS 零拷贝 | — |
| 安全 | 7 层纵深 | 几乎无 |
| 可观测 | OTel + Prometheus | 基础日志 |
| 生态 | 自研节点 | **LangChain/LlamaIndex 数百种组件** |
---
### 独有特色功能(竞品不具备)
以下功能在上述对比项目中**均未见到**或**实现远不完整**:
1. **NATS 零拷贝消息总线 + OTel 跨总线链路传播**
2. **API Key 端到端 AES-256-GCM 加密**(磁盘 + 线缆均密文)
3. **Harness 输出护栏(流式逐 token 脱敏)**
4. **Neo4j 知识图谱检索 + 三路 RRF 融合**
5. **Markdown 标题感知切块**(章节面包屑 + 不跨章节 + 跳过代码围栏)
6. **Obsidian 式双链文库**`[[双链]]` + 反链 + 力导向图)
7. **原生桌面端 (Wails) + GitHub Release 自动更新**
8. **模型配置 NATS 热更新**(运行时切换无需重启)
9. **MCP 工具动态发现**list_tools 自描述,新增工具零改动)
10. **SSE Token 流断点续传**Redis Stream 可回放)
11. **SQL 查询三重防护**(静态校验 + 只读事务 + 行数/超时限制)
12. **图表工具**(工具产出 JSON spec,前端 SVG 渲染,职责分离)
13. **`make demo` 无 Docker 全链路验证**
---
## 五、综合评级
5 层 + NATS 总线:
```
Demo/POC ──── MVP ──── ★ 工程原型→准生产 ★ ──── 准生产 ──── 生产
你在这里(功能丰富,运维成熟度未到)
桌面端(Wails)/运维台(Web) ──HTTP──▶ Gateway(Gin)
│ 鉴权·护栏·限流·DSL 解析·SSE 回流
▼ JetStream 发布 task
NATS 总线 ──(W3C traceparent 注入消息头)
▼ 限并发消费
Dispatcher(Eino 图编排)
│ 记忆召回→工具→注入→流式·HITL 审批·熔断·评测
▼ core NATS request-reply(带 trace)
mcp-go / mcp-py(MCP 工具层,队列组水平扩)
```
> 评分按**功能完成度 / 工程品味**给;括号内点出**成熟度 / 验证度**的折扣。两者别混
- **任务流**JetStream 持久化 + 持久消费者 + 限并发 worker 池(`DISPATCHER_CONCURRENCY`,背压由信号量 + `MaxAckPending` 双约束)
- **工具调用**core NATS request-reply,队列组负载均衡;单实例工具已协程化并发。
- **回流**Token 流(Redis Stream 可回放 + 断点续传)与执行轨迹流(实时 NATS)分离。
- **控制面**:模型配置经 NATS 热更新;启动竞态用后台重试根治。
| 维度 | 评分 | 说明(含成熟度折扣) |
这套解耦是真的、跑得通的(本会话端到端验证过多条链路)。**机制层面**支持独立替换/水平扩;
**但水平扩仅本地小规模验证,未上真实集群。**
---
## 三、做得扎实的部分(本会话实测确认)
### 1. 编排引擎(Eino A→D 深度集成)
- 自研 `graph.go` + `compose.Graph` 双轨(灰度开关,compose 编译失败自动降级,安全网真实存在)。
- **ReAct 自主智能体**:模型自主选工具;`list_tools` 自描述 + 动态发现——**加工具零改调度代码**(本会话加 6 个工具,dispatcher 一行没动,自主 agent 直接会用,已实测)。
- **HITL 人工审批**:审批节点暂停→`waiting`→批准续跑/拒绝中止;超时安全默认拒绝;前端轮询持久状态兜底(不依赖易丢的实时事件)。实测批准/拒绝两条路径正常。
- branch 条件选路 + map 有界并发 + aggregate 汇聚 + 多 agent 图接力。
### 2. 安全治理(覆盖面广;自实现、未审计)
- 输入护栏(注入正则 + 体积限制)、**输出护栏(流式逐片脱敏 sk-/AKIA/JWT)**、三态熔断(`-race` 过)、LLM 评测(异步离热路径)。
- 代码沙箱(Docker 隔离 + AST 守卫 + 禁网/非 root/丢能力/只读根/限资源/超时 kill)。
- **API Key 端到端 AES-256-GCM**:磁盘 + NATS 线缆均密文,仅用时内存解密;历史明文平滑迁移(实测密文落库 + 解密打通 DeepSeek)。
- SSRF 防护(external_api/web_fetch)、SQL 只读三重防护、JWT(生产 fail-fast)。
- ⚠️ 价值定性:**覆盖广 ≠ 已验证安全**。无外部审计/渗透;"最强"无依据。
### 3. 知识库 / RAG
- Milvus 向量 + Bleve 全文 + Neo4j 图谱 → RRF 融合 → 可选 rerank。
- **Markdown 标题感知切块**(块带章节面包屑、不跨章节、跳过代码围栏,rune 安全)——实测入库面包屑正确、检索带章节上下文返回。
- Obsidian 式双链文库 + 入库可视化进度。
### 4. Agent 工具集(22 个 Go 注册,10 个 agent 可见 + mcp-py 5 个)
- 知识库/记忆/历史/报告/external_api +(本会话新增并实测)**web_search**Tavily/DDG 兜底)、**web_fetch**、**calculator**(调度场算法)、**current_datetime**、**sql_query**(三重防护)、**chart**(产 JSON spec,前端 SVG 渲染,职责分离)。
### 5. 可观测性
- **OTel 全链路**:跨 NATS 传 traceparentJaeger 一棵 span 树(实测 14 span/3 服务)。
- **slog 带 trace_id**(日志↔链路互跳,实测同一 trace_id 命中);Prometheus;健康探针;SSE 断点续传。
### 6. 性能/并发(本会话补齐 + 实测)
- 任务并发消费 + 工具协程化并发(垂直)× 队列组多副本(水平)。实测:一个 HITL 待审任务不阻塞其他任务;平台自身开销可忽略,瓶颈在外部 LLM。
### 7. 工程化 / CI/CD
- `make demo` 无 Docker 内嵌 NATS 跑全链路;docker-compose 零配置;模型热更新;DB 连接池上限;启动竞态修复。
- GitHub Actions CI4 Go 模块 + 前端 tsc + mcp-py+ Releasetag→macOS/Windows 桌面端构建)+ 桌面端更新检查。
---
## 四、原型级 / 未验证(别当生产能力看)
- **规模未真实验证**:并发是近期才补的,仅本地小规模测过;无长稳、无容量上限实测曲线。
- **compose 引擎仍灰度**(默认走自研 graph.go);compose 路径下 HITL 审批未实现。
- **OCR 多模态是骨架**`parse_document` 真支持 txt/md/csv/docx/xlsx/文本 PDF,但 MinerU/PaddleOCR 扫描件路径是 TODO 空实现(`mineru.py` 极小)。
- **推理模型未适配**:主力 deepseek-v4-pro(及生产 Qwen thinking)答案在 `reasoning_content`,平台只读 `content`;思维链未流式呈现。
- **测试偏单元**:多为小函数单测;核心链路(图执行、RAG 管线)集成/e2e 稀疏;无前端 E2E。
---
## 五、缺失 / 生产硬门槛(最该正视)
| 缺口 | 现状 | 影响 |
|------|------|------|
| **高可用 / 单点** | 网关·调度·NATS 均单实例 | 任一挂即中断;无故障转移/自愈 |
| **备份 / 灾备** | PG/Milvus/Neo4j 无备份恢复方案 | 数据丢失风险 |
| **安全审计** | 全自述,未渗透/未审计 | "纵深防御"未被验证 |
| **配额 / 多租户** | 仅按 IP 全局限流;owner 基础隔离 | 无团队/组织/按用户配额 |
| **可靠性细节** | exec 轨迹流丢事件;停机不 drain | 观测缺口 + 滚更硬切在途任务 |
| **计量计费** | 计价配置有,计量×单价+配额未落地 | 商业化未闭环 |
| **本地模型** | 仅 OpenAI 兼容在线 API | vLLM/Ollama、模型路由/fallback 未做 |
---
## 六、对标主流开源项目(口径:功能存在性,非成熟度)
> **重要**:下表 ✅/❌ 仅表示"功能是否内置存在",**不含成熟度、规模、生态、可靠性权重**。
> 此类矩阵天然利好新项目(可挑竞品没内置的新特性,而竞品的护城河——生态/被验证程度/可靠性——
> 无法用勾选体现)。Dify/Langflow 等的真实优势在这些"勾不出来"的地方。
| 维度 | sundynix | 说明(去掉滤镜) |
|------|:--------:|------|
| 可视化编排 / DAG | ✅ 双轨 | 与主流持平;缺循环/迭代节点 |
| ReAct + 工具动态发现 | ✅ | `list_tools` 自描述是亮点;Dify 用插件市场(机制不同,非"做不到" |
| 人工审批 HITL | ✅ | 有;Dify 也有,FastGPT/Flowise 无 |
| 多智能体 | ✅ 图接力 | **AutoGen 等专门框架更强**,别自比第一 |
| 三路混合检索 + 图谱 | ✅ Neo4j | 较少见的内置组合,是真亮点 |
| 标题感知切块 | ✅ | 主流也有多策略切块,非独有 |
| 输出流式脱敏 / AES 加密 / OTel 跨总线 | ✅ | 内置且齐全,属较稀有组合(成熟度另说) |
| 原生桌面端 (Wails) + 自动更新 | ✅ 独有 | 竞品多纯 Web |
| 生态 / 社区 / 被生产验证 | ❌ | **竞品真正的护城河,本项目空白** |
| 商业化(计费/多租户/插件市场) | 🟡/❌ | 未闭环 |
**结论**:在"内置功能的齐全度"上,本项目确实能和数万 star 项目掰手腕,部分组合更超前;
但**"超越"它们是不成立的**——它们赢在被千万次真实使用打磨出的可靠性、生态与运维成熟度,
这正是单人项目无法靠堆功能追平的。
---
## 七、评级(功能完成度 vs 成熟度分列)
| 维度 | 评分 | 说明(已含成熟度折扣) |
|------|:----:|------|
| 架构设计 | ⭐⭐⭐⭐ | 5 层 + NATS + OTel,设计品味好;单点无 HA、规模未验证 |
| 编排引擎 | ⭐⭐⭐⭐½ | 双轨 + ReAct + HITL + 多 Agent,完成度高;循环/迭代缺、compose 仍灰度 |
| 安全治理 | ⭐⭐⭐⭐ | 纵深覆盖面广;**未经审计/渗透**"最强"无依据 |
| 知识库 / RAG | ⭐⭐⭐⭐ | 三路检索 + 标题切块 + 图谱 + 双链OCR 骨架 |
| Agent 工具集 | ⭐⭐⭐⭐½ | 12 工具 + 动态发现 + SQL/图表,确实丰富 |
| 可观测性 | ⭐⭐⭐⭐ | OTel + Prometheus + slog trace;轨迹流会丢事件 |
| 架构设计 | ⭐⭐⭐⭐ | 解耦清晰、品味好;单点无 HA、规模未验证 |
| 编排引擎 | ⭐⭐⭐⭐½ | 双轨+ReAct+HITL+多 Agent,完成度高;循环、compose 仍灰度 |
| 安全治理 | ⭐⭐⭐⭐ | 覆盖面广;审计/渗透 |
| 知识库 RAG | ⭐⭐⭐⭐ | 三路+图谱+标题切块OCR 骨架 |
| Agent 工具集 | ⭐⭐⭐⭐½ | 丰富 + 动态发现 + SQL/图表 |
| 可观测性 | ⭐⭐⭐⭐ | OTel+Prometheus+slog;轨迹流会丢事件 |
| 性能 / 并发 | ⭐⭐⭐½ | 双扩机制具备;规模未实测 |
| 代码质量 | ⭐⭐⭐⭐ | 注释充足、降级完善;KbView 大文件需拆 |
| 测试覆盖 | ⭐⭐⭐ | 单测面广但多为小函数;核心链路集成/e2e 稀疏 |
| CI/CD | ⭐⭐⭐⭐ | CI + Release 自动构建 + 更新检查;未做签名/公证 |
| 工程化 | ⭐⭐ | Makefile + Compose + 零配置 + 热更新;无 K8s/HA |
| 运维成熟度 | ⭐⭐ | 单点、无备份/灾备、规模未验证、无配额 |
| 生态 / 社区 | ⭐⭐ | 个人项目 |
| 商业化就绪 | ⭐⭐½ | 计价已有,计量 / 配额 / 多租户待做 |
| 测试覆盖 | ⭐⭐⭐ | 单测面广但多为小函数;集成/e2e 稀疏 |
| CI/CD | ⭐⭐⭐⭐ | CI+Release+更新检查;签名公证 |
| 运维成熟度 | ⭐⭐ | 单点、无备份灾备、无配额、规模未验证 |
| 生态 / 商业化 | ⭐⭐ | 个人项目;计费未闭环 |
### **综合:3.6 / 5.0**(单人项目而言相当能打)
> ~19,500 行、5 层架构 + OTel + NATS、Eino 四阶段(ReAct + compose + HITL + 多 Agent)、
> 12 工具动态发现、纵深安全 + AES 加密、三路检索 + 标题切块、桌面端 + CI/CD……
> **功能密度与架构品味在单人项目里非常突出,值得肯定。**
>
> 但要务实:**"超越数万 star 主流项目"是营销话术,不是工程现实。** 那些项目的护城河在
> 生态、可靠性、被大规模真实使用与长期打磨——这些恰是本项目尚未触及的。本项目的真实定位是
> **一个功能极其完整、架构品味很好的单人准生产原型**;离生产的差距不只在"生态和商业化",
> 还在**高可用、规模验证、可靠性、安全审计、运维体系**。
### 综合:**3.7 / 5.0** —— 单人项目里属于「相当能打」,离生产仍有实打实的距离。
---
## 、改进建议优先级
## 、改进优先级
| 优先级 | 项目 | 预估工作量 |
|:------:|------|:---------:|
| P0 | **dev → main:推送合并 14 个未推送提交**(当前 main 落后一大截) | 即时 |
| P0 | **真实负载/长稳压测**,给出容量上限曲线("生产级并发"需数据背书) | 1-2 天 |
| P0 | 本地模型支持 (vLLM/Ollama) + 推理模型 reasoning_content 适配 | 2-3 天 |
| P1 | **高可用**:网关/调度多副本 + NATS 集群 + 健康自愈 | 3-5 天 |
| P1 | **备份/灾备**PG/Milvus/Neo4j 备份与恢复演练 | 2 天 |
| P1 | exec 轨迹流 Redis 回放(根治丢事件)+ 优雅停机 drain | 1-2 天 |
| P1 | 前端 E2E (Playwright) + 核心链路集成测试 | 2-3 天 |
| P1 | 文档解析完善 (MinerU / Unstructured) | 2-3 天 |
| P2 | 计量计费落地 + 按用户配额/限流 | 2-3 天 |
| P2 | KbView.tsx 拆分;循环/迭代节点;代码签名 | 各 1-2 天 |
| P2 | **安全审计 / 渗透测试**(让"纵深防御"从自述变已验证) | 外部 |
| P3 | 多租户 / 团队协作;插件体系;K8s Helm Chart | 3-5 天/项 |
| 优先级 | 项目 | 说明 |
|:------:|------|------|
| P0 | 真实负载 + 长稳压测,给容量曲线 | "生产级并发"需数据背书 |
| P0 | 本地模型(vLLM/Ollama) + 推理模型 reasoning_content 适配 | 对齐生产 Qwen |
| P1 | 高可用:网关/调度多副本 + NATS 集群 + 自愈 | 解单点 |
| P1 | 备份/灾备演练(PG/Milvus/Neo4j | 数据安全 |
| P1 | exec 轨迹 Redis 回放 + 优雅停机 drain | 可靠性 |
| P1 | 核心链路集成测试 + 前端 E2E | 测试纵深 |
| P2 | 计量计费闭环 + 按用户配额;OCR 完善;KbView 拆分;循环节点 | |
| P2 | 安全审计 / 渗透(让"纵深防御"从自述变已验证) | 外部 |
| P3 | 多租户/团队;插件体系;K8s Helm;代码签名 | |
---
*本文档基于本地 dev 工作树源码分析(2026-06-24);由 Opus 4.8 订正:修正 main/dev 范围、
去除"超越数万 star""安全最强"等过誉表述、补齐高可用/规模验证/灾备/审计等运维成熟度短板、
重校评分(4.5 → 3.6)。功能盘点可信,自评分按成熟度折扣阅读。*
*本报告由 Opus 4.8 基于全程搭建经验 + 本次实测撰写;刻意压低自评水分。功能盘点可信,
评分按成熟度折扣阅读。如与旧版(自动分析)冲突,以本版为准。*