前言¶
在 DeepSeek Harness(DSH)裏做智能體時,常見需求是「把狀態同步到某個社交平臺」——但 QQ 空間沒有面向個人開發者的穩定 OAuth 發說說 API,多數做法要麼手動開瀏覽器複製粘貼,要麼寫腳本硬啃 cookie,登錄態一過期就要重來。kdcadmin 維護的 dsh_qzone_sticker(npm 包名 dsh-qzone,當前版本 0.4.1)是 DSH 生態裏的聯網工具類插件:在本機用 headless Chrome 完成首次掃碼登錄,之後模型可通過工具主動發說說、配圖,並受每日條數與間隔限制。社區目錄頁:skillhub.cn/plugins/kdcadmin/dsh_qzone_sticker;源碼與說明:github.com/kdcadmin/dsh_qzone_sticker(MIT,GitHub 星標數爲資料記載 1)。DSH 的理念是「一切皆插件」;SkillHub 等目錄爲社區站點,與 DeepSeek / 幻方無官方從屬關係。
這是什麼¶
一句話:給 DeepSeek Harness 用的 QQ 空間插件——本機靜默起一份專屬 Chrome(headless,不佔屏幕),第一次用手機 QQ 掃碼登錄;之後不必再開瀏覽器、不必手點發表,模型可在合適時機調用工具發說說,支持正文、最多 9 張圖、公開/好友/僅自己,並可配置每天條數、兩條最小間隔與表情包目錄。
維護者:kdcadmin。插件在設置中的入口與其它內容類插件類似:設置 → 發說說。
核心功能¶
以下均來自倉庫 README,安裝前可對照 GitHub 自行覈對。
登錄與會話
- 設置頁點「生成登錄二維碼」,手機 QQ 掃碼;登錄態落在本機
~/.dsh/qzone-session.json與專屬 Chrome profile(~/.dsh/qzone-chrome),倉庫不含任何登錄信息。 - 每 20 分鐘用靜默 Chrome 刷空間主頁續
p_skey;登錄態聯網校驗,過期會提示重新掃碼。 - 支持一鍵退出:清會話並刪除專屬 Chrome profile。
發說說與配圖
- 工具
qzone_publish:正文 + 最多 9 張圖,visibility爲public/friends/private;dryRun: true僅檢查登錄不發表。 images可傳表情包路徑,或按文案關鍵詞從「表情包目錄」自動挑一張;配圖只允許該目錄下的文件。- 帶圖先發相冊接口;常見「相冊不存在」等失敗時,自動改用靜默 Chrome 走網頁 UI(填字、傳圖、點發表)。
- 文字可走
emotion_cgi_publish_v6等接口路徑(見 README「怎麼做的」);不填內容時按早/午/晚/深夜自動生成一句並配圖。
讀取與防刷
qzone_recent:讀最近說說,默認 10 分鐘緩存(~/.dsh/qzone-recent-cache.json),設置裏點「刷新」才重讀;接口受限時可從空間主頁抓取。qzone_status:查看當前登錄 QQ。- 每日上限可設 0(不限)或 1~999;兩條之間至少 60 秒。插件配置見倉庫內
cordis.patch.yml(uin / 上限 / 間隔等字段以文件爲準)。
環境與依賴¶
裝完建議按 README「裝完先做的 3 步」走:
- Node.js 22+ 與本機 Chrome(插件用 Chrome 持久 profile +
--headless=new+ CDP,不需要 Python、不需要額外下載瀏覽器)。 - 登錄:設置 → 發說說 → 掃碼;會話僅本機。
- 配圖目錄:默認從表情包目錄挑圖;可在設置裏改成自己的圖庫路徑。
package.json 要求:node >= 22,dsh >= 0.2.0-0。
安裝與啓用¶
資料中的安裝方式不是 dsh plugin add github:... 一鍵命令;當前以本地 link 進 profile 爲主,插件市場「即將上架」後可在 設置 → 插件 → 發現 搜索「QQ空間 / qzone」安裝。
下面介紹開發/本地接入方式(README 原文流程,<插件目錄> 指 clone 後的倉庫路徑):
- 本機安裝 Node.js 22+,準備好 Chrome。
- 在所用 profile 的
package.json里加入依賴與 bundle,例如 desktop profile:
// profiles/desktop/package.json
{
"dependencies": { "dsh-qzone": "link:<插件目錄>" },
"dsh": { "profile": { "bundles": ["...", "dsh-qzone"] } }
}
- 在
profiles/desktop/node_modules下建立目錄聯接(README 示例爲 Windows):
cmd /c mklink /J "profiles\desktop\node_modules\dsh-qzone" "<插件目錄>"
Linux/macOS 用戶需用本系統等價方式把 node_modules/dsh-qzone 指到 <插件目錄>,具體以實現 link 爲準。
- 重啓 DeepSeek Harness,設置裏應出現「發說說」。
典型用法¶
網頁: 設置 → 發說說 → 生成登錄二維碼 → 手機 QQ 掃 → 寫文案、選配圖與可見範圍 → 發表。
模型側工具:
| 工具 | 作用 |
|---|---|
qzone_status |
看當前登錄 QQ |
qzone_recent |
讀最近說說(發之前去重用) |
qzone_publish |
發說說,可帶 images、visibility;dryRun: true 只驗登錄 |
README 中的自然語言示例(可交給 agent 理解後調工具):
幫我在空間發一條:「發現這個空間是我的天下了哈哈哈」,配一張大肥魚統治世界的表情包。
適用場景與注意¶
適合誰: 已在 DSH 上跑 agent、希望把「發 QQ 空間說說」做成工具能力、且能接受本機常駐 Chrome 與 QQ 掃碼登錄的開發者或個人用戶。
安全與權限(README 摘要):
- 只會操作當前掃碼登錄的那個 QQ 空間。
- 插件以當前 DSH 進程權限運行;安裝前應閱讀源碼與 MIT 許可證,確認 cookie 不落庫、路徑與上限策略符合你的預期。
- 全程不讀取、不復述、不保存 cookie 到倉庫;配圖路徑受目錄限制。
實現要點(便於排查): 靜默 Chrome 專屬 profile、CDP 掃碼與帶圖兜底(Page.setInterceptFileChooserDialog 等)見 README「怎麼做的」與目錄結構(index.js、lib/qzone.js、lib/silent.js 等)。
結尾¶
dsh_qzone_sticker 把 QQ 空間的掃碼登錄、會話保活、接口發表與網頁 UI 兜底收進一個 DSH 插件,讓模型通過 qzone_publish 等工具在規則內主動更新空間,而不是每次讓人開瀏覽器。細節與更新以 GitHub README 爲準。