[托管代理] proxy.monkeycode-ai.com 回归:/api/v1/* 全部返回 Caddy catch-all 200 "OK",LLM 链路不可用
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 38/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 領域
- api, backend, infrastructure
調査の方向性
まず、proxy.monkeycode-ai.com の Caddyfile または reverse-proxy 設定を確認し、/api/v1/* と、catch-all の respond "OK" ルールに注目します。chat/completions ルートを、残っている /api/v1/models ルートと比較し、LLM upstream のヘルス状態または登録を調査します。認証済みの chat リクエストが期待される completion レスポンスを返し、未認証のリクエストが拒否され、失敗時に誤解を招く 200 OK が返されなければ完了です。
索引モデルが issue の本文から書いたものです。
説明
环境:https://proxy.monkeycode-ai.com(托管 LLM 代理),客户端 = MonkeyCode 桌面端(ohmyagent 引擎),账号 = 免费档(basic)。
现象(2026-09-19 起观测):
对 https://proxy.monkeycode-ai.com/api/v1/chat/completions 发起 OpenAI 兼容 chat 请求,
无论携带何种鉴权(Bearer oma_* ± X-OhMyAgent-Signature HMAC、完全无鉴权)、
何种方法(GET / POST)、何种路径(/api/v1 根、/api/v1/models),
响应一律为:
HTTP/2 200
content-type: text/plain; charset=utf-8
content-length: 2
server: Caddy
OK
响应体只有 2 字节 OK,无 chat.completion JSON、无 usage 字段、无 SSE chunk。
对照基线(2026-09-17 实测,正常期):
- 相同端点 + Bearer+HMAC →
200+ 完整openai-chat.completion(model: om-gpt-5.5-chat,choices[0].message.role=assistant) - 无鉴权 →
401 Unauthorized(WWW-Authenticate头) - 即:正常期鉴权是生效的;现在无鉴权也返回 200 "OK",说明请求已不再进入鉴权/LLM 路由,而是落到 Caddy 层的 catch-all 应答。
影响:
- 所有经托管代理的 chat 调用静默失败(客户端拿到 200 但无内容),难以与成功区分。
- 计量侧未见扣减(同期
/api/v1/users/wallet的balance/daily_token_balance无变化),与「请求未进 LLM 链路」一致。 GET /api/v1/models返回405 Method Not Allowed(非 catch-all 200),说明仅部分路由存活。
复现:
POST https://proxy.monkeycode-ai.com/api/v1/chat/completions
Authorization: Bearer ***
Content-Type: application/json
{ "model": "om-gpt-5.5-chat", "max_tokens": 8, "stream": false,
"messages": [ { "role": "user", "content": "hi" } ] }
预期(正常期):200 + chat.completion JSON。实际:200 "OK"(2 字节)。
建议排查方向:
- 检查
proxy.monkeycode-ai.com的 Caddyfile / 反代配置:/api/v1/*的 proxy/reverse_proxy 路由是否被移除或被一条 catch-allrespond "OK"覆盖。 - 检查 LLM 上游(chat 路由后端)健康状态与注册表;
405的/models路由与 200 的 catch-all 并存,指向「部分路由存活」的半迁移/故障状态。 - 若为灰度/迁移中间态,建议在代理侧显式返回
503而非200 "OK",避免客户端把故障当成功。
观测时间:2026-09-19(UTC+8),持续中。
- 主要言語
- TypeScript
- スター
- 4.9k
- フォーク
- 743
- 平均マージ
- 16時間 8分
- マージ済み PR(30日)
- 54
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
chaitin/MonkeyCode のほかの issue
-
Add a One-Click Copy Button for AI Agent Responses対応中かも @DhruvKhambhata が 3 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
chaitin/MonkeyCode#1437 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
这个位置的停止服务,要二次确认,オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
chaitin/MonkeyCode#1286 ·
メンテナーはふだん 1 日以内に返信
-
官网试用明亮模式弹窗内容与背景重叠対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
chaitin/MonkeyCode#1069 ·
メンテナーはふだん 1 日以内に返信
-
fix(frontend): 补充任务预览弹窗的无障碍描述対応中かも @goalup が 93 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
chaitin/MonkeyCode#915 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
【技能】弹窗内容溢出オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
chaitin/MonkeyCode#907 ·
メンテナーはふだん 1 日以内に返信
chaitin/MonkeyCode の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
awesome-dsh-plugin/awesome-dsh-plugin#9184 ·
メンテナーはふだん 1 日以内に返信
-
RpcTest.makeClient: accept disableFatalDefects対応中かも @effect-bot が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Effect-TS/effect#9893 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
farion1231/cc-switch#8829 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
[core-client] Remove unused hand-maintained transport helpers after the definition-table cutoverオープンdoc-audit enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100