前言¶
在 DeepSeek Harness (DSH) 的開發與調試過程中,有時需要快速確認當前宿主進程的身份信息(如 PID、工作目錄、Node 版本)或環境變量的分佈情況。手動查看或依賴 AI 詢問往往不夠直接。dsh-env-inspector-plus 旨在解決這一痛點,通過在 DSH 網頁版增加一個只讀分頁,並提供給模型一個只讀工具,讓環境體檢變得直觀且可控。
插件定位¶
這是一個由 felixpu 維護的管理安全類插件。它爲 DSH 網頁版的「設置 → 環境體檢」增加了一個分頁,同時向模型注入了 env_inspect 工具。其核心價值在於提供當前宿主進程的身份與環境變量分組快照,且嚴格限制敏感信息(如憑證值)不離開宿主。
核心功能¶
插件提供兩大核心交互方式:網頁端查看與模型端調用。
網頁端展示¶
安裝後,在 DSH 網頁版「設置 → 環境體檢」會出現一個新的只讀分頁。該頁面展示以下信息:
- 宿主進程身份:包括進程 ID (pid)、入口腳本路徑、當前工作目錄 (cwd)、Node 版本、平臺以及運行時長。
- 環境變量分組:展示環境變量的總體數量,以及按
DSH_前綴分組、按憑證形態分組(KEY/PASSWORD/SECRET/TOKEN)的統計情況。 - 逐條變量清單:列出所有環境變量,僅包含鍵名和元數據。每行數據包含:鍵名、是否以
DSH_開頭、是否命中憑證形態、是否已設值、值長度。不含變量值本身。
模型工具調用¶
插件向模型提供 env_inspect 工具。調用該工具時無需參數,模型將獲得上述快照數據。這有助於模型在回答關於當前運行環境的問題時,基於準確的事實進行判斷。
安全邊界¶
這是該插件設計的核心。憑證形態(KEY/PASSWORD/SECRET/TOKEN)的變量的值一律不出宿主。
在返回的變量清單中,這些敏感變量僅返回布爾值(是否命中憑證形態)和長度。任何環境變量的具體值都不會出現在 HTTP 響應體或模型上下文中,只有四個特定的 host 身份字段例外:
* host.cwd
* host.profileDir
* host.profile
* host.entry
這四個字段攜帶原值,因爲它們是判斷「現在在哪個目錄跑、用哪個 profile」的關鍵信息,且這些值本身通常會出現在會話上下文中。
安裝與啓用¶
安裝插件需要使用官方的 DSH 命令行工具。
1、在終端執行以下命令安裝插件:
dsh plugin --profile web add github:felixpu/dsh-env-inspector-plus
2、安裝完成後,必須重啓 DSH 宿主進程,插件功能纔會生效。
典型用法¶
網頁端:
登錄 DSH 網頁版,導航至「設置 → 環境體檢」,即可查看當前環境的快照。
模型端:
在對話中直接請求模型使用 env_inspect 工具。例如詢問:「請檢查當前環境變量,並告訴我 Node 版本和運行時長。」模型將調用工具並返回包含元數據的結構化數據。
技術實現細節¶
- 依賴與架構:插件不依賴任何
@deepseek-ai/*包,工具定義爲手寫對象(零 DSH 依賴)。客戶端僅引入平臺種子表內的模塊(如react和 UI primitives)。 - 路由與注入:插件注入服務
['tools', 'webServer'],並註冊只讀路由GET /dsh-env-inspector/snapshot。成功時返回{ ok: true, data: <快照> },失敗時返回{ ok: false, code: 'snapshot-failed' }。 - 失敗處理:宿主端只返回機器可讀的 code,面向用戶的句子全部由客戶端字典翻譯。這確保了 UI 語言切換時,錯誤文案能即時跟隨變化。
- 雙語支持:支持中英雙語。運行時 UI 文案通過
client/client.js中的字典註冊,插件展示元數據通過locale/*.json提供。locale 命名空間使用包名dsh-env-inspector-plus以避免撞名。
適用場景與注意¶
該插件適合需要快速排查環境配置、驗證 Profile 路徑或分析環境變量分佈的開發者。
注意:插件以當前 DSH 進程的權限運行。在使用前,建議檢查其 GitHub 倉庫的源碼與許可證(MIT),確保符合你的使用規範。
短結尾¶
dsh-env-inspector-plus 提供了一種安全、可控的方式來窺探 DeepSeek Harness 的宿主環境。通過網頁分頁和模型工具的結合,它降低了環境調試的門檻,同時嚴格保護了敏感信息不泄露。