[Bug] macOS 环境下配置 DeepSeek API 测试连接报错:connect: bad file descriptor
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- go
- 領域
- networking
調査の方向性
Start by reproducing the DeepSeek model test on macOS ARM with the reported endpoint, then trace the TscanPlus AI module's Go request path through net.Dial and compare it with the successful curl request. Done means the in-app model test returns a normal AI response instead of "connect: bad file descriptor".
索引モデルが issue の本文から書いたものです。
説明
系统环境
操作系统:macOS (版本号26.5.2 (25F84))
TscanPlus 版本:( v3.3.9)
芯片架构:(ARM)
🐞 问题描述
在 TscanPlus 的 AI 模块配置中接入 DeepSeek 大模型时,无论使用 deepseek-chat 还是 deepseek-v4-flash 模型,点击“测试模型”始终返回错误:
text
[ERROR] DeepSeek 模型测试异常: ERROR: 发送请求失败: Post "https://api.deepseek.com/v1/chat/completions": dial tcp 182.247.248.128:443: connect: bad file descriptor
关键矛盾点:使用系统终端 curl 命令调用完全相同的 API 地址和密钥,可以成功返回 HTTP 200 及正常响应。这说明 系统网络、DNS 解析、防火墙以及 DeepSeek 服务端均无任何问题。
🔄 复现步骤
打开 TscanPlus,进入 AI 模型配置界面。
提供商选择 DeepSeek。
API 地址填写:https://api.deepseek.com/v1/chat/completions。
填写有效的 API 密钥,模型选择 deepseek-v4-flash。
点击“确定”保存,随后执行“测试模型”或直接使用 AI 功能。
📋 实际结果
程序报错 bad file descriptor,连接失败。
(附上截图:配置界面和错误弹窗)
✅ 预期结果
应正常返回 AI 响应内容(如 Hello! How can I help you?)。
🧪 额外排查信息(证明环境正常)
我已确认以下外部因素无异常:
本地网络权限:已在 系统设置 -> 隐私与安全性 -> 本地网络 中开启 TscanPlus 权限。
代理/VPN:已确认系统代理关闭,无 VPN 运行。
DNS 解析:正常解析到 DeepSeek CDN IP(如 182.247.248.128)。
Curl 验证(成功):
bash
curl -v https://api.deepseek.com/v1/chat/completions
-H "Content-Type: application/json"
-H "Authorization: Bearer API-KEY"
-d '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"hi"}]}'
(返回 HTTP/2 200,完整响应体略)
💡 可能的分析建议
该报错在 Go 语言的 net.Dial 中常由连接池复用异常或未关闭的残留 socket 引起,可能与 macOS 的网络扩展(如 utun 虚拟网卡残留)或特定的 TCP 端口复用机制有关。
[ERROR] DeepSeek 模型测试异常: ERROR: 发送请求失败: Post "https://api.deepseek.com/v1/chat/completions": dial tcp 171.105.220.186:443: connect: bad file descriptor
[INFO] 开始测试模型: DeepSeek - deepseek-v4-flash
[INFO] AI模块初始化完成
[SUCCESS] 模型配置加载成功
- 主要言語
- 言語のデータがありません
- スター
- 4.5k
- フォーク
- 253
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
TideSec/TscanPlus のほかの issue
-
難易度 4/5 1〜2日 初心者へのやさしさ 47/100
-
難易度 3/5 半日 初心者へのやさしさ 52/100
-
OSS存储扫描未接入全局配置代理オープン
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 44/100
-
功能导航显示有点问题オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 31/100
TideSec/TscanPlus の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
smoltcp-rs/smoltcp#1235 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
prestonbrown/helixscreen#1985 ·
メンテナーはふだん 1 日以内に返信
-
bot-found bug priority: P3
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
madenvel/KalinkaPlayer#470 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
cowprotocol/cowswap#8505 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信