在对话里读朋友圈、发图文动态并回复评论
29.5/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add zhuiming2333/dsh-wechat-moments该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · platform
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 23 处,展示前 14 条)
- 读取本地文件plugin/lib/index.js:42
if (!existsSync(file)) continue - 读取本地文件plugin/lib/index.js:43
return JSON.parse(readFileSync(file, 'utf8').replace(/^ FEFF/, '')) - 发起网络请求plugin/lib/index.js:83
return fetch(url, { - 读取本地文件plugin/lib/index.js:165
if (!existsSync(root)) return - 读取本地文件plugin/lib/index.js:168
entries = readdirSync(root) - 读取本地文件plugin/lib/index.js:172
return statSync(entry.path).isDirectory() - 读取本地文件plugin/lib/index.js:179
return { ...entry, mtime: statSync(entry.path).mtimeMs } - 删除本地文件递归plugin/lib/index.js:190
rmSync(entry.path, { recursive: true, force: true }) - 写入本地文件plugin/lib/index.js:236
mkdirSync(dir, { recursive: true }) - 写入本地文件plugin/lib/index.js:238
writeFileSync(join(dir, 'meta.json'), JSON.stringify(meta, null, 2), 'utf8') - 写入本地文件plugin/lib/index.js:239
writeFileSync(join(dir, 'status.json'), JSON.stringify({ state: 'queued', exitCode: 0, message: '', updatedAt: new Date().toISOString() }), 'utf8') - 写入本地文件plugin/lib/index.js:245
writeFileSync(join(dir, 'args.json'), JSON.stringify({ ...args, skillDir: config.skillDir }, null, 2), 'utf8') - 执行外部命令固定命令plugin/lib/index.js:263
const child = spawn( - 写入本地文件plugin/lib/index.js:269
writeFileSync(join(dir, 'status.json'), JSON.stringify({
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
微信朋友圈插件 + 技能包,给 DeepSeek-Harness (DSH) 用:读时间线/看评论/发朋友圈/回评论,写走桌面 UI 自动化
README
由 DeepSeek 最新模型翻译生成适用于 DSH 的 wechat-moments
开源地址:github.com/zhuiming2333/dsh-wechat-moments(MIT)
这里只是打包快照。最新版、issue、更新都以仓库为准。
给 DeepSeek-Harness(DSH)用的微信朋友圈插件 + 技能包。
装完你能在对话里直接说:
- 「看看我朋友圈有什么」→ 读时间线
- 「发条朋友圈,配这张图」→ 自动点微信 UI,发出去
- 「有没有人评论我」→ 列出待回复评论
- 「回一下那条评论」→ 自动定位、输入、发送
发帖和回复走桌面 UI 自动化(PowerShell + Win32 + Windows OCR),读数据走 WeChatAgent 的 reader API(解密后的本地 SQLCipher 库)。
展开完整文档(README 剩余 1 节)
适用于 DSH 的 wechat-moments
开源地址:github.com/zhuiming2333/dsh-wechat-moments(MIT)
这里只是打包快照。最新版、issue、更新都以仓库为准。
给 DeepSeek-Harness(DSH)用的微信朋友圈插件 + 技能包。
装完你能在对话里直接说:
- 「看看我朋友圈有什么」→ 读时间线
- 「发条朋友圈,配这张图」→ 自动点微信 UI,发出去
- 「有没有人评论我」→ 列出待回复评论
- 「回一下那条评论」→ 自动定位、输入、发送
发帖和回复走桌面 UI 自动化(PowerShell + Win32 + Windows OCR),读数据走 WeChatAgent 的 reader API(解密后的本地 SQLCipher 库)。
它长什么样
| 工具 | 做什么 | 走哪条路 |
| wechat_moments_feed | 读朋友圈时间线 | reader API(只读) |
| wechat_moments_comments | 列出待回复评论 | reader API(只读) |
| wechat_moments_post | 发一条带图朋友圈 | UI 自动化(30–90 秒,异步) |
| wechat_moments_reply | 回复某条评论 | UI 自动化(30–90 秒,异步) |
| wechat_moments_job | 查异步任务进度 | 本地 job 目录 |
发帖 / 回复是异步的:工具立刻返回 jobId,后台跑 PowerShell 脚本,再用 wechat_moments_job 轮询问结果。
安装
powershell -NoProfile -ExecutionPolicy Bypass -File .\setup.ps1
不需要手工改任何文件、填任何 token。 脚本会自己探测:
1. 扫盘找 WeChatAgent 的 workspace
2. 从 state\wechat-io-config.json 读 reader 地址和 token
3. 问 reader 要本账号 wxid
4. 给 reader-api.py 注入朋友圈只读路由
5. 装技能脚本到 ~\.dsh\skills\wechat-moments-post
6. 装插件到 ~\.dsh\profiles\desktop
7. 写共享配置 ~\.dsh\wechat-moments.config.json
8. 自检三项
装完重启 WeChatAgent、重启 DSH 就生效。
详细步骤和排错见 INSTALL.md。
前置条件
- Windows 10 / 11
- 微信 PC 版 4.1.x,已登录
- WeChatAgent 已安装,reader API 在 5031 端口活着
- DSH 桌面端至少启动过一次
设计要点(踩过坑的地方)
窗口尺寸不写死
发帖前把微信主窗口统一成 980×900(屏幕小时按工作区自动缩),所有坐标在运行时 GetWindowRect 现算。换一台分辨率不同的机器也能跑。
绿色「发表」按钮按连通域找,不按行找
按钮上是白字,白字会把绿色横条切成碎段 —— 按「最长绿色 run」扫永远扫不到,于是回退到猜坐标,就会点歪点到图片上。改成 4px 网格 + BFS 连通域,白字被网格跨过去。
相册窗口不属于 Weixin 进程
「我的朋友圈」相册是 CEF 渲染的,class 是 Chrome_WidgetWin_0,属于 WeChatAppEx 进程,标题还是「微信」。按「Weixin 进程 + Qt51514 class + 标题=朋友圈」过滤永远找不到。
资料卡是独立顶层窗口,有两种尺寸
328×335 和 492×503 都会出现。尺寸上限设窄了会把大卡滤掉,导致「以为卡没弹出 → 再点头像 → 把卡关掉」的死循环。
回复入口是「昵称右边、时间戳左边」那块空白
点昵称会弹个人资料卡(错),点时间戳没反应(错),点两者之间的空白才弹回复框。
安全闸:占位字必须对得上才发
回复框弹出后占位字是 回复 <显示名>。脚本拿它和目标显示名比相似度,不够就 一个字都不发、直接退出。宁可不回,也不能回到别人头上。
显示名 ≠ 数据库昵称
DB 里叫 真由理,界面上印的是备注名 南华。按 DB 昵称去界面找永远找不到,所以先调 /api/v1/contacts 拿 displayName 再定位。
永远不要发 Esc
按 Esc 会把微信整片窗口关掉,白屏重启,正在跑的流程全废。
DSH 在 Windows 作业对象里
spawn(..., {detached: true}) 的子进程一创建就被回收(spawn 报成功、进程从未运行)。
必须两层派发:spawn → powershell -Command → Start-Process。
目录结构
setup.ps1 一键安装(自动探测,无占位符) INSTALL.md 详细安装说明 + 6 类常见问题注意事项.md 使用前必读的坑 plugin/ DSH 插件 package.json cordis.patch.yml lib/index.js 5 个工具 + 异步 job 派发 lib/runner.ps1 调 skill 脚本的薄壳 reader/ 给 WeChatAgent 的 reader 补丁 patch-reader.py 幂等注入,锚点不匹配时拒绝写入 sns_routes.py 自包含的 SNS 只读路由 skills/wechat-moments-post/ PowerShell 技能脚本 wechat-moments-post.ps1 发帖 wechat-moments-reply.ps1 回复评论 moments-inbox.ps1 看有没有人评论 bili-share-to-moments.ps1 把 B 站视频发朋友圈 wx_ocr_probe.ps1 OCR 窗口文字 SKILL.md 技能说明(给模型看)
为什么读数据还要依赖 WeChatAgent
sns.db 用 SQLCipher 加密,密钥由 WeChatAgent 通过 Windows DPAPI 解出(decryptKey = "userdpapi:..."),再在它自己的 Python 进程里解密分页读取。
写(发帖 / 回复)完全不依赖它 —— 那是纯 UI 自动化。
想彻底去掉这个依赖,需要在 Node 里重做 SQLCipher 分页解密(PRAGMA key = "x'<key_hex><salt_hex>'",密钥 =
PBKDF2-HMAC-SHA512(passphrase, salt, 256000, 32))+ DPAPI 绑定。当前没做。
已知限制
- 正文短于 4 字的动态在相册里没法靠正文定位,脚本直接报错退出(不盲目滚动)。
- 界面已无但 DB 还有的评论:脚本会在详情页滚 8 段后放弃,不会错发。
- 评论者的显示名如果被 OCR 读成 1 个字(如「源」→「0」),定位会退化到按正文兜底。
- 依赖中文 OCR,非中文界面未测。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
zhuiming2333/dsh-wechat-moments
在对话里读朋友圈、发图文动态并回复评论
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,170已汉化DeepSeek 客户端
71
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,041已汉化DSH
70.7
这是你的仓库?认领条目