chore: fresh-clone 可直接运行审查与修复

确保 git clone 后零配置(除 LLM key)即可跑通后端链路。

- go.work: 移出 sundynix-desktop(Wails,//go:embed frontend/dist 需先 npm build,
  且 main 为桩),避免污染后端工作区构建;保留后端 4 模块
- mcp-py pyproject: 注释未 import 的 mcp/docker 重依赖(对应功能仍为桩),
  fresh pip install 只装实际用到的 nats-py + docx/openpyxl/pypdf,更快更稳
- README: 完整环境改为 fresh-clone 零配置运行指引(infra→4后端→2前端→控制台配模型)
- 审查结论: 无硬编码绝对路径; 各服务 env 默认全对齐 docker-compose; go.sum/
  package-lock 齐全; /tmp clone 实测: 4 后端模块 go build ✓、admin npm ci+build ✓、
  mcp-py 全新 venv 安装+导入 ✓; e2e PASS

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Blizzard
2026-06-11 17:13:55 +08:00
parent 2291f60380
commit 21e5f6620d
11 changed files with 83 additions and 89 deletions
+21 -9
View File
@@ -40,19 +40,31 @@ SSE 客户端: event:token data:已 event:token data:编 ... event:done ←
完整链路:HTTP POST → DSL 解析 → NATS 任务队列 → Dispatcher 消费 → LLM 流式推理
→ Token 经 `sundynix.streams.<id>` 回流 → Gateway SSE → 客户端逐 token 收到。
### 完整环境(Docker
### 完整环境(git clone 后零配置直跑
> 前置:Docker、Go ≥1.24、Node ≥20、Python ≥3.11。各服务默认配置已对齐 docker-compose
> NATS:4222 / PG sundynix\@5432 / Redis:6379 / Milvus:19530 / Neo4j neo4j-sundynix\@7687),
> **clone 后无需改任何配置**即可连上。
```bash
make infra # 启动 NATS / Postgres / Redis / Milvus / Neo4j (docker-compose)
make devnats # 或:无 Docker 时单独起内嵌 JetStream NATS
make gateway # 运行 Gateway
make dispatcher # 运行 Dispatcher
make mcp-go # 运行 Go MCP 工具服务
make mcp-py # 运行 Python MCP 工具服务
make desktop # 开发模式运行桌面端 (wails dev)
make infra # 1) 启动 NATS / Postgres / Redis / Milvus / Neo4j (docker-compose)
make gateway # 2) 各开一个终端运行后端
make dispatcher
make mcp-go
make mcp-py # 首次自动建 venv + 装解析依赖
make web # 3) 桌面端前端 (Vite :5173,首次自动 npm install)
make admin # 运维控制台 (Vite :5174)
```
> Go 多模块用 `go.work` 工作区串联;`sundynix-shared` 通过各服务 go.mod 的 `replace` 指向本地。
4) 打开运维控制台(`:5174`),在「模型 / 数据源」登记并激活:**对话模型(chat)** 与 **Embedding 模型**
(开发期填第三方在线 APIbase_url + api_key + modelOpenAI 兼容)。激活后经 NATS 热更新到各服务。
— 这是唯一需要自己填的配置(API key),其余零配置。
完成后即可在桌面端(`:5173`):编排 Agent 图 → 运行(注入画像/历史,真实流式);
知识库入库(docx/xlsx/pdf) → 三路混合检索(向量+全文+图谱)。
> Go 多模块用 `go.work` 串联后端 4 模块;`sundynix-shared` 经各 go.mod `replace` 指向本地。
> 桌面端 Wails 封装(`make desktop` / `wails dev`)需先 `npm run build` 生成 `frontend/dist`,单独构建。
## NATS Subject 约定