# DSH 原生抖音插件 1.3 源码提供 DSH 原生“设置 → 刷抖音”页面,插件版通过设置按钮操作;对话式操作保留给独立软件。兼容工具目录为原生 v10、32 个 douyin_* 工具,旧维护命令仍保留。源码、SDK 测试、当前 DSH 加载和真实抖音效果分别验收,不能互相替代。 ## 安装到正在使用的 DSH 2026-10-16 已在 DSH Desktop 2.0.17、内部 DSH 核心 0.2.0-rc.2 中核对“设置 → 刷抖音”。安装路径以你正在使用的那一份 DSH 为准;同时装有多个版本时,应核对路径与版本。插件需要 Windows、Edge、Node.js 22.13+ 和本仓库依赖,不需要独立软件、QQ 服务或另一个 DSH 后台。 本机目前保留一个既有 file URI 后端入口,当前 SDK 能从它找到相邻 package.json 中的客户端声明,原生设置页已成功加载。继续使用这一入口无需迁移或重启;不要再叠加一个标准 bundle。以下流程供首次安装或本人选择迁移时使用。 在仓库目录执行检查: ~~~powershell # 在克隆后的 dsh-douyin-agent 仓库根目录执行 pnpm install --frozen-lockfile $dshInstallDirectory = 'C:\Apps\DSH Desktop' # 替换为实际安装目录 .\install-native.ps1 -DshRoot $dshInstallDirectory ~~~ 检查不会改配置或打开桌面窗口。首次安装或选择迁移时,确认目录正确,完全退出这份 DSH,再执行: ~~~powershell .\install-native.ps1 -DshRoot $dshInstallDirectory -Install ~~~ 安装脚本使用明确目录内的 DSH CLI,添加本地标准 bundle,保留安装前 profile 配置副本;成功后仅移除旧安装器管理的全局 douyin-browser 区块,避免两次注册。其他版本或机器可传 -DshRoot 指定已核实的安装目录。源码路径需保留,移动后须重新安装链接。脚本不强制结束进程、不自动重启、不修改其他插件,不删除登录、记忆或发送收据。 重新打开同一目录的 DSH,在“设置”左侧找到“刷抖音”。标准 bundle 的 package.json、cordis.bundle.yml 和 client.js 共同提供入口,适合新安装;现有可用 file URI 也可继续保留。工具加载成功本身不能证明设置页已出现,安装后应分别核对页面、日志及实际工具目录。本次未执行标准 bundle 迁移,安装器因 DSH 正在运行而在修改配置前停止。 ## 在原生设置页使用 1. 在 DSH 本身的模型设置中配置提供商;进入“刷抖音 → 基础设置”,从两个下拉框选择提供商和模型,保存。模型来自 DSH 已配置目录,目录为空时先在 DSH 的“模型”页配置。这里不重复填写主模型 Key。观看、问候与私信回复使用所保存的路由,所选视频模型必须支持图片。 2. 在“人格与兴趣”填写大肥鱼的表达风格、身份和兴趣起点,点击保存。未保存的草稿不被状态刷新覆盖;外部人格/兴趣发生变化时会提示版本冲突,保留草稿。先停止观看、问候和私信回复再修改。自动生成区仍按实际观看证据更新。 3. 点击“打开抖音”,在专用 Edge 由本人登录或完成验证。按钮不调用模型,不开始计时,准备页会暂停。已有自主观看时只显示既有页面,不重启它。 4. 设置允许时段和单轮分钟数,保存后点击“开始有限轮次”,再点击“开始自主观看”。单轮请求预算独立设置。停止观看会暂停视频;结束轮次会使两个入口都不能继续这轮。 5. 按需打开“静默观看”、自主分享、自动续火花或自主评论。开关与启动是独立操作,不会因为保存设置就开始无限运行。 6. 在“观看日报”生成或读取当日 Markdown。每次有限自主观看结束后也会尝试生成;日报不启动新观看、不增加模型调用。 页面同时提供私信许可名单与回复启停、自主分享许可与额度、音频开关与后端。首次读取联系人由本人点击,最多保存两位已验证为已关注、非群聊的好友。默认关闭的外发功能不会因安装、打开页面或保存人格自行开启。 | 子栏目 | 设置内容 | | --- | --- | | 基础设置 | DSH 提供商与模型下拉、共享人格 | | 视频观看 | 允许时段、有限轮次、观看启停、静默 | | 好友互动 | 主动问候、分享、许可好友与自动回复 | | 公开评论 | 总开关、每日与单轮额度、待核对记录 | | 音频与密钥 | 音频开关、后端、MiMo/MiniMax Key 输入框 | | 观看日报 | 生成、选择日期与读取 | 问候许可保存后仍需点击开始;模型未保存、许可未开启或草稿未保存时,按钮下会显示具体原因。停止按钮仅在服务运行时可用。保存模型、许可或 Key 都不会自动发消息。 ## 时间、静默与请求预算 时段固定为 Asia/Shanghai,每日1–16个窗口,支持23:00-01:00,全天写00:00-24:00。单轮1–1440分钟,默认10分钟。实际截止为允许窗口结束和本轮开始加时长中的较早者;保存更长时长、重开页面、停止再启动都不延长当前轮。程序重启不恢复自主循环,不能自动开启下一轮。 自主观看默认每轮30次模型请求,可设1–100;同轮停止重开不清零,软件与插件每日合计最多200次。公开评论正文另占一次模型请求,也扣同一预算。时间或任一请求上限先到即停止。软件手动任务的步数/工具次数/超时另有设置,不改变 DSH 外层任务预算。 静默开启后,对受管视频页持续静音,不改用户音量、不主动置前,核对全窗口都是受管页且无登录验证时尝试最小化。关闭恢复本组件改动的静音状态,不主动弹出窗口;要显示时点击“打开抖音”。这仍是有窗口 Edge,不是 headless;不伪造页面可见性,最小化后是否持续播放以实际进度为准。无法核对窗口归属时只静音,并回报未隐藏原因;跨入口共享开关在各自下一次视频操作时跟随。 ## 人格、兴趣与日报共用 软件和插件沿用 runtime-location.json 的同一 memoryDir/memoryDbPath: | 位置 | 内容 | | --- | --- | | memoryDir/persona/role-card.md | 手编人格与受管生成区 | | memoryDir/persona/state.json | 作品观察、实际播放进度与行为证据、兴趣 | | memoryDir/reports/videos/YYYY-MM-DD.md | 按上海日期汇总的视频日报 | | memoryDbPath | 共享 SQLite 记忆数据库 | | stateDir/video-policy.json、video-sessions.json | 时段与有限轮次 | | stateDir/watch-mode.json、native-model.json | 共用静默开关、原生模型路由(不含Key) | | stateDir/spark-*、comments-*、share-* | 各自许可、预算、运行协调与收据 | 位置记录默认在 %USERPROFILE%/.dsh/douyin-browser/runtime-location.json。已有安装保留登记的记忆目录,新机器默认使用 %USERPROFILE%/.dsh/douyin-browser/memory;以页面回读为准,不应另复制一套或通过删配置“修复”路径。 主题识别不等于喜欢。喜好依据实际媒体进度、观看比例、持续停留、快划及已确认分享计算,证据不足保持待观察;代理自己的偏好不能当用户偏好。人格手编正文只由本人保存,模型不能改许可、联系人、时间或现实承诺。人格保存有版本检查,保留自动生成区。 日报只读取留存的视频观察事实,列出实际标题、作者、规范链接、可核采样时长和互动;来源仅核本机账号可见,未独立验证对外公开性或链接仍可播放。注明记录覆盖范围,不把累计兴趣当今日新喜欢。它不读取人格正文、私信、QQ,不调用模型。相同输入幂等;本人手改报告后不会自动覆盖,需保留旧稿再处理冲突。 ## 私信、续火花、分享与评论 - 私信:仅处理已保存许可名单的启动后新消息,启动时建立基线。方向不明、消息变化、已有人工回复或草稿、身份或发送结果不确定时跳过/暂停;不自动重发。默认每日40次回复请求,最多512 token,带“自动回复”标记。只提供当前联系人相关消息和手编人格风格,不带其他联系人或QQ历史。 - 续火花:默认关闭,独立保存时段并点击启动。默认09:00-22:00、每天合计2次,可设1–2;每位许可好友每天最多尝试一次。按手编人格生成短问候,带“自动问候”标记。当天已有可靠发出互动就跳过;日期不明、待回复或结果不确定时不发/暂停。送达不等于已核实平台火花续上。 - 自主分享:默认关闭,日上限默认3次,可设1–20。大肥鱼在有限观看里自己挑当前已观察作品和现有许可好友,发官方作品卡片,不发人格、私人记忆或文字链接。同作品/同好友不重发。 - 自主评论:默认关闭,每日默认3次(1–20),每轮默认1次(1–3)。大肥鱼决定是否评论;另一次请求仅依据当前视频的实际画面、标题和作者生成正文,不提供人格、兴趣、联系人或私信。最多200字,不含@、链接或私人数据。不强迫每条评论,同作品永久去重。 外发次数在预留后扣除,失败、重启或人工核对不退款。发送结果不确定时暂停;本人在抖音检查原收据后,才能在页面标记已确认/未发送,不触发重试。最终短输入占锁时保存关闭可能返回忙,必须看到成功回读才算关闭。 评论发布目前要求当前作品已有可识别的官方评论输入区和按钮;缺失时提示手动打开评论区,不猜测坐标或提交成功。只有新本人评论编号、精确正文、同一作品及稳定发出回读才确认。合成页面通过不等于当前抖音DOM已适配,真实评论尚待单独验收。 ## 可选音频与富媒体 音频可不接入;关闭时无需 MiMo/MiniMax Key。本地 Whisper 是可选本地对白转写;MiMo、MiniMax 是可选云端后端,不是 DSH 主模型的必需配置。插件填写入口为“设置 → 刷抖音 → 音频与密钥”:分别填写 MiMo API Key 或 MiniMax API Key,点击对应保存按钮。留空沿用原有值;界面只显示已配置状态及配置来源,不回显 Key。保存共用本机媒体 `.env`(明文),与独立软件即时共用,不自动开启音频或调用云端;使用云后端还需本人选择后端并保存启用设置。进程同名环境变量优先,页面会提示覆盖状态。依赖与限制见 [media/README.md](../media/README.md),保存开关不下载模型或安装运行环境。 表情和分享卡片可采样实际画面;分享视频仍受视频时限约束。封面不等于看完整条,少量帧不等于听懂声音。未支持的普通图片、收到的语音等类型不能假称已理解。 ## 维护接口与来源 兼容的32项工具:打开/搜索3项,播放与画面7项,显式记忆2项,许可私信6项,时限/媒体3项,手动转发提示1项,人格/兴趣2项,自主观看3项,续火花3项,日报2项。插件日常使用原生设置按钮;工具用于内部与兼容维护,不要求用户复制工具名或发对话。 旧 CLI 的 video-policy、session-start、session-end 和 media-enable 等仍保留,仅用于本人维护;用法由本仓库 douyin.ps1 分派,不要求在 DSH 对话输入命令。旧热加载辅助包保留供维护,不能在标准bundle外另注册同名目录;前端模块发现与后端热加载分别检查。GPT/DSH 合作使用上级 bridge.ps1 并遵守轮数/尝试预算,不能新建任务绕过耗尽预算。 安装与设置、日报流程参考 [c1overzz/dsh-bili-scroll](https://github.com/c1overzz/dsh-bili-scroll) 的MIT项目,具体固定版本、复用边界及续火花候选核查见 [reuse.md](reuse.md)。没有打包其B站MCP、Python或定时字幕阅读逻辑。浏览器复用Playwright;原生接口使用正确DSH已装SDK;三份实际内置的可选媒体社区源码及许可证见 [../THIRD_PARTY_NOTICES.md](../THIRD_PARTY_NOTICES.md)。 ## 当前验收边界 2026-10-16 完整回归共 443 项:436 通过、0 失败、7 项可选检查跳过;原生 SDK 定向检查 45/45 通过。在当前正确 DSH 2.0.17 中,原生设置页已实际挂载,能读取共享人格、时间、许可与媒体设置。本轮没有调用真实模型、打开抖音或执行任何发送,未改变既有设置。实际最小化播放、当前抖音评论 DOM 和收到新消息后的自动回复仍未验证;SDK 的 32 项目录检查不等于独立读取了当前进程的全部工具目录。详细命令、历史失败和边界见 [verification/1.3.md](verification/1.3.md)。下方历史实测只用于保留证据,不扩写为新版通过。 ## 验收记录 历史 v8/1.2.0 的预算、行为偏好和自主分享按针对性测试记录,未将旧 17/22 项实机结果扩写为新版实测。软件启动新增受控本机导航的有限重试和去敏诊断,旧错误成功后归档,但真实 `ERR_FAILED(-2)` 成因仍未确定。caret 截图修复只在临时页面验证,不能称真实抖音所有截图故障已消失。完整结果以 [desktop/VERIFICATION.md](../desktop/VERIFICATION.md) 为准。 在 `douyin-browser` 仓库根目录运行: ```powershell node --test verification/dsh-plugin.test.mjs verification/native-launch-command.test.mjs ``` 上一版 v6 原生适配测试 25/25 通过,真实使用本机 schema、ToolRuntime、Cordis Loader、DynamicCordisRunnerService 沙箱、SystemPrompt 和 LocalAttachmentStore。保留旧 17 项、旧 v5/22 项及旧满目录升级,覆盖 include 卸载失效、原位升级、异常回滚、活动状态、临时条目清理和实际附件回读;另核对 watch 服务路由及人格变量每次组装刷新、重复附加保护与释放。测试使用独立 Context,写入的配置、附件及 fixture 均在系统临时目录;控制器和模型返回使用替身,没有操作当前 DSH 进程或发模型请求。 1.1.0 软件界面合成与许可证测试 12/12 通过,包含两个临时 Edge 流程;当时根目录与 desktop 完整回归实际运行 237 项,230 项通过、0 项失败、7 项可选检查跳过,用时约 19.7 秒。1.1.0 的 `win-unpacked` 已实际打包回读,随包 Node 24.17.0、SQLite 3.53.0、27 项工具及 persona/watch 模块可导入,没有 DSH 运行包。 v7 原生 SDK 的原有 25 项与命令新增 7 项合计 32/32 通过,均使用独立测试 Context,不调用真实模型或当前 DSH 进程。1.1.1 UI 完整测试 15/15 通过,其中新增输入外观 1/1、打开入口及音频 Key 合成流程 1/1;一键打开后端 6/6、相关回归 32/32 通过。它们不代表真实抖音、云端凭据或 v7 原生命令实机可用性已验收;最终完整计数和软件包证据以 [desktop/VERIFICATION.md](../desktop/VERIFICATION.md) 为准。下列 17/22 项历史实机结果不计为新增工具或自主模型循环已通过。 真实视频联合验收通过,见 `verification/native-live-workdir/native-plugin-receipt.json`:模型搜索、开作品、收到图片附件并暂停。整体聊天热加载曾因旧动态包冲突失败,回执保留;追加授权验收通过了真实联系人、状态及两人会话读取,旧版原生 17 项工具范围已实际核对。 旧桥任务 `d1d836bf-a85f-487c-925c-a8bd82579e23` 热升级失败,原 `remove` 未卸载配置中的 `include:douyin-browser` 条目,随后创建新版发生同名冲突。原始失败保留在 `verification/native-rich-workdir/native-rich-receipt.json`。用户明确追加 1 轮/1 次后,任务 `461ff7a2-5741-41bb-85c9-92b6e82bc71e` 使用原文 v5 helper 运行成功,刷新目录完整 22 项,真实状态和许可会话读取通过。辅助包保持运行,其他插件未动,没有自动追加预算。 上述 v5 轮次的指定表情经真实 DSH image content block 进入模型;Codex 从原生日志核对 ref,并独立读取持久 JPEG,尺寸 138×138、4355 字节、SHA256 与 ref 一致。两位会话均返回 `orderMode=relative` 和已核实最新端标记;音频为 `enabled=false`,视频轮次仍结束,转发入口只提示本人操作。执行回执与独立复核在 `verification/native-rich-workdir/recheck-20261015/`,桥状态保留 `needs_review`,不写成自动 accepted。 当前 Inspect 未提供 Loader 条目的直接导出,helper 的 console JSON 也未落入可回读日志;v5 版本以逐字 helper 中的活动状态/URI/完整目录断言及真实调用核对,没有把运行态 URI 字符串标作独立读取结果。 2026-10-15 早前还单独核查了桌面启动:用户截图中的 `Failed to load plugins` 来自已装 `dsh-web-ui-notify@0.1.6`。该扩展要求核心 `0.1.7-rc.2+`,当时 Desktop 2.0.11 内置核心为 `0.1.5-rc.2`,缺少它直接订阅的 `uiSession.sessionStatus`。本机备份 profile 后,仅从启用的 bundles 移除该通知扩展,保留依赖文件;重新启动后,实际窗口的会话列表和输入框恢复,错误页消失。这是旧安装状态的诊断,不描述本次 2.0.17 的核心版本。抖音插件不依赖该通知扩展。工具后端验收与桌面启动验收分别记录,不能仅凭后端 health 判断界面可用。 真人私信发送已做一条本人授权的明确功能测试:`confirmed=true` 且二次读取 `persisted=true`,见 `verification/chat-human-send-live.json`。这证明该次发送与回读,不证明收到新消息后的自动模型回复已由真人触发。 真实表情和分享卡片的精准截取、公开 URL 解析通过;一张精确表情截图已送入真实 DeepSeek 并生成回复,没有向真人发送,见 `verification/chat-rich-api-live.json`。两位联系人真实只读回查确认时间顺序、最新端及消息 ID 稳定,见 `verification/chat-chronology-readonly-live.json`。2026-10-15 又单独完成上述 DSH 原生表情附件验收;图文仍只到封面、元数据和 URL。 真实 API、DSH 两个专用抖音页到期后由后台检查暂停通过,观测延迟为 2652 毫秒(约 2.65 秒),原策略已恢复,见 `verification/video-limits-live.json`;这是本次观测值,不保证零延迟。Whisper 本地合成 WAV、WebM 对白转写通过,实际猫咪视频已采到 3 秒音轨但没有有效对白,ASR 准确性未验;MiMo/MiniMax 云联调未做,音频默认关闭。 真人作品卡片转发已执行一次本人授权的点击;初始自动确认未通过,随后只读打开实际发出的卡片,精确核实公开作品 ID 为 `7579432563794584933`,没有再次发送。证据分别为 `verification/video-forward-human-live.json` 与 `verification/video-forward-post-readback.json`。2026-10-15 的原生转发工具实测仅覆盖人工授权提示分支,没有再发送;该次回查不代表自动回复循环已验收。