前言¶
给智能体开发者写工具时,一个常见情形是:希望助手能自己按人格和兴趣去刷内容,而不是每次临时拟一份行为脚本。社区目录里的 dsh-douyin-mac 就是这类尝试,它把上游 dsh-douyin-agent 1.4.6 的实现移植成 DSH 插件,限定在 macOS + Google Chrome 的形态上,只认专用 Chrome 窗口,不再附带 Windows 独立软件或 Electron 打包。
下面介绍它的来源归属、可用能力、安装方式和已知边界。它由 asd45183 发布维护,项目 package.json 的 author 字段是 LockyBee(上游作者),README 也声明这是第三方适配,不是 DeepSeek 官方发行版。
基本定位¶
插件形态只有一个:设置入口在 DSH 的「设置 → 刷抖音」。主模型直接使用 DSH 已配置的提供商和模型(需支持图片)。状态、人格、兴趣与记忆保存在 ~/.dsh/douyin-browser/,专用 Chrome 资料目录是 ~/.dsh/douyin-browser/cli-profile,和日常浏览器互相隔离。
浏览器控制通过 Playwright 启动这个独立资料目录的 Chrome,再连接本机 CDP。Chrome 136 起默认资料目录不允许开远程调试,README 说明专用目录就是为了规避这一限制。
已核实的核心功能¶
自主观看:在「视频观看」里选时段,按需展开「高级选项」设置每日观看分钟数和每日模型请求数(均可选不限),打开「允许自动观看」后,插件在额度内挑片、停留、换片或停止,保留手动启动/暂停按钮。人格与兴趣共用一张人格卡,兴趣依据实际播放进度、观看比例和已确认互动更新,看到主题不等于喜欢。
好友互动:一个总开关管理许可会话的新消息回复,以及观看过程中的自主分享,默认开启。本人需要手动勾选许可好友或群聊,插件不会自行添加许可会话,也不设人数、回复请求数或分享次数的业务上限(模型调用仍消耗额度)。被撤回的记录和系统通知不自动回复。
群聊回复:只回复已许可群聊中 @ 了机器人、或叫到设定昵称的消息。引用预览里的旧 @ 不触发群回复。
自主分享:通过官方面板发送当前实际观察的作品卡片,按平台稳定身份绑定收件人,同作品同会话去重。多对象分享按顺序逐个发送,页面顶部显示当前分享进度;点击结果不明时暂停后续分享并保留收据,不自动重发。
公开评论:独立开关,默认关闭;保留每日和每次观看的尝试上限,同一作品不重复评论。
静默观看:持续静音,核实窗口归属后尝试最小化,仍然使用有窗口的 Chrome。
可选音频:本地 Whisper 转写对白,视频音频还可选择 MiMo 或 MiniMax 云端后端。README 标注本机未安装 ffmpeg 和本地 Whisper 时该用例未通过,音频功能保持默认关闭。
观看日报:从本机观看记录生成 Markdown,不额外调用模型。
分镜采样:观看决策、视频回复和视频观察会把同一作品的多张 JPEG 采样拼成一张带格编号的图片,默认总像素预算 480000,每格时间写在模型可读清单里。另有 douyin_video_zoom 工具按 storyboardSampleId、cell、videoId 读取指定格原图,仅限最近一分钟采样。
自检与用量:一键诊断、限定修复建议、实际请求与已报告 token 用量、进行中状态。
上面每项都来自 README 的功能表和正文。分工为自己整理的总结性描述,字段名和数值以 README 为准。
安装与启用¶
环境要求:macOS、Google Chrome、Node.js 22.13+、兼容的 DSH(engines.dsh 为 >=0.2.1-rc.2 <0.3.0-0)。从 npm 安装到 web profile:
dsh plugin --profile web add dsh-douyin-mac@0.1.15
本地开发也可以从源码目录安装:npm install 后执行 dsh plugin --profile web add .。两种方式不要同时用。
DSH 配置变化后,重启同一份 DSH 即生效。
第一次使用¶
按 README 的四条执行:
- 在「刷抖音 → 基础设置 → DSH 模型」选择支持图片的提供商与模型。
- 点击「打开抖音」,在专用 Chrome 中手动登录或完成验证码;登录态保存在专用资料目录。
- 在「视频观看」选择时段,按需展开「高级选项」设置每日分钟数和每日请求数,再开启「允许自动观看」。
- 在「好友互动」读取当前会话,核对稳定身份并勾选许可好友或群聊,按需填写群聊响应昵称。
普通设置自动保存,文本输入离开输入框后提交,失败保留草稿。音频 Key 在「音频与密钥」密码框填写,保存后不回显。
修改昵称、简介和头像¶
插件自带一个编辑脚本,默认预演,只有显式 --apply 才会保存:
cd dsh-douyin-mac
# 预演:只填入/预览,不保存
node scripts/profile-edit.mjs --nickname "新昵称" --bio "新简介"
# 保存(昵称 ≤20 字,简介 ≤200 字)
node scripts/profile-edit.mjs --nickname "新昵称" --bio "新简介" --apply
# 换头像(png/jpg/webp/bmp),保存后进入平台审核
node scripts/profile-edit.mjs --avatar /绝对路径/avatar.png --apply
脚本通过本机 9227 端口操作专用 Chrome,需要先在插件里「打开抖音」。三点要留意:修改资料可能触发抖音短信身份验证,脚本会提示需要验证码,不会误报成功;头像保存后显示「审核通过后展示」,审核期间资料页可能仍是旧图;设置页「抖音账号 → 编辑个人资料」也提供昵称/简介/头像入口,同样是预演加二次确认保存。
适用场景与注意¶
适合已经在用 DSH、希望助手按固定人格长期维护兴趣画像、并且愿意接受「有窗口的专用 Chrome」这一运行形态的开发者。所有行为都跑在当前 dsh 进程权限下,插件能做的事受该进程能访问的目录和网络范围约束。安装前建议先打开仓库根目录核对源码与许可证:原创代码采用 MIT,第三方通知见 THIRD_PARTY_NOTICES.md,来源说明见 docs/reuse.md 和 desktop/UPSTREAM.md,模型使用说明见 skill/SKILL.md。
关于验证边界,README 说得比较直接:macOS 移植的实机结果和已知失败分类见 docs/verification/mac-0.1.0-20261104.md。推荐流仍可能换片失败;真实公开评论发布确认、连续两小时播放、真实群聊与多收件人分享仍待验。历史 Windows 的结果保留在原版本记录中,不自动适用于本移植。
操作上的几条边界也写在这里,避免误读:同一时刻只运行一条自主观看,暂停、重启或改设置不清空当天用量;无效或截断的观看决策不执行动作,重新观察后再判断,连续三次无效会停止本次观看,每次模型调用都计入每日预算;升级、配置、隐私和许可风险请自行判断。
测试命令:
npm test
npm run test:native
README 提醒,测试使用临时目录、合成模型或临时浏览器,不应把测试通过写成真实平台联调通过。运行状态、Key、登录资料、私信及联系人记录不进入仓库。
结尾¶
dsh-douyin-mac 的价值在于把「自主观看 + 人格记忆 + 许可式好友互动」收进一个边界清晰的插件里,并把形态明确收敛到 macOS 的 Google Chrome。它的能力上限取决于上游实现和本机环境,验证到什么程度、还有哪些待验项,README 里都有对应说明。
目录页:https://www.skillhub.cn/plugins/asd45183/dsh-douyin-mac
GitHub:https://github.com/asd45183/dsh-douyin-mac