9a073e5b411cad72a024ff424282e2dbaa089876
完成 preflight EPIC(#29)的最后一子项 #41: - POST /api/heicode/preflight/confirm:重算摘要 → 仅 ready 时可确认 → 派生防篡改 版本哈希 → 写审计事件 preflight.confirmed(谁/何时/哪个 version)→ 返回 version。 - 防篡改版本 computePreflightVersion:在**稳定安全面**(template + 资源 binding_id/type/provider/name/status/has_secret + 高危 enum + 必需缺失项)上做 sha256,刻意排除易变预算数字/agent_slot,避免版本无意义抖动。 - 部署校验:POST /api/heicode/agents 新增可选 preflight_version。默认仅在带了它时 校验(向后兼容);HEICODE_PREFLIGHT_REQUIRED=true 时强制。确认后资源/模板/高危面 漂移或被篡改 → 版本不匹配 → 部署拒绝。 - 重构:抽出 buildPreflightSummary(GET/confirm/deploy 共用);GET 现也回 version。 测试:版本确定性/稳定性(不随预算变)、资源篡改翻转版本、normalizeBindingIDs。 go build/vet 干净,controller preflight 测试全过。文档 §4.1/§4.1.1 更新。 Affects: Manager only(新增 confirm 端点 + 部署可选校验,默认向后兼容)。 无计费/审计 schema 改动(复用既有 agent_audit_events)。 Closes #41 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Heicode
Heicode 面向多人协作、可追溯交付的软件团队:把需求对齐、实现、验证、发布和持续运营连成一条少断层的链路,并用可编排的智能体角色承接其中可标准化的环节——强调「能复盘、能审计、能按团队规模裁剪」,而不是罗列某一家的工具栈。
下面的目录表仅供工程查阅;不代表对外产品承诺、路线图或你必须采用的集成方式。
本仓 = Heicode Manager(HM)端。 历史上终端/桌面客户端(
cc-haha)、官网(website)与 Manager 曾同处一个 monorepo;现已拆分,本仓只保留 Heicode Manager(基于 new-api 的模型网关 + 管理控制台)。客户端(终端 + 桌面)在heicode-macos-release-dev/heicode-winos-release-dev独立仓。
这个仓库里有什么(工程布局)
| 目录 | 大致含义 |
|---|---|
heicode/ |
Heicode Manager:基于 new-api 的模型网关 + 管理控制台。Go(Gin/GORM)后端 + web/default 前端(Bun/Rsbuild/React)。 |
docs/ |
产品共识、实施计划与集成契约(索引见 docs/README.md)。 |
客户端与官网不在本仓。
产品在解决什么问题
- 协作范式:把瀑布 / 敏捷下的角色分工落到可复述的闸门与智能体承接边界。
- 交付可追溯:文档、沟通与变更尽量与版本、发布对齐,便于复盘与合规。
- 模型与执行分层:HM 提供模型网关与权限 / 计费;云端 agent 由 agent_management(AM)部署,客户端拿到 agent 公网地址后直连 agent 使用。
产品定位与架构共识见 docs/heicode.md,实施计划见 docs/plan.md。
快速启动(开发联调)
Heicode Manager 在 heicode/ 子目录:Go 后端 + web/default 前端。完整构建 / 运行命令与分层规则见 heicode/CLAUDE.md 与 heicode/README.md。
与 Heicode 登录相关的最小路由(以实际代码为准):
GET /heicode/oauth/authorizeGET /heicode/oauth/session
平台侧能力还包括模型发现(如 GET /v1/models)与 Anthropic Messages 兼容入口等。
集成与对接契约见 docs/integration/(HM↔AM、桌面客户端对接等)。
许可证
heicode/(Heicode Manager,基于 new-api)许可证见 heicode/LICENSE(常见为 AGPLv3)。
Languages
Go
98.8%
Python
1.1%