返回目錄

dsh-runtime-log

精選清單收錄維護狀態: 活躍

wforevery/dsh-runtime-log

把 DSH 的警告与错误持久化到磁盘,重启后仍可回溯,方便事后定位崩溃原因。

前往 GitHub
$ dsh plugin add dsh-runtime-log

54

星數

4

Fork

JavaScript

語言

MIT

授權條款

2026-11-11

建立於

2026-11-11

最近推送

MIT 授權的 DSH bundle,把宿主的 WARN / ERROR 記錄持久化到本機可輪替的 JSONL 檔案,帶有界緩衝、盡力遮蔽與自動清理 —— 僅限 Windows x64、DSH 0.2.2-rc.1、Node 24。

DSH 整合

原生執行環境

作者聲明

安全稽核

未稽核

最後核實

2026-11-14

授權條款

MIT

01它能幫你完成什麼?

  • 在 DSH 宿主重新啟動之後排查問題,此時行程內的 WARN / ERROR 輸出早已消失

    `$DSH_HOME/runtime-log`(沒有則 `~/.dsh/runtime-log`)下的 JSONL 檔案,WARN / ERROR 記錄可跨行程重新啟動保留

    需要在事後檢視宿主警告與錯誤的 Windows 桌面版 DSH 使用者

  • 讓長時間執行的 DSH 宿主上日誌容量可控

    每次執行一個 `host-<pid>-<uuid>.jsonl`,預設每段 5 MiB 加 3 個輪替段,並在啟動時執行 retention 清理舊 run

    沒辦法天天盯著跑 DSH 那台機器磁碟用量的維運者

  • 看清某個外掛在 DSH 宿主裡何時啟動、何時停止

    名為 `dsh-runtime-log` 的生命週期 marker 記錄,message 以 `[plugin-event:start]` / `[plugin-event:stop]` 開頭,與一般警告走同一個 sink

    要確認某個 bundle 是否乾淨載入與卸載的外掛作者與維護者

02如何將外掛接入 DeepSeek Harness?

先決條件

  • DSH 0.2.2-rc.1 —— README 的相容表裡這是唯一支援的 DSH 版本,Cordis 4.1.0 由該版本提供
  • Node.js >=24.16.0 <25
  • Windows x64 —— bundle 的平台門檻只允許 `win32`
  • 套件尚未發佈到 npm,只能以設定檔相依的方式指過來

安裝步驟

  1. 01

    把某個設定檔的相依指向本套件,並把 `dsh-runtime-log` 加入該設定檔的 `dsh.profile.bundles`

  2. 02

    完整結束 DSH 再重新啟動 —— 外掛執行時不會修改設定檔,新增 bundle 必須完整重新啟動才生效

驗證整合成功

  • 重新啟動後在 runtime-log 目錄(`$DSH_HOME/runtime-log`,沒有則 `~/.dsh/runtime-log`)裡應出現 `host-<pid>-<uuid>.jsonl`,並檢查其中是否有 name 為 `dsh-runtime-log`、message 以 `[plugin-event:start]` 開頭的記錄

03DSH 整合程度與能力邊界

DSH 整合原生執行環境

加入設定檔 `dsh.profile.bundles` 的 DSH bundle,註冊一個 Cordis logger exporter,把 WARN / ERROR 記錄寫到本機 JSONL 檔案

  • WARN / ERROR 寫入 JSONL

    經過 DSH Cordis logger 的記錄→寫進本次執行檔案的 JSONL 行;INFO 與 DEBUG 被忽略

    在本機磁碟的 runtime-log 目錄裡寫日誌檔案
  • 有界佇列與最舊記錄丟棄

    壓力下成批到來的 WARN / ERROR 記錄→佇列預設上限 2,000 筆 / 1 MiB(含正在寫入的批次),壓力下丟棄最舊記錄並計數

    壓力下記錄會被丟棄,只留下丟棄計數而不是那些行
  • 檔案輪替與跨執行 retention

    不斷成長的每次執行日誌檔案→預設 5 MiB 一段、3 個輪替段,啟動時再執行 retention,目標上限為 16 個 run 檔案(含輪替)

    啟動時刪除舊 run 檔案,但不會刪其它行程的 live / unknown run
  • 盡力而為的機密遮蔽

    有限型別的日誌參數→格式化後的記錄,辨識到的金鑰鍵、Bearer / API key 會被遮蔽;原始 args 物件不儲存

    遮蔽是盡力而為,自由文字、未知編碼或自訂錯誤內容裡的金鑰仍可能寫進日誌
  • 可設定的 sink 上限

    bundle 的 `config` 欄位(`directory`、`maxFileBytes`、`maxFiles`、`maxQueueRecords`、`maxQueueBytes`、`maxEntryBytes`、`flushIntervalMs`、`drainTimeoutMs`)→覆寫預設值;無效或 hostile 的設定會回退到預設值而不是拋錯

    相對的 `directory` 會靜默回退到預設目錄

04適合誰?何時不該用?

