diff --git a/2.Design/ROADMAP-M0-M1.md b/2.Design/ROADMAP-M0-M1.md index 76a327a..3a2e7f6 100644 --- a/2.Design/ROADMAP-M0-M1.md +++ b/2.Design/ROADMAP-M0-M1.md @@ -785,9 +785,10 @@ ### 13.5 验证 -- `backend/tests/test_clawbot.py` 10 例:纯文本成任务、`知识:`前缀成草稿并带标签、 +- `backend/tests/test_clawbot.py` 11 例:纯文本成任务、`知识:`前缀成草稿并带标签、 `帮助`只回复不建事项、错令牌 404/9002、停用通道 403/9003、同 `msg_id` 幂等、 - GET `echostr` 原样回、令牌只属于一个工作区、换令牌后旧地址失效、普通成员不能建通道。 + GET `echostr` 原样回、令牌只属于一个工作区、换令牌后旧地址失效、普通成员不能建通道、 + 回调地址必须带 `/api/v1`。 - `web/e2e/integrations.mjs` 7 项(真跑):页面建通道 → 取回调地址 → 冒充 clawbot POST → 任务出现在任务列表 → 重复推送不建第二条 → 「最近消息」看得到 → 控制台零报错。 @@ -796,3 +797,14 @@ - 只做了"进"(收消息建事项),没做"出"(改完任务回一条微信通知)。 - 消息不认人:机器人只知道"这是这个工作区的消息",按通道创建者记账;要认人得先做微信身份绑定。 - 语音、图片、文件只留痕不处理。 + +### 13.7 上生产时踩的坑 + +回调地址一开始用 `request.base_url` 拼,本地没问题(Vite 把 `/api/v1` 代理掉了), +生产上应用挂在域名根、前缀只在路由里,拼出来的地址少了 `/api/v1`,clawbot 打过去是 `405`。 +现在从 `base_url` 里截站点根、前缀一律取 `settings.api_prefix`,并补了一条断言钉住。 + +生产实测(工作区「我的备忘」):`POST /api/v1/integrations/clawbot/` +→ `200 code=0 action=task`,任务列表里立刻出现一条。 + +![生产接入页](screens/prod-integrations.png) diff --git a/2.Design/screens/prod-integrations.png b/2.Design/screens/prod-integrations.png index a4b322b..848bd4f 100644 Binary files a/2.Design/screens/prod-integrations.png and b/2.Design/screens/prod-integrations.png differ