[Bug]: mcode 默认不走系统代理,导致 provider test 在仅有代理出口的机器上固定 10000ms 超时
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 50/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- nodejs, typescript
- 領域
- cli, networking
調査の方向性
HTTP_PROXY と HTTPS_PROXY を設定した状態で Linux 上のタイムアウトを再現し、まず mcode provider test と mcode exec のエントリーポイントから始めます。これらの送信リクエストがどのように行われるかを追跡し、報告されている undici のプロキシアダプターの動作と比較します。設定されたプロキシ経由で、固定の 10000ms タイムアウトなしに provider のテストと実行が動作すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Product or interface
CLI - interactive TUI
Version
0.4.12
Platform
Linux
OS version and architecture
openEuler 24.03 (LTS-SP1) aarch64
Issue area
Startup / install / update
Desktop log upload ID (optional)
No response
Steps to reproduce
这是一个代理不支持的常见问题,如果用国外 API BYOK 的方式就会触发问题。
我们机器仅有代理出口,所以同样触发了这个问题。但是这个问题并不只是在这里触发。MiniMax 给 FrontierHarness Eval 的 PR 中也提到了这一问题。这是一个普适性问题。
$ echo $http_proxy;echo $https_proxy;echo $socks_proxy;
http://127.0.0.1:7890
http://127.0.0.1:7890
$ mcode provider add \
--name "ds4.1flash" \
--base-url "https://api.deepseek.com/anthropic" \
--api-format anthropic-messages \
--model "deepseek-flash[1m]" \
--use
$ mcode provider test provider-7b0fdd --model deepseek-flash
Provider test failed: Request timed out after 10000ms. Check the URL, API key, and model ID, then retry.
使用 MiniMax 给 FrontierHarness Eval 的 PR 中类似的 proxy-adapter 可以解决
// file: /tmp/mcode-proxy.cjs
const { EnvHttpProxyAgent, setGlobalDispatcher } = require('/tmp/mcode-proxy/node_modules/undici');
if (!process.env.HTTPS_PROXY && !process.env.HTTP_PROXY) {
throw new Error('HTTP(S)_PROXY is required');
}
setGlobalDispatcher(new EnvHttpProxyAgent());
$ NODE_OPTIONS='--require=/tmp/mcode-proxy.cjs' \
mcode provider test provider-851e29 --model deepseek-flash --json
{
"success": true,
"status": {
"state": "available",
"lastTestedAt": 1789782605854
}
}
$ NODE_OPTIONS='--require=/tmp/mcode-proxy.cjs' \
mcode exec --cwd /tmp --permission off --max-steps 2 --timeout 45s \
--output-format json \
--model custom_provider:provider-851e29/deepseek-flash \
'Reply with exactly OK and do not inspect or modify any files.'
{"status":"succeeded","output":"OK","model":{"providerId":"custom_provider:provider-851e29","modelId":"deepseek-flash","protocol":"openai-completions"},"durationMs":1247}
Expected and actual behavior
期望行为:mcode 支持代理,避免代理情况下超时报错发生。
Redacted error summary
Screenshots
Before submitting
- I have searched existing issues.
- I have included my version and removed sensitive information.
- 主要言語
- TypeScript
- スター
- 1.9k
- フォーク
- 226
- 平均マージ
- 5時間 37分
- マージ済み PR(30日)
- 128
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
MiniMax-AI/minimax-code のほかの issue
-
bug needs-triage tui
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
MiniMax-AI/minimax-code#393 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
bug cli documentation needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
MiniMax-AI/minimax-code#299 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
bug cli needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
MiniMax-AI/minimax-code#128 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
bug desktop
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
MiniMax-AI/minimax-code#87 · コメント 2 件 · リアクション 2 件 ·
メンテナーはふだん 1 日以内に返信
-
bug desktop needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
MiniMax-AI/minimax-code#80 ·
メンテナーはふだん 1 日以内に返信
MiniMax-AI/minimax-code の issue をすべて見る
似ている issue
-
needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
LucasSantana-Dev/Lucky#2637 ·
メンテナーはふだん 1 日以内に返信
-
Show the error reference on the error page対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンenhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
tomjn/coilbox-hub#454 ·
メンテナーはふだん 1 日以内に返信
-
frontend
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
icssc/peterportal-client#1224 · コメント 1 件 ·
-
testplan-item
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信