適合

  • 需要在事後檢視宿主警告與錯誤的 Windows 桌面版 DSH 使用者
  • 沒辦法天天盯著跑 DSH 那台機器磁碟用量的維運者
  • 要確認某個 bundle 是否乾淨載入與卸載的外掛作者與維護者

不適合

  • 0.1.0 的支援聲明很窄:僅 DSH 0.2.2-rc.1、該版本提供的 Cordis 4.1.0、Node >=24.16.0 <25、Windows x64。Node 20–23、Node 25+、其它 DSH 版本、macOS/Linux 與 Windows ARM64 都明確不在支援範圍內,bundle 的平台門檻也只允許 `win32`。
  • 只涵蓋經過 Cordis logger 的記錄:不涵蓋 console / stdout / stderr 的全部內容、session JSONL、工具執行結果,以及外掛載入前的訊息。
  • 日誌不是崩潰安全的:強制結束、斷電或關閉逾時都可能遺失緩衝區末尾的記錄;close 逾時的那次 run 會一直留在保護集合裡直到行程結束。
  • 這些檔案是本機敏感診斷資料,應按敏感日誌保管;遮蔽無法保證清除自由文字或自訂錯誤內容裡的金鑰。

05相容性、維護與安全提醒

  • 0.1.0 的支援聲明很窄:僅 DSH 0.2.2-rc.1、該版本提供的 Cordis 4.1.0、Node >=24.16.0 <25、Windows x64。Node 20–23、Node 25+、其它 DSH 版本、macOS/Linux 與 Windows ARM64 都明確不在支援範圍內,bundle 的平台門檻也只允許 `win32`。
  • 只涵蓋經過 Cordis logger 的記錄:不涵蓋 console / stdout / stderr 的全部內容、session JSONL、工具執行結果,以及外掛載入前的訊息。
  • 日誌不是崩潰安全的:強制結束、斷電或關閉逾時都可能遺失緩衝區末尾的記錄;close 逾時的那次 run 會一直留在保護集合裡直到行程結束。
  • 這些檔案是本機敏感診斷資料,應按敏感日誌保管;遮蔽無法保證清除自由文字或自訂錯誤內容裡的金鑰。
2026-11-112026-11-11v0.1.0

MIT · 僅有 README 證據,最新版本 v0.1.0,未做安全稽核

06常見問題

在 DeepSeek Harness 裡怎麼安裝 dsh-runtime-log?

把某個設定檔的相依指向本套件,並把 `dsh-runtime-log` 加入該設定檔的 `dsh.profile.bundles`,然後完整結束 DSH 再重新啟動。README 說明外掛執行時不會修改設定檔,新增 bundle 必須完整重新啟動才生效,而且這個套件目前還沒發佈到 npm。

它支援哪些 DSH、Node 與系統版本?

0.1.0 的支援聲明是:僅 DSH 0.2.2-rc.1、該版本提供的 Cordis 4.1.0、Node.js >=24.16.0 <25,以及 Windows x64。Node 20–23、Node 25+、其它 DSH 版本、macOS/Linux 與 Windows ARM64 都明確不在支援範圍內,bundle 的平台門檻也只允許 `win32`。

日誌寫到哪,怎麼確認它已經在跑?

預設目錄是 `$DSH_HOME/runtime-log`,沒有則 `~/.dsh/runtime-log`;`directory` 可以設絕對路徑(支援 `~`)。每次執行寫一個 `host-<pid>-<uuid>.jsonl`,預設每段 5 MiB、3 個輪替段;生命週期 marker 是一筆 name 為 `dsh-runtime-log`、message 以 `[plugin-event:start]` 開頭的一般 WARN 記錄。

它會記錄 DSH 宿主印出的所有內容嗎?

不會。只有經過 Cordis logger 的記錄才會被儲存;console / stdout / stderr 的全部內容、session JSONL、工具執行結果,以及外掛載入前的訊息都不涵蓋。遮蔽是盡力而為,自由文字、未知編碼或自訂錯誤內容裡的金鑰仍可能落進檔案,強制結束或斷電也可能丟掉緩衝區末尾。

08資料與來源

  • 作者聲明github.combcf9fa9bd547…

    把 DSH Cordis logger 的 WARN / ERROR 记录写到本机 JSONL,供进程重启后排查。插件只注册 logger exporter,不读取会话历史或凭据,不联网,不提供模型工具、UI 或 system prompt…

  • 作者聲明github.combcf9fa9bd547…

    把一个 profile 的依赖指向本包,并把 `dsh-runtime-log` 加入该 profile 的 `dsh.profile.bundles`,然后完整退出并重启 DSH。

此頁面根據專案公開文件、儲存庫中繼資料與 DSH Plugins 的結構化解析所產生;最後核實於 2026-11-14。發現錯誤?提交更正。

🏆

最佳 DeepSeek Harness 外掛

從全目錄挑出的 12 個值得優先安裝的外掛,涵蓋各個分類。

DSH Plugins 是獨立的 DeepSeek Harness 外掛目錄,與 DeepSeek 官方無關,也不代表官方背書。第三方外掛未經安全稽核,安裝前請審查原始碼。

每週取得最新的 DeepSeek Harness 外掛,絕不濫發。