dsh-qzone-post:用协议端操作 QQ 空间,不必开浏览器

前言

在 DSH 里让智能体代管自己的 QQ 空间,常见做法是挂浏览器、维护 cookie,或手写脚本去点网页版发表框。步骤多、环境重,还容易因为超时重复发帖。下面介绍的 dsh-qzone-post 面向「发说说、看动态、改资料、换头像」这类自用场景:默认走 SnowLuma / NapCat 协议端自带的空间接口,不装浏览器、不需要 cookie;协议端不支持时再退到浏览器兜底(CDP 点网页版,结果会标 通道: 浏览器)。

这是什么

dsh-qzone-post 是 DeepSeek Harness(DSH)社区目录中的联网工具类插件,维护者为 wang1048920402,源码与说明见 GitHub 仓库,目录页为 SkillHub 插件页。许可证为 MIT,运行环境要求 Node.js ≥ 22。

插件定位是:拿你自己的 QQ 号在空间侧说话——发带图说说、查看最近动态、改昵称/签名/性别、换头像。它不会定时自动发,也不会往群里广播。

核心功能

四个工具

工具 作用
qzone_state 昵称、签名、最近动态、今天发了几条、最近操作
qzone_publish 发说说(friends 好友 / public 所有人 / self 仅自己),可带图
qzone_profile 改昵称(≤16 字)、签名(≤80 字)、性别(0/1/2),改完回读
qzone_avatar 换头像(一张图)

设置面板

安装并在 DSH 设置页左侧出现 QQ 空间 后,面板有三个页签:

  • 总览:当前登录号、昵称、今日条数、最近说说、最近操作、日志
  • 发布:正文、可见范围、图片;「预览(不发)」只演练,不调用写接口
  • 设置:三个许可开关、浏览器兜底、演练模式、默认可见范围、频率与字数上限、协议端地址与令牌

图片输入

图片一行一个,支持 HTTPS URL、Windows 绝对路径、以及 ~/.dsh/... 形式的本机路径。本机会校验存在性、格式(png/jpg/gif/webp)、单张 ≤6MB,原样交给协议端(GIF 保持动图)。相对路径会直接报错;最多 9 张,自动去重。

协议端与兜底

协议端地址按顺序解析:插件配置里的 napcat / token → ~/.dsh/qq-bridge-config.json 中的 NapCat / 令牌(若已装「通到 QQ」可不必重复填)→ 默认 http://127.0.0.1:3000。

插件内置防重复与频率限制:相同正文不重复发;动态默认间隔 30 分钟、每日最多 6 条;资料/头像 60 分钟;接口超时记 unknown 时先核对最近动态再决定是否重发。dryRun: true 时只回参数不真调接口。

安装与启用

官方 README 给出的安装方式如下(装完需重启一次 DSH,设置页才会出现「QQ 空间」):

# 方式一:从 tgz 装(推荐)
dsh plugin add <path>\dsh-qzone-post-1.0.0.tgz

# 方式二:直接用目录(开发时)
#   把本目录放到 %USERPROFILE%\.dsh\dsh-plugins\ 下,profile 的 package.json 里加:
#   "dsh-qzone-post": "link:C:/Users/<你>/.dsh/dsh-plugins/dsh-qzone-post"

说明:npm 包 package.json 中当前版本号为 1.0.2;若你手头的 tgz 文件名与 README 示例不一致,以实际文件名替换 <path>\dsh-qzone-post-1.0.0.tgz 即可。

用户级配置写在 ~/.dsh/qzone-self-config.json,改完立即生效,无需重启 DSH:

{
  "allowPublish": true, "allowProfile": true, "allowAvatar": true,
  "defaultVisibility": "friends",
  "postCooldownMinutes": 30, "postDailyLimit": 6,
  "profileCooldownMinutes": 60, "maxChars": 600,
  "dryRun": false, "browserFallback": true,
  "napcat": "", "token": ""
}

操作记录在 ~/.dsh/qzone-self/state.json(最近 7 天、最多 200 条,仅存状态与摘要,不存凭证)。

典型用法

  1. 确保 NapCat / SnowLuma 已登录 QQ(面板若显示「没登录」,先用协议端 get_login_info 排查)。
  2. 在 DSH 设置 → QQ 空间 → 设置 中填好协议端地址与令牌(或依赖 qq-bridge-config.json)。
  3. 通过智能体调用 qzone_state 查看昵称与最近动态;需要发帖时调用 qzone_publish,正文与可见范围按工具参数传入,图片按上文格式一行一个路径或 URL。
  4. 改资料用 qzone_profile,换头像用 qzone_avatar;首次可在 发布 页用「预览(不发)」确认参数。

图片示例(三种写法均可):

https://example.com/a.png
C:\Users\你\Pictures\a.gif
~/.dsh/meme-packs/whale-girl-emoji/memes/happy/xxx.webp

排错时可对照 README:发出去没 tid 时先到空间里确认,勿盲目重发;「操作太密」则检查 postCooldownMinutes 与 postDailyLimit;图片失败则查绝对路径、格式、大小及协议端是否支持 file://。

底层空间相关接口参考 SnowLuma:send_qzone_msg、get_qzone_msg_list、set_qq_profile、set_qq_avatar。实现思路与 skills-qq-self 类似(先落盘、超时核对、可见范围码 1/4/64)。

适用场景与注意

适合谁:已在 DSH 里跑智能体、希望用工具链管理自己 QQ 空间(说说、资料、头像)的开发者;已有或可部署 NapCat / SnowLuma 一类 OneBot 协议端。

务必注意:

  • 插件以当前 DSH 进程权限运行,安装前请自行审阅 源码 与 MIT 许可证,确认可接受其网络与本地文件访问范围。
  • 社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本文仅介绍社区插件能力,不代表官方背书。
  • 仅用于自有账号;勿将令牌或配置泄露到不可信环境。

结尾

dsh-qzone-post 把 QQ 空间的读写收成四个 DSH 工具加一个设置面板,优先走协议端、必要时浏览器兜底,并带查重、频率与超时核对,减少误重发。需要详情与 issue 请访问 GitHub,在目录浏览请打开 SkillHub 插件页。

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

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

小夜