前言¶
給公衆號穩定產出文章,工序不少:找選題、列大綱、寫成稿、查質量、按微信排版要求渲染、配圖,最後推進草稿箱。手工做,每次都要在幾個工具之間來回切;自己寫腳本拼管線,運行記錄、狀態管理、憑據存放又都得自己兜底。
dsh-wewrite 解決的就是這個問題。它是 DeepSeek Harness(DSH)的一個插件,把上面這整條管線產品化:一條命令安裝,在本地 Web UI 裏從選題一路走到草稿箱,模型與憑據走你自己的賬號,數據只落本地。
這是什麼¶
dsh-wewrite 由 jerryjiao 維護,MIT 協議開源。一句話定位:把一整套微信公衆號 AI 寫作管線(選題 → 大綱 → 成稿 → 質量門禁 → 排版渲染 → 配圖 → 草稿箱)產品化的 DSH 插件。
適用環境:DSH v0.1.x developer preview,Node ^22.19.0 || >=24.0.0,前提是機器上已能運行 npx @deepseek-ai/dsh。
模型不需要在插件裏單獨配:文本生成直接用 DSH 原生的模型配置(ctx.llm,即 DSH 設置頁裏配的模型),也可以對單次運行覆蓋 provider / model。
核心功能¶
選題與逐條 AI 速覽¶
熱門榜選題內置 Hacker News(走官方 Algolia 索引,無需 key),另外支持 DailyHotApi 兼容的自定義聚合源。點開熱榜條目,插件會抓取原文並生成中文要點速覽——抓取有三條約束:8 秒超時、2MB 上限、僅接受 text/html;抓不到原文自動降級爲標題解讀。速覽按條當日緩存。
六步管線與質量門禁¶
選定主題後,管線按選題 → 大綱 → 成稿 → 門禁 → 渲染 → 配圖六步自動執行,進度即時可見。成稿先過質量門禁:內容質量校驗加編號配圖一致性校驗。門禁未過會阻斷默認推送路徑——可以改稿重過,也可以顯式覆蓋。
編輯器與微信預覽¶
改稿在 Markdown 編輯器裏做,右側是微信預覽,預覽 HTML 與最終推送載荷字節一致。排版主題三套:professional-clean / tech-dark / minimal-gray。
局部修改用「AI 選中改寫」:選中一段文字,給一句話指令,AI 只重寫選中段落並原位替換,Ctrl+Z 可撤銷,全文其餘部分不動。內置四個快捷方向:更口語 / 精簡一半 / 擴寫細節 / 更有數據感。
配圖 fallback 鏈¶
配圖按 9 家圖片供應商的 fallback 鏈依次嘗試:
openai(gpt-image-2)→ doubao → dashscope → jimeng → minimax
→ azure_openai → gemini → openrouter → replicate
單家失敗自動降級下一家;全部失敗時無圖推進,不阻塞成稿。缺省鏈只含 openai(gpt-image-2),其餘 8 家在設置頁按需增排。單圖上限 10MB,單篇正文圖上限 10 張。
定時任務¶
RRULE 規則定時跑管線,產物恆定推草稿箱,運行歷史完整可審計;錯過計劃時刻不補償。
對話框直寫(v0.4.0 起)¶
除工作臺外,也可以在 DSH 對話框裏直接驅動管線:對 agent 說「用 wewrite 寫一篇……」,六步進度即時出現在對話流裏。推送動作必須經宿主原生審批面板人工確認,審批不可用即拒絕執行。
安裝與啓用¶
先確認前提:Node ^22.19.0 || >=24.0.0,且已能運行 npx @deepseek-ai/dsh。
安裝插件(命令固定在 #v0.2.0 標籤):
npx @deepseek-ai/dsh plugin --profile web add github:jerryjiao/dsh-wewrite#v0.2.0
需要卸載時:
npx @deepseek-ai/dsh plugin --profile web remove dsh-wewrite
啓動 DSH Web:
npx @deepseek-ai/dsh web
打開 http://127.0.0.1:3080 ,會話視圖環裏會出現「wewrite 工作臺」tab。
然後在設置頁填公衆號 AppID + AppSecret;圖片供應商 API Key 可選,不配則文章無圖推進、不阻塞發佈。保存後點「連接測試」。憑據只經 DSH 憑據服務落本地 ~/.dsh,界面回顯掩碼。
典型用法¶
工作臺路徑:
- 在「選題」面板選一條熱榜,點開先看 AI 速覽;
- 合適就點「寫這個」(或直接輸入固定主題),管線自動跑完六步;
- 在編輯器裏改稿,右側微信預覽確認排版;
- 點「推草稿箱」,之後到微信公衆平臺後臺「內容與互動 → 圖文素材」查看草稿。
對話框路徑:對 agent 說「用 wewrite 寫一篇……」,或使用命令:
/wewrite <主題>
需要推送時對 agent 說「推草稿箱」,宿主審批面板確認後即推草稿。
適用場景與注意¶
適合誰:已經在用 DSH、需要週期性給公衆號產出內容、希望整條管線在本地跑、模型與憑據用自己的賬號的寫作者。選題、速覽、成稿、排版、配圖、定時這些環節插件都內建了,不需要自己拼腳本。
用之前有幾件事需要知道:
- 插件以當前 dsh 進程的權限運行,安裝前建議先檢查源碼與許可證(MIT)。
- 默認只到草稿箱:v0.1 的推送面只有 draft/add 族端點,freepublish / 羣發調用路徑在類型層不可達,羣發必須由你在公衆平臺後臺人工執行。
- 微信服務端接口有 IP 白名單約束。報 errcode 40164 時,可以把設置頁的「微信 API 地址」改爲 relay 地址(倉庫自帶 tools/wechat-relay),所有微信調用統一走該地址。
- 憑據與數據只落本地
~/.dsh;插件無默認遙測,secret / access_token / API key 在日誌、錯誤與運行歷史中一律掩碼。 - Agent 工具(
wewrite_run/wewrite_push_draft/wewrite_list_schedules)默認關閉,需要時在設置裏打開。 - 運行歷史上限缺省 200(可配 1–1000);調度輪詢間隔缺省 30 秒(宿主級 cordis.patch.yml 層配置)。
小結¶
dsh-wewrite 把公衆號寫作裏重複、機械的部分——選題、成稿、排版、配圖、推草稿——收進一條可審計的本地管線,把需要人判斷的部分(改稿、推送審批、羣發)留給你。如果已經在跑 DSH,一條命令就能把它裝進工作臺。
- 社區目錄頁(獨立社區站點):https://www.skillhub.cn/plugins/jerryjiao/dsh-wewrite
- GitHub 倉庫:https://github.com/jerryjiao/dsh-wewrite