前言¶
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。
安裝與啓用¶
環境要求¶
- Windows,且 DeepSeek Harness 桌面版已安裝,
dsh命令可用。 - Python 3.9+,並安裝轉 Word 依賴:
pip install python-docx
- 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 針對「假成功」做副作用檢查。目錄與源碼: