Go 实现 /api/v1/analysis 契约、Demo/Live Worker、DeerFlow SSE;含设计文档与冒烟脚本。 Co-authored-by: Cursor <cursoragent@cursor.com>
29 lines
1.2 KiB
Markdown
29 lines
1.2 KiB
Markdown
# Go 版与 Java 版对齐说明
|
||
|
||
设计权威:[服务端开发设计要求.md](./服务端开发设计要求.md)(与 Java 仓同步)。
|
||
|
||
## 已对齐
|
||
|
||
- API 路径、状态码、`ApiResponse`、身份头
|
||
- 作业状态机、一开一场、cancel_flag、plan 检查点
|
||
- 人工干预 / resume / inject / patch plan(关干预自动放行)
|
||
- 岗位投影(position_owner 裁气泡)
|
||
- Live:模型校验 → init → 总控派活 → 席位 → 可选卡点 → 收口;失败不当成功
|
||
- Demo 假进度 Worker
|
||
- 环境变量 `EBA_*`;Go 额外 `EBA_DB_DSN`、`ANALYSIS_MODE`、`ANALYSIS_AUTH_ENABLED`
|
||
|
||
## 已知差异 / 注意
|
||
|
||
1. **进程互斥**:勿与 Java 实例同时抢同一 MySQL 的 `queued`(尚未做多实例领取锁)。
|
||
2. **schema 启动**:Go 启动读工作目录 `schema.sql`;部署时保证 cwd 或改绝对路径。
|
||
3. **SSE 细节**:DeerFlow 帧格式若有变,优先对照 Java `DeerFlowClient` 再改本仓 `internal/deerflow`。
|
||
4. **日志**:先 stdout;滚动文件按设计要求 §11 后续加 lumberjack 即可。
|
||
|
||
## 切换建议
|
||
|
||
1. 停 Java 进程
|
||
2. 确认同一 `EBA_DB_*` / DeerFlow
|
||
3. 起 Go:`go run ./cmd/server` 或 systemd
|
||
4. Nginx `/analysis-api` 仍指 `:18097`
|
||
5. 健康检查 + 开一场研讨验收
|