dsh-douyin-agent 1.4.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/autonomous-watch.mjs +6 -2
- package/client.js +1 -1
- package/dsh-plugin.mjs +19 -0
- package/media-cleanup.mjs +3 -1
- package/package.json +2 -2
- package/docs/verification/1.3.md +0 -85
- package/docs/verification/native-v10.md +0 -49
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
在 DSH Desktop 自带终端中运行:
|
|
42
42
|
|
|
43
43
|
```powershell
|
|
44
|
-
dsh plugin --profile desktop add dsh-douyin-
|
|
44
|
+
dsh plugin --profile desktop add dsh-douyin-agent@1.4.2
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
需要 Windows、已安装 Microsoft Edge 和 DSH 0.2.0-rc.2。安装后按宿主提示重新加载,在设置中打开“刷抖音”;抖音登录和验证由使用者自行完成。市场收录与 npm 包发布分别同步,不能把发布成功当成市场已刷新。
|
package/autonomous-watch.mjs
CHANGED
|
@@ -747,7 +747,7 @@ export class AutonomousWatch {
|
|
|
747
747
|
const worker = spawn(pythonExe, [workerScript, directory, '--idle', '300'], { windowsHide: true, stdio: ['ignore', workerOut, workerOut], env: { ...process.env, PYTHONUTF8: '1', PYTHONIOENCODING: 'utf-8' } });
|
|
748
748
|
const capture = spawn(nodeExe, [captureScript, directory, '3600', '10', '9227'], { windowsHide: true, stdio: 'ignore' });
|
|
749
749
|
for (const child of [worker, capture]) child.on('error', () => {});
|
|
750
|
-
this.onEvent({ type: 'watch.rolling_started', message: '滚动转写已启动(每 10
|
|
750
|
+
this.onEvent({ type: 'watch.rolling_started', message: '滚动转写已启动(每 10 秒一段,转写时垫上一段最后 2 秒)。' });
|
|
751
751
|
return { worker, capture, directory, kill: () => { for (const child of [capture, worker]) { try { child.kill(); } catch { /* 已经退了 */ } } } };
|
|
752
752
|
} catch (error) {
|
|
753
753
|
this.onEvent({ type: 'watch.rolling_failed', message: `滚动转写没起来:${error.message}` });
|
|
@@ -855,7 +855,11 @@ export class AutonomousWatch {
|
|
|
855
855
|
this.save({ pacing: null });
|
|
856
856
|
// 2026-10-30 主人定:开轮时顺手清掉两天前的故事板/拼图,别让 state 目录一直涨。
|
|
857
857
|
try {
|
|
858
|
-
const
|
|
858
|
+
const stateDir = resolveRuntimePaths().stateDir;
|
|
859
|
+
const cleaned = cleanupOldMedia([path.join(stateDir, 'sheets'), path.join(stateDir, 'composites'), path.join(stateDir, 'danmaku')], { maxAgeDays: 2, now: this.now });
|
|
860
|
+
// 录音段只在下一轮开轮时才整目录清;这里补一刀:两天前的残段(含 .done 标记)也丢掉。
|
|
861
|
+
const staleAudio = cleanupOldMedia([path.join(stateDir, 'rolling')], { maxAgeDays: 2, now: this.now, match: /^seg-\d+\.(webm|done)$/ });
|
|
862
|
+
for (const [key, value] of Object.entries(staleAudio.removed)) cleaned.removed['rolling-' + key] = value;
|
|
859
863
|
const total = Object.values(cleaned.removed).reduce((sum, count) => sum + count, 0);
|
|
860
864
|
if (total) this.onEvent({ type: 'watch.cleanup', message: `清了两天前的图片 ${total} 个(${Object.entries(cleaned.removed).map(([k, v]) => k + ' ' + v).join('、')})。` });
|
|
861
865
|
this.logDecision({ action: 'cleanup', removed: cleaned.removed, kept: cleaned.kept });
|
package/client.js
CHANGED
package/dsh-plugin.mjs
CHANGED
|
@@ -224,6 +224,25 @@ export async function apply(ctx, config = {}) {
|
|
|
224
224
|
})();
|
|
225
225
|
try {
|
|
226
226
|
for (const tool of definitions) disposers.push(ctx.tools.register(tool));
|
|
227
|
+
// 2026-10-30 主人定:回复只在有限视频轮次里查,轮次外的通知等下一轮补。
|
|
228
|
+
// 这里每 10 分钟兜一次底(暂停/长按不阻塞),轮次不在时直接跳过。
|
|
229
|
+
try {
|
|
230
|
+
const replyTicker = setInterval(async () => {
|
|
231
|
+
try {
|
|
232
|
+
if (!watchPromise) return;
|
|
233
|
+
const watch = await watchPromise.catch(() => null);
|
|
234
|
+
if (!watch) return;
|
|
235
|
+
const service = watch.getReplyService?.();
|
|
236
|
+
if (!service || !service.state()?.allowed) return;
|
|
237
|
+
const handled = await service.checkApi({ max: 1 });
|
|
238
|
+
if (handled?.replied?.length) {
|
|
239
|
+
watch.onEvent?.({ type: 'watch.replies', message: `回了 ${handled.replied.length} 条评论回复。`, result: handled.replied });
|
|
240
|
+
}
|
|
241
|
+
} catch { /* 页面没开/网络问题就等下一次 */ }
|
|
242
|
+
}, 10 * 60 * 1000);
|
|
243
|
+
replyTicker.unref?.();
|
|
244
|
+
disposers.push(() => clearInterval(replyTicker));
|
|
245
|
+
} catch { /* 定时器起不来不影响主功能 */ }
|
|
227
246
|
if (typeof ctx.inject === 'function') {
|
|
228
247
|
// commands 只作为子作用域依赖;缺少该服务时仍注册完整视频工具目录。
|
|
229
248
|
commandFiber = ctx.inject(['commands'], commandCtx => {
|
package/media-cleanup.mjs
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
import fs from 'node:fs';
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// match 只清文件名匹配的(可选):rolling 目录里只删 seg-*.webm / .done,别碰 segments.jsonl。
|
|
9
|
+
export function cleanupOldMedia(dirs, { maxAgeDays = 2, now = Date.now, match = null } = {}) {
|
|
9
10
|
// now 允许传函数(watcher 里的 this.now)或毫秒数(测试用)。
|
|
10
11
|
const reference = typeof now === 'function' ? now() : (Number.isFinite(now) ? now : Date.now());
|
|
11
12
|
const cutoff = reference - maxAgeDays * 86_400_000;
|
|
@@ -24,6 +25,7 @@ export function cleanupOldMedia(dirs, { maxAgeDays = 2, now = Date.now } = {}) {
|
|
|
24
25
|
for (const entry of entries) {
|
|
25
26
|
const file = path.join(dir, entry);
|
|
26
27
|
try {
|
|
28
|
+
if (match && !(match instanceof RegExp ? match.test(entry) : match(entry))) continue;
|
|
27
29
|
const stat = fs.statSync(file);
|
|
28
30
|
if (!stat.isFile()) continue;
|
|
29
31
|
if (stat.mtimeMs >= cutoff) {
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-douyin-agent",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "DSH 原生抖音工具:有限自主观看、抽帧故事板与弹幕、人格与兴趣记忆、自动问候与私信回复、观看日报",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "LockyBee",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/
|
|
10
|
+
"url": "git+https://github.com/dafeiyu1314520/dsh-douyin-agent.git"
|
|
11
11
|
},
|
|
12
12
|
"homepage": "https://github.com/LockyBee/dsh-douyin-agent#readme",
|
|
13
13
|
"bugs": {
|
package/docs/verification/1.3.md
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# 1.3/原生 v9 验证记录
|
|
2
|
-
|
|
3
|
-
记录日期:2026-10-16。本轮优先交付原生插件设置页。完整回归、SDK 检查与当前 DSH 只读页面核对已完成,标准 bundle 安装未执行。没有调用真实模型或执行真人私信、问候、分享及公开评论。
|
|
4
|
-
|
|
5
|
-
## 范围与版本
|
|
6
|
-
|
|
7
|
-
- `package.json` 与 `desktop/package.json` 的源码版本均为 `1.3.0`,兼容工具目录为原生 v9、32 项,已直接核对 `tool-definitions.mjs`。
|
|
8
|
-
- 插件主入口为 `dsh-plugin.mjs`,标准 bundle 声明为 `cordis.bundle.yml`,客户端为 `client.js`。页面注册到 `settings.section`,导航名称为“刷抖音”。
|
|
9
|
-
- 原生客户端只依赖 DSH 现有 React/UI 静态模块和原生设置提供者;没有引入不存在的 `dsh-client-runtime`,也不启动独立软件或第二个 HTTP 端口。
|
|
10
|
-
- 独立软件当前实际打包、启动检查的版本仍为 1.2.0。1.3.0 尚未打包发布;软件前端增加了自动问候面板,评论、日报和静默暂有后台接口,独立软件面板尚未补齐。本轮优先交付插件入口。
|
|
11
|
-
|
|
12
|
-
## 本轮只读审查
|
|
13
|
-
|
|
14
|
-
已核对 [详细说明](../details.md)、[插件说明](../plugin.md)、[功能复用与来源](../reuse.md)、[desktop/README.md](../../desktop/README.md)、[../../THIRD_PARTY_NOTICES.md](../../THIRD_PARTY_NOTICES.md) 与现有源码。目标文档的本地 Markdown 链接均可解析。
|
|
15
|
-
|
|
16
|
-
- 原生页面的实际标签为“人格与兴趣”“开始有限轮次”“观看日报”。修改人格或模型前需停止自主观看、自动问候和私信回复;人格草稿与版本冲突处理独立于状态轮询。
|
|
17
|
-
- 未有既存策略时,私信回复、主动问候、自主分享、自主评论、音频和静默均默认关闭。升级读取既有策略,不擅自重置许可;服务启停仍须由本人操作。
|
|
18
|
-
- 视频每日时段、有限轮次、自主观看请求、各类外发尝试分别计数。保存许可不开始自主观看或问候,停止再开不重置当前轮次或已扣预算。
|
|
19
|
-
- 软件与插件通过同一 `runtime-location.json` 读取 `memoryDir` 和 `memoryDbPath`。人格与证据位于 `memoryDir/persona/`,日报位于 `memoryDir/reports/videos/`;源码未要求复制现有数据库。
|
|
20
|
-
- 原生观看、问候和私信使用 DSH 配置的提供商/模型。原生页不收集主模型 Key;可选音频继续使用独立的本机媒体配置。
|
|
21
|
-
- 评论正文的独立模型请求只包含当前作品的有限采样和元数据,不附加人格、兴趣、联系人、私信或 QQ。日报不调用模型,不读取人格正文、私信或 QQ。
|
|
22
|
-
- `media/PROVENANCE.json` 的 7 份内置源码及许可证文件 SHA-256 全部匹配。复用声明区分了实际内置媒体源码和仅参考安装/设置/日报流程的项目。本次没有重新查询远端维护状态。
|
|
23
|
-
|
|
24
|
-
本次文档审查没有调用模型、读取真实账号、打开抖音、启用服务或执行真人发送。
|
|
25
|
-
|
|
26
|
-
## 既有测试证据,须与本轮最终结果分开
|
|
27
|
-
|
|
28
|
-
下表保留较早日志,不作为本轮完整回归结果。定向重跑与整轮测试不能简单相加。
|
|
29
|
-
|
|
30
|
-
| 本机日志 | 当时结果 | 边界 |
|
|
31
|
-
| --- | --- | --- |
|
|
32
|
-
| `verification/v1.3-backend-tests.txt` | 439 项:432 通过、0 失败、7 跳过 | 较早源码快照,不能覆盖后续修改 |
|
|
33
|
-
| `verification/v1.3-final-backend-tests.txt` | 443 项:434 通过、2 失败、7 跳过 | Windows 原子替换 `EPERM` 异常与短锁测试观测竞争,原始失败保留 |
|
|
34
|
-
| `verification/v1.3-final-sdk-tests.txt` | 45/45 通过 | 独立 SDK Context、临时状态与替身模型;不是当前 DSH 进程验收 |
|
|
35
|
-
| `verification/native-settings-tests.txt` | 11/11 通过 | 真实 WebServer、LlmRuntime 元数据及 ClientModuleRegistry;没有向真实模型请求生成 |
|
|
36
|
-
| `verification/v1.3-persona-behavior-recheck-20261016.txt` | 12/12 通过 | 定向行为证据复查,不替代完整回归 |
|
|
37
|
-
|
|
38
|
-
原生客户端 `tests/native-client.test.mjs` 覆盖模块身份、原生插槽、同源令牌、无载体拒绝、人格草稿与 409 冲突、有限观看启停、问候许可保存与显式启动、联系人主动读取、日报读取、状态失联,以及官方 Input 的单层边框。本轮 3/3 通过,已计入最终 443 项,不重复累计。
|
|
39
|
-
|
|
40
|
-
本机 `verification/native-settings-preview.png` 是明确标记的合成页面预览,使用虚构人格、提供商和联系人,不能作为用户当前 DSH 已挂载的截图。
|
|
41
|
-
|
|
42
|
-
## 尚未由这些证据证明的效果
|
|
43
|
-
|
|
44
|
-
- 当前 DSH 的“设置 → 刷抖音”已实际挂载并成功回读状态;32 项定义由 SDK 核对,本轮未独立读取当前进程的全部工具目录。标准 bundle 安装也未完成。
|
|
45
|
-
- 真实抖音最小化后的持续播放、当前评论区 DOM 与公开评论发送,以及收到新消息后的自动回复全过程,不能由合成页或 SDK 测试代替。
|
|
46
|
-
- 问候送达只说明消息确认,不表示平台火花已增加或续上;分享、问候、回复及评论的未确认记录不能自动重试。
|
|
47
|
-
- 作品证据仅核对本机账号可见,未独立核实当前仍可播放或对外可见范围;有限采样不证明看完整条或听懂声音。
|
|
48
|
-
- MiMo/MiniMax 尚未真实云联调;本地 Whisper 的合成对白结果不代表真实抖音音频的普遍准确率。
|
|
49
|
-
- QQ 双向共享与可见范围另有专项边界,两个入口共用文件不代表 QQ 全流程已验收。
|
|
50
|
-
|
|
51
|
-
## 本轮最终结果
|
|
52
|
-
|
|
53
|
-
| 项目 | 状态 |
|
|
54
|
-
| --- | --- |
|
|
55
|
-
| 完整回归 | 443 项:436 通过、0 失败、7 项可选检查跳过,84.015 秒 |
|
|
56
|
-
| 原生 SDK、命令及设置定向回归 | 45/45 通过,0 跳过,1.548 秒 |
|
|
57
|
-
| 标准 bundle 安装 | 目标 DSH 正在运行,安装器在修改前停止;本轮未迁移 |
|
|
58
|
-
| 当前 DSH 页面挂载与只读状态 | 正确 DSH 2.0.17 中已核对,通过现有 file URI 入口加载 |
|
|
59
|
-
| 真实模型、真人发送、真实公开评论 | 本轮未执行;不得从其他检查推定通过 |
|
|
60
|
-
| 源码提交与推送 | 本文件与相关源码一并提交既有 GitHub 仓库,最终提交与推送结果在交付消息记录 |
|
|
61
|
-
|
|
62
|
-
使用本机 `desktop/.cache/generated/node/node.exe`,版本 24.17.0,在仓库根目录运行:
|
|
63
|
-
|
|
64
|
-
```powershell
|
|
65
|
-
node --test --test-concurrency=2 --test-timeout=55000 tests/*.test.mjs desktop/tests/*.test.mjs
|
|
66
|
-
node --test --test-concurrency=2 --test-timeout=55000 verification/dsh-plugin.test.mjs verification/native-launch-command.test.mjs verification/native-settings.test.mjs
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
本轮日志分别为 `verification/v1.3-backend-20261016-tests.txt` 与 `verification/v1.3-sdk-20261016-tests.txt`。SDK 使用真实接口与独立 Context,模型生成由替身提供,没有向真实模型请求;已核实 file URI 能找到最近的 manifest、客户端 bundle 可读取且原生设置提供者先加载。上述结果覆盖本文件所在源码提交,随后仅修改文档、忽略规则和去敏验收记录。
|
|
70
|
-
|
|
71
|
-
### 两项历史失败的处理
|
|
72
|
-
|
|
73
|
-
人格行为测试的 `rename EPERM` 未在本轮定向 12/12 或完整回归中复现;原有原子替换已有有限重试,没有据此修改生产代码。未取得占用句柄证据,不能归因于某进程或杀毒软件。
|
|
74
|
-
|
|
75
|
-
短输入锁测试原先等待异步浏览器 RPC 回传才观察锁,可能错过正常释放的时刻。本轮仅修改测试,改为浏览器同步可信点击标记,并观察原始调用完成,产品 350 毫秒短锁未延长。单项 1/1、该浏览器文件 31/31 和最终完整回归均通过。定向日志为 `verification/v1.3-chat-lease-single-recheck-20261016.txt` 和 `verification/v1.3-chat-browser-recheck-20261016.txt`。
|
|
76
|
-
|
|
77
|
-
### 当前 DSH 与配置回读
|
|
78
|
-
|
|
79
|
-
实际运行路径为 `F:/codex/DSH Desktop 2/DSH Desktop.exe`,版本 2.0.17,内部 DSH 0.2.0-rc.2。通过应用菜单进入“设置 → 刷抖音”,核实状态由检查中变为就绪;共享人格目录为 `D:/codex分局/大肥鱼/memory/persona`,日报目录为 `D:/codex分局/大肥鱼/memory/reports/videos`。
|
|
80
|
-
|
|
81
|
-
已只读查看人格、视频时段与轮次、请求预算、静默、问候、评论、分享、私信许可与音频设置。本轮只导航和滚动,没有保存、刷新联系人、生成日报、打开抖音或启动服务,也不保存人格正文和联系人身份。当前提供商与模型尚未选择,视频轮次已结束;本人需先选择 DSH 中已配置的提供商、填写模型 ID,再开始有限轮次与自主观看。静默、问候、评论与分享开关未开启;已有本地 Whisper 音频许可原样保留。
|
|
82
|
-
|
|
83
|
-
当前保留一个有效 file URI 后端入口,SDK 从相邻 manifest 发现前端。安装器因 DSH 运行而在备份、依赖安装与配置写入前停止;没有再次重启或叠加标准 bundle。脚本改用目标安装的 `resources/app/lib/desktop-cli.js`,临时配置检查已确认通用 CLI 不管理 desktop profile,而 Desktop CLI 支持;临时命令成功不代表标准 bundle 安装已实机通过。配置备份也不宣称能回滚全部依赖文件。
|
|
84
|
-
|
|
85
|
-
通过 `verification/native-install-compose.mjs` 只读使用真实 SDK 合成 profile,不加载插件、求值表达式或写配置。前后均为一个受管 file URI、一个旧受管区块、零个本项目标准 bundle;其他 203 条有效配置的数量与摘要一致。真实配置、人格、密钥、私信与本机检查日志均不提交。
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# 原生 v10 设置与浏览器启动修复
|
|
2
|
-
|
|
3
|
-
日期:2026-10-16。源码基于 `6264b99`。本次修复 DSH 内打开抖音失败,设置分类、模型选择、问候启动原因与媒体 Key 入口;独立软件未重新打包。
|
|
4
|
-
|
|
5
|
-
## 修复与复用
|
|
6
|
-
|
|
7
|
-
- Electron 内不再直接把桌面 EXE 当作 Node,自动核实已有独立 Node 22.13+,优先随包资源,再源码缓存与绝对 PATH。本机命中已有 Node 24.17.0,没有下载依赖。
|
|
8
|
-
- 删除页面标题下的介绍小字,设置分为基础设置、视频观看、好友互动、公开评论、音频与密钥、观看日报,仍使用 DSH 原生组件。
|
|
9
|
-
- 模型名称改为下拉。复用 LlmRuntime 已配置模型目录,60 秒缓存与并发共享;不调用主动发现或模型生成。真实 Cordis 服务每次读取可返回不同追踪代理,缓存与服务变更校验使用官方 `cordis.original` 身份,不能直接比较代理对象。
|
|
10
|
-
- 问候保存许可后仍不能启动时,显示缺模型、未保存许可等具体原因,并提供前往模型设置入口;停止只在运行时可用。没有自动开始发送。
|
|
11
|
-
- 音频子栏目提供 MiMo 与 MiniMax 密码输入框,复用并提取软件已有原子 Key writer。只返回是否配置及来源,识别进程环境覆盖,不回显 Key;空白保留旧值,保存不启用音频、不调用云。
|
|
12
|
-
|
|
13
|
-
## 测试结果
|
|
14
|
-
|
|
15
|
-
| 检查 | 结果 |
|
|
16
|
-
| --- | --- |
|
|
17
|
-
| 原生 SDK、命令与设置 | 46/46 通过;独立 Context 与替身生成,不调用真实模型 |
|
|
18
|
-
| 原生客户端临时 Edge 页面 | 3/3 通过,计入下列完整回归 |
|
|
19
|
-
| 模型目录单元检查 | 8/8 通过,计入完整回归 |
|
|
20
|
-
| 原生媒体 Key HTTP 检查 | 5/5 通过,计入完整回归 |
|
|
21
|
-
| 运行路径检查 | 12/12 通过,计入完整回归 |
|
|
22
|
-
| 根目录与桌面后台,文件并发 2 | 459 项:451 通过、1 失败、7 跳过,82.979 秒 |
|
|
23
|
-
| 同一源码完整复查,文件并发 1 | 459 项:451 通过、1 失败、7 跳过,160.430 秒 |
|
|
24
|
-
|
|
25
|
-
命令在仓库根目录使用本机 Node 24.17.0 运行:
|
|
26
|
-
|
|
27
|
-
```powershell
|
|
28
|
-
node --test --test-concurrency=2 --test-timeout=25000 verification/dsh-plugin.test.mjs verification/native-launch-command.test.mjs verification/native-settings.test.mjs
|
|
29
|
-
node --test --test-concurrency=2 --test-timeout=55000 tests/*.test.mjs desktop/tests/*.test.mjs
|
|
30
|
-
node --test --test-concurrency=1 --test-timeout=55000 tests/*.test.mjs desktop/tests/*.test.mjs
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
本机日志为 `verification/v10-sdk-tests.txt`、`verification/v10-backend-tests.txt` 与 `verification/v10-final-backend-tests.txt`,不提交其中的本机输出。早期组合日志 `verification/native-settings-fixes-tests.txt` 保留了升级 fixture 版本断言和真实 Cordis 代理身份问题修复前的失败,不替换为最终通过。
|
|
34
|
-
|
|
35
|
-
## 尚存的回归失败
|
|
36
|
-
|
|
37
|
-
两次完整回归均在 `tests/autonomous-comments.test.mjs` 的“另一入口关闭、结束轮次、丢失观察或更换run都在最终发布前撤回”失败。堆栈发生于构造观察证据的 `PersonaMemory.recordObservation → syncCard → renameSync`,Windows 返回 `EPERM`,尚未进入评论撤回断言。
|
|
38
|
-
|
|
39
|
-
该用例单独复查通过;同文件复查又有另一用例在相同人格卡替换处失败,因此不能将问题当作一次偶然或仅由测试并发造成。本轮没有修改 `persona-memory.mjs`,原有 900 毫秒有限重试仍存在;没有取得占用句柄证据,不能归因某具体软件。完整回归未全绿,文件占用问题仍待处理,不能将定向检查通过扩大为完整运行稳定。
|
|
40
|
-
|
|
41
|
-
## 当前 DSH 加载
|
|
42
|
-
|
|
43
|
-
当前安装核对为 DSH Desktop 2.0.17。页面源码更新已可看到分类和模型下拉。未调用模型、发送私信、问候、分享或公开评论,也未写入真实 Key。
|
|
44
|
-
|
|
45
|
-
仅修改 URI 名称不能证明模块已重载。尝试禁用受管配置后,未从实际接口确认卸载,因此已恢复原配置;随后备份并仅将原入口查询版本更新为 v10,其他插件不增加、不移除。
|
|
46
|
-
|
|
47
|
-
用户随后明确授权重启。通过原生“重启应用”确认后,旧进程退出,新进程与窗口实际建立;路径仍为同一份 DSH Desktop,版本 2.0.17。真实 `GET /api/douyin-browser/state` 返回 200,新增目录字段已生效,读取到 3 个提供商、9 个模型;MiMo/MiniMax 仅返回凭据配置状态和来源。模型尚未由本人选择保存,观看、问候、私信服务均未运行;其余 203 条有效插件配置摘要保持一致。
|
|
48
|
-
|
|
49
|
-
随后实际调用本插件的 `POST /api/douyin-browser/browser/open`,返回 HTTP 200、`opened=true`、`paused=true`;Windows 窗口列表出现专用抖音 Edge 窗口。这证明新版原生打开入口已实测成功,不证明开始自主观看或其他外发功能已验收。后续电脑操作工具因无法可靠确认浏览器 URL 而停止,没有完成页面视觉检查,也未改用其他界面控制方式绕过。
|