@michengai/dsh-btw 0.1.0 → 0.1.3
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/CHANGELOG.md +23 -0
- package/CHANGELOG.zh-CN.md +23 -0
- package/README.md +21 -90
- package/README.zh-CN.md +21 -88
- package/assets/branding/dsh-btw-banner.png +0 -0
- package/lib/client.js +34 -7
- package/lib/index.js +113 -35
- package/lib/types/client/bubbles.d.ts +4 -1
- package/lib/types/locales.d.ts +2 -0
- package/lib/types/server/jobs.d.ts +16 -1
- package/package.json +2 -3
- package/docs/00-/344/272/244/346/216/245/345/205/245/345/217/243/00-/351/230/205/350/257/273/345/257/274/350/210/252.md +0 -12
- package/docs/00-/344/272/244/346/216/245/345/205/245/345/217/243/02-/345/275/223/345/211/215/347/212/266/346/200/201.md +0 -16
- package/docs/00-/344/272/244/346/216/245/345/205/245/345/217/243/03-/345/276/205/345/212/236/344/270/216/351/230/273/345/241/236.md +0 -11
- package/docs/01-/345/275/223/345/211/215/345/267/245/344/275/234/I005-/351/246/226/346/254/241/345/217/221/345/270/203/344/270/216/345/217/257/344/277/241/345/217/221/345/270/203/351/205/215/347/275/256/00-/350/277/255/344/273/243/346/200/273/350/247/210.md +0 -27
- package/docs/05-/345/267/245/347/250/213/344/272/244/344/273/230/01-/350/207/252/345/212/250/345/217/221/345/270/203.md +0 -58
- package/docs/07-/350/277/255/344/273/243/345/275/222/346/241/243/2026/I001-/344/270/200/346/254/241/346/200/247/346/227/201/351/227/256/346/260/224/346/263/241/344/270/216/350/276/223/345/205/245/345/216/206/345/217/262/00-/350/277/255/344/273/243/346/200/273/350/247/210.md +0 -44
- package/docs/07-/350/277/255/344/273/243/345/275/222/346/241/243/2026/I001-/344/270/200/346/254/241/346/200/247/346/227/201/351/227/256/346/260/224/346/263/241/344/270/216/350/276/223/345/205/245/345/216/206/345/217/262/01-/351/252/214/346/224/266/350/256/260/345/275/225.md +0 -32
- package/docs/07-/350/277/255/344/273/243/345/275/222/346/241/243/2026/I002-/345/256/236/351/231/205DSH/346/217/222/344/273/266/346/216/245/345/205/245/00-/350/277/255/344/273/243/346/200/273/350/247/210.md +0 -45
- package/docs/07-/350/277/255/344/273/243/345/275/222/346/241/243/2026/I002-/345/256/236/351/231/205DSH/346/217/222/344/273/266/346/216/245/345/205/245/01-/346/265/213/350/257/225/347/216/257/345/242/203/351/232/224/347/246/273.md +0 -38
- package/docs/07-/350/277/255/344/273/243/345/275/222/346/241/243/2026/I002-/345/256/236/351/231/205DSH/346/217/222/344/273/266/346/216/245/345/205/245/02-/345/256/242/346/210/267/347/253/257/346/263/250/345/205/245/344/270/216/346/260/224/346/263/241/345/256/275/345/272/246/344/277/256/345/244/215.md +0 -28
- package/docs/07-/350/277/255/344/273/243/345/275/222/346/241/243/2026/I003-/345/256/277/344/270/273/345/244/226/350/247/202/344/270/216/345/233/275/351/231/205/345/214/226/00-/350/277/255/344/273/243/346/200/273/350/247/210.md +0 -47
- package/docs/07-/350/277/255/344/273/243/345/275/222/346/241/243/2026/I003-/345/256/277/344/270/273/345/244/226/350/247/202/344/270/216/345/233/275/351/231/205/345/214/226/01-/350/247/206/350/247/211/351/252/214/346/224/266.md +0 -35
- package/docs/07-/350/277/255/344/273/243/345/275/222/346/241/243/2026/I004-/344/273/223/345/272/223/344/270/216/350/207/252/345/212/250/345/217/221/345/270/203/00-/350/277/255/344/273/243/346/200/273/350/247/210.md +0 -38
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# 测试环境隔离
|
|
2
|
-
|
|
3
|
-
更新时间:2026-09-06 13:32(Asia/Shanghai)
|
|
4
|
-
|
|
5
|
-
## 用户要求与结果
|
|
6
|
-
|
|
7
|
-
用户要求“把其他插件先卸载了,避免干扰”。在当前 Web profile 移除以下 10 个第三方插件的依赖和 bundle:
|
|
8
|
-
|
|
9
|
-
- @michengai/dsh-agency-agents
|
|
10
|
-
- @michengai/dsh-archive-manager
|
|
11
|
-
- @michengai/dsh-automation
|
|
12
|
-
- @michengai/dsh-codex-ui
|
|
13
|
-
- @michengai/dsh-im-connect
|
|
14
|
-
- @michengai/dsh-skills-manager
|
|
15
|
-
- dsh-better-sidebar
|
|
16
|
-
- dsh-context
|
|
17
|
-
- dsh-mcp-connector
|
|
18
|
-
- dshmarket
|
|
19
|
-
|
|
20
|
-
隔离完成时 dependencies 仅有本地链接的 @michengai/dsh-btw。bundle 仅有 @deepseek-ai/dsh-base、@deepseek-ai/dsh-web-app、dsh-desktop-bridge、@michengai/dsh-btw。未删除会话、凭据、插件业务数据或源码仓库。
|
|
21
|
-
|
|
22
|
-
2026-09-06 用户要求安装 Codex UI 测试样式兼容:恢复 `@michengai/dsh-codex-ui` 0.2.103 的本地链接依赖、bundle 和锁文件条目,复用已有 Junction 与构建产物。当前第三方启用项为 BTW 和 Codex UI,其余保持停用;实际样式兼容由用户测试。恢复前状态可通过移除这一个包的依赖和 bundle、锁文件条目还原,无需删除源码及偏好数据。
|
|
23
|
-
|
|
24
|
-
配置变更后桌面端于 13:31:43 自动重载,13:31:46 报告 healthy。Codex UI 服务端、客户端 JS 语法检查通过,安装链接与源码目录的客户端构建哈希一致;健康状态不代替样式兼容验收。
|
|
25
|
-
|
|
26
|
-
## 执行与验证
|
|
27
|
-
|
|
28
|
-
官方 `dsh plugin --profile web remove` 因 pnpm 11.25 检查既有锁文件而触发 minimumReleaseAge 错误。沿用桌面端 `src/plugin-seed.ts` 已有的卸载参数,对本次 remove 传入 `--config.minimumReleaseAge=0`,并使用 `--config.ignore-scripts=true --config.offline=true`。没有新增包下载或安装,也未修改持久策略;pnpm-workspace.yaml 与备份的 SHA256 一致。
|
|
29
|
-
|
|
30
|
-
依赖、bundle、锁文件已核对。7 个 registry 插件目录已移除;另外 3 个本地插件(agency-agents、automation、codex-ui)的 Junction 残留,删除操作被工具自动审批 `blocked by policy` 拦截,未改用其他方式重试。它们不在依赖或启用列表中,不参与当前 profile 装配。
|
|
31
|
-
|
|
32
|
-
DSH 于 2026-09-06 12:15:24(Asia/Shanghai)自动重载,12:15:27 报告 healthy。实际 BTW 界面和模型效果由用户自行测试。
|
|
33
|
-
|
|
34
|
-
## 恢复与持续性
|
|
35
|
-
|
|
36
|
-
卸载前的 package.json、pnpm-lock.yaml、pnpm-workspace.yaml、cordis.patch.yml 备份在项目 `artifacts/profile-backup-before-isolation-20260906`,已被 .gitignore 忽略。恢复需要按备份版本重新安装 7 个 registry 包并恢复 3 个本地链接及其依赖、bundle,不是只覆盖配置文件;恢复前应保留之后的新改动。
|
|
37
|
-
|
|
38
|
-
当前桌面端每次完整启动都会补装缺少的内置社区插件。卸载后的服务热重载不执行补装,因此当前环境保持隔离;若完整退出桌面端再启动,应重新核对插件清单。没有为此改动桌面端代码。
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# 客户端注入与气泡宽度修复
|
|
2
|
-
|
|
3
|
-
更新时间:2026-09-06 12:26(Asia/Shanghai)
|
|
4
|
-
|
|
5
|
-
## 问题与根因
|
|
6
|
-
|
|
7
|
-
用户在真实 DSH 提交旁问时,气泡显示 `Error: cannot get property "remote.commands" without inject`。客户端仅声明 `remote`,缺少 Cordis 对命名空间服务要求的独立 `remote.commands` 注入。官方命令客户端也显式声明这两个服务。此前普通对象模拟没有覆盖真实注入权限检查。
|
|
8
|
-
|
|
9
|
-
截图中气泡横跨窗口。插件挂载在输入区域 dock,但未应用宿主输入框的宽度限制与水平留白。
|
|
10
|
-
|
|
11
|
-
## 修复
|
|
12
|
-
|
|
13
|
-
- `src/client/index.tsx` 补充 `remote.commands` 注入声明。
|
|
14
|
-
- `src/client/styles.ts` 使用宿主的 `--dsh-composer-card-max-width` 和 `--dsh-composer-side-clearance` 限制宽度并居中。
|
|
15
|
-
- `tests/client-injection.test.ts` 用真实 Cordis Context、Service 与独立提供命令服务的插件验证提交路径。保留属性读取以触发注入检查;不能使用绕过检查的 `ctx.get()`。
|
|
16
|
-
- 浏览器测试检查构建包注入声明,以及桌面和移动端气泡与输入框的宽度、水平位置。
|
|
17
|
-
|
|
18
|
-
## 验证与交付
|
|
19
|
-
|
|
20
|
-
修复前真实 Cordis 测试无法执行命令;旧样式的桌面与移动端宽度差分别为 444px、32px。
|
|
21
|
-
|
|
22
|
-
修复后 `npm run check` 通过:类型检查、21 项单元及运行时测试、构建成功。`npm run test:browser` 为 11 项通过、1 项跳过;跳过项是模拟窄屏中未显示入口的工作区切换。已检查桌面与移动端截图,没有发现文字重叠或横向溢出。
|
|
23
|
-
|
|
24
|
-
实际 `web` profile 的 `node_modules/@michengai/dsh-btw` 仍通过 Junction 指向本仓库。已核对安装路径和仓库 `lib/client.js` 的 SHA-256 一致,均为 `B53BB4D854A7E6CC48EDC6311362A11F3FE16BDD713E9DCB5FD86FFD7098015F`,并确认产物包含上述修复。
|
|
25
|
-
|
|
26
|
-
未重启桌面端或当前主任务,也未执行真实模型问答。已核对桌面端 `shell-actions.ts` 和 `main.ts`:“重新加载”(Ctrl+R)会调用 `recycleDshForPluginUpdate()` 停止并重启后台服务,因此应等当前主任务结束后再重新加载并复测 `/btw`,不能将该操作描述为单纯页面刷新。本记录不把模拟浏览器测试视为实际模型验收。仍需用户完成的事项统一保留在[项目待办](../../../00-交接入口/03-待办与阻塞.md)。
|
|
27
|
-
|
|
28
|
-
关联提交:未提交。
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# I003 宿主外观与国际化
|
|
2
|
-
|
|
3
|
-
状态:已完成
|
|
4
|
-
负责人:Codex
|
|
5
|
-
优先级:P1
|
|
6
|
-
更新时间:2026-09-06 13:28(Asia/Shanghai)
|
|
7
|
-
|
|
8
|
-
## 目标与边界
|
|
9
|
-
|
|
10
|
-
修复用户截图中气泡与宿主风格不一致、浅色界面出现深色气泡、英文界面仍显示中文的问题。交付实际 DSH 插件,不增加独立使用页面,不修改侧栏、一次性子代理和工具禁用边界。
|
|
11
|
-
|
|
12
|
-
## 任务与已完成
|
|
13
|
-
|
|
14
|
-
- [x] 核对官方主题和 locale 服务实现,采用已安装同版本契约。
|
|
15
|
-
- [x] 移除系统 `prefers-color-scheme` 和不存在的 `dsw-alias-background-*` 变量,改用宿主语义令牌。
|
|
16
|
-
- [x] 去掉绿色左边框,统一中性边框、12px 圆角、字体、圆形工具按钮及正文留白。展开时向下收起,折叠时向上展开。
|
|
17
|
-
- [x] 注册 `michengai.btw` 中英文字典,slot 声明 locale 并使用宿主注入的 `t`;输入触发器使用实时绑定的翻译。
|
|
18
|
-
- [x] 覆盖按钮、状态、命令说明、输入校验、复制/关闭失败,以及服务器超时、取消、清理等提示;服务器沿用请求语言,不翻译模型和外部原始错误。
|
|
19
|
-
- [x] 重新构建,并核对本地 web profile 链接中的客户端、服务端文件与仓库哈希一致。
|
|
20
|
-
- [x] 完成 `btw-run`、`btw-close` 命令目录过滤代码。宿主0.1.2-rc.1没有hidden选项,使用可卸载兼容层,仅过滤这两个名称,不修改find/execute及宿主文件;真实菜单生效尚待后端重新加载,承接到项目待办。
|
|
21
|
-
- [x] 分类标题补齐国际化:中文“旁问”、英文“Side Questions”,`/btw`命令名不变。宿主将来源名作为分类标题且无独立标题字段,插件随语言变化注销旧来源并注册翻译后的名称,不改宿主字典。真实LocaleRuntime测试验证切换后只保留一个来源,桌面及移动语言交互回归2项通过。
|
|
22
|
-
|
|
23
|
-
## 验收
|
|
24
|
-
|
|
25
|
-
- 13:28 补充排查:用户截图及真实 Edge 菜单仍包含内部命令,此前仅直接调用 CommandRuntime,不能证明实际菜单已生效。现已补测两套已安装宿主的真实 Typert Gateway RPC,列表隐藏、内部执行、卸载恢复均通过。运行中的桌面及独立 Web 后端均早于修复构建启动,`patchReload: live` 创建的 HMR 使用 `root: []`,不监听插件 JS;文件哈希一致不能作为运行代码已更新的证据。未擅自重启,实际菜单验收见[项目待办](../../../00-交接入口/03-待办与阻塞.md)。
|
|
26
|
-
|
|
27
|
-
- 类型检查和构建通过,25 项单元及运行时测试通过;新增真实CommandRuntime用例覆盖内部命令隐藏、提交/关闭仍可执行、其他命令保留及卸载恢复。
|
|
28
|
-
- 浏览器18项中17项通过、1项不适用跳过;最终针对链接颜色修复补跑4项主题用例全部通过,其余13项此前已通过。
|
|
29
|
-
- 新增主题检查覆盖系统 light/dark 与宿主浅色/深色交叉组合,桌面1280×900、移动390×844;正文、辅助图标、链接对比度均不低于4.5:1。
|
|
30
|
-
- 使用真实官方 LocaleRuntime 检查注册、注入与命令提示切换;验证气泡可见文案即时切换、错误语言、模型原文保留。
|
|
31
|
-
- 浏览器主题用例无 pageerror;界面截图及设计复核见[视觉验收](01-视觉验收.md)。
|
|
32
|
-
|
|
33
|
-
客户端 SHA-256:`257D7174D6FCF50F8F200414951F7357AC48654655DCE8D10B08463AC836A425`。
|
|
34
|
-
|
|
35
|
-
服务端 SHA-256:`49E9FA2BA1FA7B92685A2DA90564DFE46F38CFAFF5629DCBC0F9180490A6909B`。
|
|
36
|
-
|
|
37
|
-
## 阻塞与待处理
|
|
38
|
-
|
|
39
|
-
没有阻塞本地代码交付的事项。未重启用户主任务;完整 DSH 界面和真实模型复测统一承接到[项目待办](../../../00-交接入口/03-待办与阻塞.md)。本次验证使用真实主题/语言模块与模拟会话,不将测试页称为完整宿主验收。
|
|
40
|
-
|
|
41
|
-
## 恢复方式
|
|
42
|
-
|
|
43
|
-
本次未迁移历史数据或改变 profile 启用项。需要停用时,沿用 [I002 的恢复方式](../I002-实际DSH插件接入/00-迭代总览.md)。`btw-run` 新增可选 locale,省略仍兼容旧请求;返回结构和关闭命令不变。
|
|
44
|
-
|
|
45
|
-
关联提交:未提交。
|
|
46
|
-
|
|
47
|
-
阅读顺序:本总览 → [视觉验收](01-视觉验收.md) → [README](../../../../README.md)。
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# 视觉验收
|
|
2
|
-
|
|
3
|
-
更新时间:2026-09-06 12:56(Asia/Shanghai)
|
|
4
|
-
|
|
5
|
-
## 比较依据与限制
|
|
6
|
-
|
|
7
|
-
源图:用户在该迭代提供的浅色界面截图,2504×1322像素;源界面的CSS视口和设备倍率未知。参考对象为其中原生DSH的浅色表面、边框、字号及输入区域。历史源图保留在本地,不随仓库发布。
|
|
8
|
-
|
|
9
|
-
实现截图位于本地忽略目录 `artifacts/btw-theme-{light,dark}-{desktop,mobile}.png`,桌面1280×900、移动390×844,CSS尺寸与图片像素一致,deviceScaleFactor=1。另有 `btw-english-desktop.png` 和 `btw-english-mobile.png`;这些文件可通过浏览器测试重新生成,不随仓库发布。
|
|
10
|
-
|
|
11
|
-
已将用户源图和实现截图放在同次图像检查输入中查看整体及气泡区域。源图处于回答中,实现主题截图处于回答完成;正文和外壳为模拟数据,因此只比较本次气泡的风格及主题适配,不声称全页、行高或内容逐像素复刻。等待态和语言切换另由浏览器交互断言验证。
|
|
12
|
-
|
|
13
|
-
## 五项检查
|
|
14
|
-
|
|
15
|
-
| 项目 | 结论 |
|
|
16
|
-
| --- | --- |
|
|
17
|
-
| 字体与层级 | 使用宿主字体,问题13px/500,正文13px/1.7,辅助状态13px;窄屏长文本换行,未发现重叠。 |
|
|
18
|
-
| 间距与布局 | 保持输入框对齐,移除绿色强调边;12px圆角与官方输入dock相邻面板规范一致。正文不再额外缩进到图标下方。 |
|
|
19
|
-
| 颜色与令牌 | 背景、文本、边框、代码块、错误均使用宿主变量;系统主题与宿主选择相反时仍正确。正文、辅助图标、链接达到4.5:1。 |
|
|
20
|
-
| 图像与图标 | 气泡没有需要生成的位图,沿用Lucide线性图标;按钮尺寸固定,未使用替代插画或手绘图标。 |
|
|
21
|
-
| 文案与内容 | 提示和按钮接入宿主中英文字典;回答内容及外部原始错误保持原文。服务器提示按请求时的界面语言固定。 |
|
|
22
|
-
|
|
23
|
-
## 修正过程
|
|
24
|
-
|
|
25
|
-
1. 原始P1:宿主浅色而气泡深色,前景对比不足;移除独立系统主题判断,改为宿主令牌。
|
|
26
|
-
2. 原始P2:绿色强调边与宿主中性组件不协调;改为均匀细边框和宿主文字色。
|
|
27
|
-
3. 原始P1:英文界面显示中文提示;接入locale服务并验证即时切换。
|
|
28
|
-
4. 验证发现图标颜色过渡与背景切换不同步;移除图标颜色过渡,重新测试通过。
|
|
29
|
-
5. 验证发现默认品牌蓝的小字号链接对比度约4.23:1;采用正文色加下划线,补跑4项主题用例通过并重新查看截图。
|
|
30
|
-
|
|
31
|
-
## 结果
|
|
32
|
-
|
|
33
|
-
final result: passed
|
|
34
|
-
|
|
35
|
-
该结果限本次气泡组件及已列出的主题/语言状态,没有发现待修复P0/P1/P2问题。完整真实DSH和真实模型验收仍由用户进行,不能用此结论替代。
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# I004 仓库与自动发布
|
|
2
|
-
|
|
3
|
-
状态:已完成
|
|
4
|
-
负责人:Codex
|
|
5
|
-
优先级:P1
|
|
6
|
-
更新时间:2026-09-06 14:49(Asia/Shanghai)
|
|
7
|
-
|
|
8
|
-
## 目标与边界
|
|
9
|
-
|
|
10
|
-
创建公开仓库 `MichengAI/dsh-btw`,提交并推送已有插件,建立 CI 和版本标签发布流程。不提交本地无用文件,不直接发布版本或重启 DSH。
|
|
11
|
-
|
|
12
|
-
## 任务与验收
|
|
13
|
-
|
|
14
|
-
- [x] 补齐 Git 忽略规则,只保留源码、测试、配置、文档和三张 README 截图。
|
|
15
|
-
- [x] 配置 Node.js 22、24 检查及 Chromium 桌面、移动端回归。
|
|
16
|
-
- [x] 补齐真实宿主测试依赖,锁文件下载地址使用官方 npm 源。
|
|
17
|
-
- [x] 新增版本标签校验、双语更新日志提取、安装包清单检查和 GitHub Release 工作流。
|
|
18
|
-
- [x] 创建公开仓库、提交推送,并确认 GitHub CI 与手动 dry run 通过。
|
|
19
|
-
- [x] 复核提交清单,确认本地备份、日志、缓存和安装包未上传。
|
|
20
|
-
|
|
21
|
-
## 已完成与待处理
|
|
22
|
-
|
|
23
|
-
本地 21 项单元及运行时测试、2 项发布脚本测试、类型检查和构建通过;浏览器回归 17 项通过,1 项移动端工作区按钮场景不适用跳过。
|
|
24
|
-
|
|
25
|
-
公开仓库:<https://github.com/MichengAI/dsh-btw>。首次提交共 60 个文件,其中正式截图 3 张;43 个本地文档链接、忽略规则及凭据模式扫描通过。
|
|
26
|
-
|
|
27
|
-
- [GitHub CI](https://github.com/MichengAI/dsh-btw/actions/runs/34016743132):Node.js 22、24 均通过,含真实运行时与 Chromium 浏览器回归。
|
|
28
|
-
- [发布 dry run](https://github.com/MichengAI/dsh-btw/actions/runs/34016748284):测试、双语说明提取、构建、打包、安装包清单校验及 Artifact 上传全部通过。
|
|
29
|
-
- 下载云端 Artifact 再次验证:安装包含 33 个文件,双语说明与本地 CHANGELOG 提取结果哈希一致。
|
|
30
|
-
- 没有推送版本标签,没有创建正式 Release,也没有执行 npm 发布。
|
|
31
|
-
|
|
32
|
-
npm Trusted Publishing 需在 npm 包设置完成信任关系后启用,仓库变量 `NPM_PUBLISH_ENABLED=false`;不阻塞 GitHub Release 和安装包流程。启用事项由[项目待办](../../../00-交接入口/03-待办与阻塞.md)承接,有效流程见[自动发布](../../../05-工程交付/01-自动发布.md)。
|
|
33
|
-
|
|
34
|
-
阻塞:无。关联提交:`0dd8ff7`(插件与发布自动化);归档记录通过后续文档提交补齐。
|
|
35
|
-
|
|
36
|
-
14:49 补充:按用户要求补齐完整中英文 README,并按明确确认统一采用 Apache-2.0。同步 LICENSE、package.json、锁文件、徽章及双语 CHANGELOG;安装包校验新增中文 README 必选项。两份 README 的 26 个本地链接、截图一致性、许可证一致性、2 项发布说明测试和 34 文件安装包检查通过。npm 账号已登录,但包尚不存在;官方 staged publishing 不支持新包,首次公开发布正在等待用户确认,期间保持自动发布开关关闭。
|
|
37
|
-
|
|
38
|
-
阅读顺序:本总览 → [自动发布](../../../05-工程交付/01-自动发布.md) → [README](../../../../README.md)。
|