桌面客户端到 Manager 的 sub 请求 body 未复用 V2 加密协议 #72

Closed
opened 2026-05-27 10:39:47 +00:00 by chenchen · 1 comment
Owner

问题

桌面客户端调用 Manager 的普通 sub 敏捷接口时,body 仍按普通 JSON 进入 Manager,未复用模型调用已经使用的 V2 应用层加密协议。这样客户端到 Manager 的 sub 流程与模型调用安全口径不一致。

影响范围

  • /api/agnet/user/*:deployment draft、deployment 创建、详情、停止、timeline/artifact/SK 查询等用户态 sub 控制面接口。
  • /api/heicode-auth/*:客户端创建/读取 HeicodeTask 时走 Manager 代理的接口。
  • 浏览器后台页面仍需要保持普通 HTTPS JSON 兼容,不能因为加密改造影响控制台。

验收标准

  • 桌面端可使用 Content-Encoding: heicode-aead-v1 发送加密 body。
  • Manager 必须先解密、校验设备签名,再按设备绑定用户执行。
  • malformed V2 请求要返回可诊断响应头,例如 X-Heicode-Auth-Error。
  • 普通后台 Web 控制台请求不受影响。
  • 生产环境需要真实接口验证,不只做本地单测。
## 问题 桌面客户端调用 Manager 的普通 sub 敏捷接口时,body 仍按普通 JSON 进入 Manager,未复用模型调用已经使用的 V2 应用层加密协议。这样客户端到 Manager 的 sub 流程与模型调用安全口径不一致。 ## 影响范围 - `/api/agnet/user/*`:deployment draft、deployment 创建、详情、停止、timeline/artifact/SK 查询等用户态 sub 控制面接口。 - `/api/heicode-auth/*`:客户端创建/读取 HeicodeTask 时走 Manager 代理的接口。 - 浏览器后台页面仍需要保持普通 HTTPS JSON 兼容,不能因为加密改造影响控制台。 ## 验收标准 - 桌面端可使用 `Content-Encoding: heicode-aead-v1` 发送加密 body。 - Manager 必须先解密、校验设备签名,再按设备绑定用户执行。 - malformed V2 请求要返回可诊断响应头,例如 `X-Heicode-Auth-Error`。 - 普通后台 Web 控制台请求不受影响。 - 生产环境需要真实接口验证,不只做本地单测。
chenchen added this to the 2026-05-27 至 2026-05-28:全链路联调与问题收敛 milestone 2026-05-27 10:39:47 +00:00
chenchen self-assigned this 2026-05-27 10:39:47 +00:00
chenchen added this to the chenchen project 2026-05-27 10:39:47 +00:00
Author
Owner

已修复并上线到生产 1.4.7。

修复内容:

  • /api/agnet/user/* 支持 Content-Encoding: heicode-aead-v1,Manager 解密 body 并校验设备签名后按设备绑定用户执行。
  • /api/heicode-auth/* 支持同一 V2 加密协议,Manager 解密后再代理给上游 HeicodeTask。
  • 保留浏览器后台普通 HTTPS JSON 兼容路径,不影响现有控制台。

验证:

  • 本地 go test ./... 通过。
  • 生产 /api/status 返回 version=1.4.7。
  • 真实构造 V2 加密请求调用 /api/agnet/user/tasks/{task_id}/deployment-draft 返回 200,sub_mode=agile,user_id=22。
  • malformed 加密请求返回 X-Heicode-Auth-Error: eph_pubkey_missing,诊断头有效。
已修复并上线到生产 `1.4.7`。 修复内容: - `/api/agnet/user/*` 支持 `Content-Encoding: heicode-aead-v1`,Manager 解密 body 并校验设备签名后按设备绑定用户执行。 - `/api/heicode-auth/*` 支持同一 V2 加密协议,Manager 解密后再代理给上游 HeicodeTask。 - 保留浏览器后台普通 HTTPS JSON 兼容路径,不影响现有控制台。 验证: - 本地 `go test ./...` 通过。 - 生产 `/api/status` 返回 `version=1.4.7`。 - 真实构造 V2 加密请求调用 `/api/agnet/user/tasks/{task_id}/deployment-draft` 返回 200,`sub_mode=agile`,`user_id=22`。 - malformed 加密请求返回 `X-Heicode-Auth-Error: eph_pubkey_missing`,诊断头有效。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: taijibaga/heicode-mananger#72