前言¶
DSH 插件體系會把 web 側能力掛到 web profile 上。agent 運行時可能會自己發起 web_search、web_fetch 或調用外部 API。如果你希望這些請求統一走本機代理,而不是分別改外部工具、系統環境變量或調用參數,dsh-net-proxy 提供了一個直接入口:在 DSH 設置裏填寫一次代理地址,讓 agent 進程內的 fetch 走對應代理。
這是什麼¶
dsh-net-proxy 是 DeepSeek Harness(DSH)網絡代理插件,倉庫地址爲 https://github.com/mafeis/dsh-net-proxy,許可證爲 MIT,已覈實資料中的當前版本爲 0.2.5。
它包裝 agent 進程的全局 fetch,讓 agent 自己發起的網絡請求(web_search / web_fetch / 外部 API)走你配置的 HTTP / HTTPS-CONNECT / SOCKS5 代理。配置會持久化,插件啓用後自動生效,並提供可視化設置頁。
核心功能¶
- 讓 agent 發起的
web_search、web_fetch和外部 API 請求走代理。 - 服務端包裝 agent 進程的全局
fetch,手寫轉發,不引入第三方代理依賴。 - 配置存儲在
$DSH_HOME/net-proxy.json。 - 設置頁通過同源路由
/_dsh/net-proxy讀寫配置,修改後即時生效,無需重啓。 NO_PROXY默認排除本地迴環地址,避免本地請求被代理。- 提供可視化設置頁,用於啓用代理、填寫地址和認證信息。
安裝與啓用¶
先安裝插件:
dsh plugin --profile web add github:mafeis/dsh-net-proxy
安裝後重啓 dsh web,讓插件進入可用狀態:
dsh web
然後進入 設置 → 網絡代理,啓用代理並填寫代理地址,例如:
127.0.0.1:7890
如果不想走安裝命令,也可以手動在 profile 的 cordis.patch.yml 中加入:
- insert:
- id: net-proxy
name: 'dsh-net-proxy'
配置字段¶
配置保存在 net-proxy.json,設置頁讀寫的是同一份配置。默認值如下:
| 字段 | 默認值 | 含義 |
|---|---|---|
enabled |
false |
是否啓用代理 |
protocol |
http |
http(含 CONNECT 隧道)或 socks5 |
host |
127.0.0.1 |
代理主機 |
port |
7890 |
代理端口 |
username |
空 | 可選認證用戶名 |
password |
空 | 可選認證密碼 |
noProxy |
["127.0.0.1","localhost","::1"] |
命中後直連,不走代理 |
一個貼近默認值的配置示例如下:
{
"enabled": false,
"protocol": "http",
"host": "127.0.0.1",
"port": 7890,
"username": "",
"password": "",
"noProxy": [
"127.0.0.1",
"localhost",
"::1"
]
}
典型用法¶
1、安裝插件並重啓 dsh web:
dsh plugin --profile web add github:mafeis/dsh-net-proxy
2、打開 設置 → 網絡代理,把 enabled 打開。
3、根據本地代理類型選擇協議:
- HTTP / HTTPS-CONNECT:選擇
http。 - SOCKS5:選擇
socks5。
4、填寫代理地址。例如本機代理運行在 7890 端口時,可以填寫:
host: 127.0.0.1
port: 7890
5、如果代理需要認證,填寫 username 和 password。
6、保存後,agent 後續發起的網絡請求會按當前配置走代理;再次修改配置後,也不需要重啓 dsh web。
依賴與運行約束¶
該插件面向 DSH 的 web client。package.json 中 platform 爲 web,client 注入以下模塊:
react
react/jsx-runtime
@deepseek-ai/dsh-client-ui-primitives
peerDependencies 指定了以下版本範圍:
@deepseek-ai/dsh-client-ui-primitives >=0.0.1-rc.1 <0.2.0
@deepseek-ai/schemastery >=0.0.1-rc.1 <0.2.0
適用場景與注意¶
適合以下情況:
- 希望 DSH agent 自己發起的請求統一走本地代理。
- 需要在 DSH 設置頁裏維護代理地址,而不是改外部腳本。
- 本地代理支持 HTTP CONNECT 或 SOCKS5。
- 希望默認保留本地迴環直連,不把
127.0.0.1、localhost、::1也轉發到代理。
使用前建議注意:
- 該插件會包裝 agent 進程內的全局
fetch,並以當前dsh進程的權限運行。 - 安裝前應檢查源碼、依賴關係和 MIT 許可證,確認代理配置符合你的出口策略。
- 它針對的是 agent 自己發起的網絡請求,不等同於系統級全局代理。
結尾¶
dsh-net-proxy 解決的是一個很具體的問題:在 DSH web profile 中,讓 agent 自己的 web_search、web_fetch 和外部 API 請求走指定代理,並通過設置頁完成持久化配置。
GitHub 倉庫:
https://github.com/mafeis/dsh-net-proxy
目錄頁鏈接未在本次已覈實資料中給出,可按插件名 dsh-net-proxy 在社區目錄中檢索。