dsh-scheduled-reports:用 DSH 每週自動生成 Word 定時報告

前言

DeepSeek Harness(DSH)適合按需對話式完成任務,但「每週固定看幾類信息」——本機資源、模型動態、已裝插件是否有更新——往往還要自己記日程、手動開 agent。把同一套流程寫成計劃任務,又涉及 headless 調 DSH、Markdown 落盤、轉 Word,以及失敗時計劃任務仍顯示成功等細節。

dsh-scheduled-reports 由維護者 xiangshu2026 發佈,在 SkillHub 插件目錄 中歸類爲工作流。它本質上是「定時拉起 DSH,按 tasks/*.md 裏的中文任務說明生成 Markdown,再轉成 Word」的 Windows 調度殼;報告質量取決於任務說明怎麼寫,改 md 即可生效,不必改代碼。默認不讀聊天記錄、不讀瀏覽器、不上傳內容;電腦狀況報告默認對盤符與進程名脫敏。

這是什麼

一句話:給 DeepSeek Harness 用的無人值守定時報告系統——每週(或可改頻率)自動生成多份報告,輸出爲 .docx 存到指定目錄,支持開機補跑與日誌追溯。

技術棧爲 Windows 批處理 + PowerShell + Python(python-docx 轉 Word)。平臺 badge 標明 Windows;Linux / macOS 不適用。許可證爲 MIT(package.json 版本 1.0.0)。GitHub 倉庫當前星標爲 1。

四份報告分別做什麼

報告 內容 需要聯網
電腦狀況報告 磁盤 / 內存 / CPU / 開機時長等運行時快照 否
AI 大模型動態 最近 7 天 AI 領域新消息 是
插件更新檢查 已裝 DSH 插件在 npm 上是否有新版本 是
DSH 插件週報 最近 7 天新出的 DSH 插件(GitHub + B站) 是

聯網類任務成本更高;可在配置裏從任務列表中去掉不需要的報告,少跑一份少花一份模型與搜索開銷。

核心機制(便於排查)

任務說明與採集分工

  • tasks/*.md:純中文任務說明書,用大白話描述每份報告要什麼;新建英文名 .md 並加入 TASKLIST 即可擴展自定義報告。
  • collect-system-info.ps1:在 agent 沙盒外以完整權限採集 WMI/CIM 數據,寫入 system-info.txt;agent 只讀該文件並寫報告(沙盒內無法可靠查系統信息)。
  • 插件更新:collect-plugin-updates.ps1 讀 DSH profile 的 package.json,逐個查 npm registry。link: / file: / github: 來源的本地插件在 npm 上查不到時會標爲 registry-error,屬預期行爲。
  • 插件週報:獨立子目錄 plugin-weekly/,詳見該目錄下 README.md。

隱私開關(電腦狀況)

collect-system-info.ps1 的 -Redact 默認爲 1:盤符映射爲 disk-1/disk-2,進程名爲 app-01/app-02,PID 爲 hidden;容量、佔用率、CPU 百分比仍保留。設爲 0 則顯示真實盤符與進程名,僅適合單人本地查看。

健康檢查:sentinel 與 report_health

計劃任務常見陷阱是退出碼 0 但無產出。run-sentinel.cmd 不看任務返回值,而看副作用(報告目錄是否新鮮、份數與類別是否齊全、審計與日誌時間等),退出碼分 0 全綠 / 1 告警 / 2 嚴重。

作爲 DSH 插件裝入 profile 後,倉庫通過 Cordis patch 註冊工具 report_health,供模型調用同一套檢查邏輯,例如:

report_health()
report_health({ reportsDir: 'D:\\Reports', maxReportDays: 14 })

自測:node test/selftest.mjs。

安裝與啓用

環境要求

  1. Windows,且 DeepSeek Harness 桌面版已安裝,dsh 命令可用。
  2. Python 3.9+,並安裝轉 Word 依賴:
pip install python-docx
  1. API Key:headless 模式只從進程環境變量讀取。腳本會從 %USERPROFILE%\.dsh\.credentials.yaml 的 refs: 段注入 DEEPSEEK_API_KEY;也可直接設置環境變量 DEEPSEEK_API_KEY。

按 README,先放到固定目錄,例如 %USERPROFILE%\.dsh\scheduled:

git clone https://github.com/xiangshu2026/dsh-scheduled-reports.git "%USERPROFILE%\.dsh\scheduled"

SkillHub 目錄頁與 GitHub 爲同一項目入口;社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

手動試跑

確認目錄與憑據後,在倉庫根目錄執行:

run-reports-now.cmd

會提示大致調用次數與耗時,按任意鍵開始。報告默認落在 %USERPROFILE%\Desktop\DSH-Reports\<YYYY-MM-DD>\,目錄內只保留 .docx。

註冊爲每週自動任務

示例:每週一 9:00 執行:

$action  = New-ScheduledTaskAction -Execute "cmd.exe" -Argument '/c "%USERPROFILE%\.dsh\scheduled\run-daily-task.cmd"'
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday -At 9am
Register-ScheduledTask -TaskName "DSH-Scheduled-Reports" -Action $action -Trigger $trigger

卸載:

Unregister-ScheduledTask -TaskName "DSH-Scheduled-Reports"

可選:每日 9:30 跑哨兵:

$action  = New-ScheduledTaskAction -Execute "cmd.exe" -Argument '/c "%USERPROFILE%\.dsh\scheduled\run-sentinel.cmd"'
$trigger = New-ScheduledTaskTrigger -Daily -At 9:30am
Register-ScheduledTask -TaskName "DSH-Sentinel" -Action $action -Trigger $trigger

配置要點

在 run-daily-task.cmd 頂部改三項(README 建議權限項勿隨意放寬):

設置 默認 說明
WORKDIR %USERPROFILE%\Desktop\DSH-Reports 報告輸出根目錄,也是 agent 可寫範圍
DSH_PERMISSION_MODE workspace-write 不建議改爲 danger-full-access(無人值守風險高)
KEEPDAYS 180 超期報告自動清理;不宜調太低

選擇跑哪些報告,修改 TASKLIST,例如:

set "TASKLIST=1-computer.md 2-ai-models.md 5-plugin-updates.md"

從該行刪除文件名即可跳過對應任務。插件週報是否在默認列表中,以你本地 run-daily-task.cmd 爲準。

典型用法與排錯

看本次是否全部成功

查看 logs\summary-<日期>.log 最後一行:RUN END: ALL OK 表示全部成功,SOME TASKS FAILED 表示有失敗。單任務細節見 logs\<日期>-<任務名>.log,結尾 exit=0 爲成功。

常見問題

  • MISSING_CREDENTIAL:檢查憑據文件 refs: 或環境變量 DEEPSEEK_API_KEY。
  • 批處理裏爲何幾乎無中文:README 說明 cmd.exe 多字節會導致行錯位;中文應寫在 tasks/*.md。
  • 耗時與費用:README 稱三份報告約 4–5 分鐘;聯網與模型調用纔有明顯 API 成本。

適用場景與注意

適合:已在 Windows 上使用 DSH,希望無人值守、定期把幾類信息落成 Word、並能在本機用日誌與 sentinel 覈對是否真的產出。

務必知曉:

  • 插件與定時任務會以當前配置的 DSH 權限在本地執行;安裝前應閱讀源碼與 MIT 許可證,確認 DSH_PERMISSION_MODE 等設置符合你的安全預期。
  • 報告內容由模型生成,聯網類可能日期或鏈接不準,宜作參考而非唯一事實源。
  • 斷網時 AI 動態與插件週報會失敗,電腦狀況與 npm 插件檢查仍可能部分可用(視網絡子任務而定)。
  • 已知邊界:僅 Windows;依賴 DSH 本體;不做數據上傳。

商業嵌入(付費服務、商業系統等)README 建議先聯繫維護者 whnbsnm@foxmail.com(MIT 仍允許使用,維護者希望瞭解用途並可提供定製支持)。

結尾

dsh-scheduled-reports 把「每週幾類固定報告」收斂成可配置的 DSH 任務列表 + Windows 計劃任務 + Word 落盤,並用 sentinel / report_health 針對「假成功」做副作用檢查。目錄與源碼:

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

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

小夜