前言¶
在 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 为准。