dsh-htmlrun: 將本地 HTML 發佈爲 html.run 鏈接的 DeepSeek Harness 插件

前言

DeepSeek Harness(DSH)的動態插件運行在沙箱環境中,通常被限制直接發起網絡請求或使用 Node.js 的 require。html.run 需要通過特定的接口發佈 HTML 文件,無法直接通過標準的 ctx.web.fetch 調用。

dsh-htmlrun 插件通過 ctx.subprocess 調用零依賴的本地 CLI(htmlrun.cjs)來繞過沙箱限制。它將 html.run 的發佈能力封裝爲 DSH 模型可調用的工具,讓模型能夠在會話內直接將本地 HTML 文件轉換爲可分享的鏈接。

插件定位

  • 名稱:dsh-htmlrun
  • 作者:iwker
  • 類型:DSH 模型工具插件(聯網工具類)
  • 許可證:MIT
  • 核心價值:將 html.run 的 CLI 發佈流程封裝爲模型工具,無需人工複製鏈接。

核心功能

該插件提供以下能力:

  1. CLI 封裝:調用項目自帶的 scripts/htmlrun.cjs 執行具體操作,包括激活、發佈、更新、檢查狀態等。
  2. 模型工具集成:在 DSH 會話中註冊名爲 htmlrun 的工具,模型可直接調用。
  3. 認證管理:無需爲 DSH 插件單獨配置 Key。html.run 的認證 Token 存儲在 ~/.htmlrun/config 中,與終端使用 CLI 保持一致。
  4. 支持的命令:
    • check:檢查登錄狀態,未激活時返回激活鏈接與二維碼。
    • publish:發佈或更新 HTML 文件。
    • bind:通過配對碼綁定設備。
    • login / logout:手工配置或清除 Token。
    • whoami:查看當前狀態。

安裝

推薦通過 GitHub 安裝,並鎖定 commit SHA 以確保版本一致。

dsh plugin --profile <name> add github:iwker/dsh-htmlrun#<commit-sha>

安裝後,插件會作爲組合包(bundle)加載到 DSH 配置中。

使用方法

工具參數

調用 htmlrun 工具時,需傳入以下參數:

參數 類型 說明
action string 必填。執行動作:check, publish, bind, login, logout, whoami
file string publish 動作必填。HTML 文件的絕對路徑或相對於 workspace 的路徑
note string publish 動作用。本次發佈的簡短說明(可選)
forceNew boolean publish 動作用。強制新建工件拿全新鏈接(默認同路徑自動更新,版本 +1)
noInline boolean publish 動作用。不內聯本地資源(默認自動內聯同級目錄文件)
code string bind 動作用。8 位配對碼
token string login 動作用。html.run 的 publish token(h_ 開頭)
cliPath string 可選。覆蓋 htmlrun.cjs 的執行路徑

典型流程

  1. 檢查狀態:模型首先調用 action=check。若未激活,CLI 會輸出激活鏈接和二維碼,模型需將這些信息轉達給用戶;用戶確認後,再次 check 靜默通過。
  2. 發佈內容:模型調用 action=publish, file=<文件路徑>。
  3. 結果反饋:CLI 返回鏈接、版本號、敏感詞提示等信息,模型需將這些原始輸出轉達給用戶,而不是簡單的“發佈成功”。

常見操作示例

  • 更新鏈接:修改完 HTML 內容後,對同一文件路徑再次調用 action=publish(不加 forceNew),鏈接不變,版本號自動 +1。
  • Token 管理:Token 明文不應出現在對話回覆或日誌中。login 時僅傳遞 h_ 開頭的值,後續操作由 CLI 內部讀取配置。

限制與注意事項

  • 單文件限制:僅支持單文件靜態 HTML。CSS/JS 需內聯或使用本地相對引用,圖片等資源由 CLI 自動處理。
  • 環境要求:依賴 Node.js >= 16。htmlrun.cjs 爲零依賴,但需在插件進程或工作區中可用。
  • 動態插件特性:動態插件形態是進程內臨時的。DSH 進程重啓後,需要重新加載插件(通過 cordis_define 或重新安裝)。
  • Token 位置:Token 存儲在 ~/.htmlrun/config(權限 0600)。換機器或換路徑發佈會被視爲新工件。

生態與來源

本插件由 iwker 維護,遵循 MIT 許可證。
* 插件本體:作者編寫,MIT。
* Skill 源碼:原樣拷貝自 html.run 官方發佈的 skill v2.0.1(MIT),隨項目分發。

總結

dsh-htmlrun 解決了 DSH 沙箱環境下無法直接調用 html.run 發佈接口的問題。它通過複用成熟的 CLI 工具,爲模型提供了可靠的本地文件發佈能力,適合需要將生成的 HTML 頁面直接分享給用戶的場景。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