@michengai/dsh-btw 0.1.4 → 0.1.6
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 +16 -17
- package/CHANGELOG.zh-CN.md +16 -17
- package/README.md +36 -6
- package/README.zh-CN.md +36 -6
- package/lib/client.js +8 -7
- package/lib/index.js +4 -4
- package/lib/types/locales.d.ts +2 -2
- package/package.json +36 -25
package/CHANGELOG.md
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [0.1.6] - 2026-09-11
|
|
4
|
+
|
|
5
|
+
- Support DSH `0.1.5-rc.2` while retaining compatibility with the four previously supported host versions.
|
|
6
|
+
|
|
7
|
+
## [0.1.5] - 2026-09-10
|
|
8
|
+
|
|
9
|
+
- Support DSH `0.1.5-rc.1`, while retaining compatibility with `0.1.0-rc.8`, `0.1.1-rc.2`, and `0.1.2-rc.1`.
|
|
10
|
+
- Adapt to the updated composer: side questions accept text only. Images or files prompt you to remove them while preserving your draft and attachments.
|
|
4
11
|
|
|
5
12
|
## [0.1.4] - 2026-09-07
|
|
6
13
|
|
|
7
|
-
-
|
|
8
|
-
- Remove the standalone mock preview and its mock-only browser test so the repository no longer presents it as a real DSH plugin page.
|
|
14
|
+
- Reduce the installation package size; side-question behavior is unchanged.
|
|
9
15
|
|
|
10
16
|
## [0.1.3] - 2026-09-06
|
|
11
17
|
|
|
12
|
-
- Fix the package
|
|
13
|
-
- Include the OIDC authorization check and its failure and credential-handling tests prepared for 0.1.2, whose publication failed before uploading a package.
|
|
18
|
+
- Fix the package publishing failure; side-question behavior is unchanged.
|
|
14
19
|
|
|
15
20
|
## [0.1.2] - 2026-09-06
|
|
16
21
|
|
|
@@ -19,18 +24,12 @@
|
|
|
19
24
|
|
|
20
25
|
## [0.1.1] - 2026-09-06
|
|
21
26
|
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
- Bound startup cancellation and cleanup waits while retaining ownership of late child agents. Cleanup errors no longer block plugin unload, and unreleased children remain protected from tool execution.
|
|
26
|
-
- Retain recent bubbles per session so questions in another session cannot evict answers. Failed cleanup during eviction keeps the bubble available for retry.
|
|
27
|
-
- Format the community notice consistently as a blockquote in both READMEs.
|
|
27
|
+
- Keep up to 20 side-question bubbles per session; questions in other sessions no longer remove your answers.
|
|
28
|
+
- Preserve existing answers and the current draft when closing fails, with a prompt to retry.
|
|
29
|
+
- Improve reliability when cancelling and closing side questions.
|
|
28
30
|
|
|
29
31
|
## [0.1.0] - 2026-09-06
|
|
30
32
|
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
- Support
|
|
34
|
-
- Leave the sidebar unchanged and do not record input history or bind arrow keys.
|
|
35
|
-
- Include installation instructions, real UI screenshots, and automated tests, packaging, and bilingual GitHub Releases.
|
|
36
|
-
- Provide complete English and Chinese READMEs and use the Apache-2.0 license consistently.
|
|
33
|
+
- Introduce `/btw` side questions that use completed context from the main conversation and answer without executing tools.
|
|
34
|
+
- Display answers in separate bubbles above the composer, with Markdown, copy, collapse, close, and cancel support.
|
|
35
|
+
- Support light and dark themes and Chinese and English interfaces.
|
package/CHANGELOG.zh-CN.md
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
# 更新日志
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [0.1.6] - 2026-09-11
|
|
4
|
+
|
|
5
|
+
- 支持 DSH `0.1.5-rc.2`,同时保留此前四个宿主版本的兼容支持。
|
|
6
|
+
|
|
7
|
+
## [0.1.5] - 2026-09-10
|
|
8
|
+
|
|
9
|
+
- 支持 DSH `0.1.5-rc.1`,同时兼容 `0.1.0-rc.8`、`0.1.1-rc.2` 和 `0.1.2-rc.1`。
|
|
10
|
+
- 适配新版输入框:旁问仅接受文字,附带图片或文件时会提示移除,并保留草稿和附件。
|
|
4
11
|
|
|
5
12
|
## [0.1.4] - 2026-09-07
|
|
6
13
|
|
|
7
|
-
-
|
|
8
|
-
- 删除独立 mock 预览及仅验证该 mock 的浏览器测试,避免再将其当作真实 DSH 插件页面。
|
|
14
|
+
- 缩小安装包体积,旁问功能不变。
|
|
9
15
|
|
|
10
16
|
## [0.1.3] - 2026-09-06
|
|
11
17
|
|
|
12
|
-
-
|
|
13
|
-
- 包含原定 0.1.2 的 OIDC 授权检查及授权失败、凭据处理测试;0.1.2 发布在上传安装包前失败。
|
|
18
|
+
- 修复安装包发布失败的问题,旁问功能不变。
|
|
14
19
|
|
|
15
20
|
## [0.1.2] - 2026-09-06
|
|
16
21
|
|
|
@@ -19,18 +24,12 @@
|
|
|
19
24
|
|
|
20
25
|
## [0.1.1] - 2026-09-06
|
|
21
26
|
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
- 为启动取消和资源清理增加有界等待,继续接管迟到的子代理;卸载异常不再阻塞插件退出,未释放子代理仍受工具保护。
|
|
26
|
-
- 按会话保留最近的旁问气泡,避免其他会话的提问挤掉答案;淘汰时清理失败会保留气泡供重试。
|
|
27
|
-
- 将中英文 README 的社区说明统一为引用块格式。
|
|
27
|
+
- 每个会话最多保留 20 个旁问气泡,其他会话的提问不会挤掉当前答案。
|
|
28
|
+
- 关闭失败时保留已有答案和当前输入,并提示重试。
|
|
29
|
+
- 改善旁问取消和关闭的稳定性。
|
|
28
30
|
|
|
29
31
|
## [0.1.0] - 2026-09-06
|
|
30
32
|
|
|
31
|
-
- 新增 `/btw`
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
- 不占用侧边栏,不记录输入历史,不绑定上下键。
|
|
35
|
-
- 提供安装说明、实际界面截图及自动测试、打包和双语 Release 工作流。
|
|
36
|
-
- 提供完整中英文 README,统一采用 Apache-2.0 许可证。
|
|
33
|
+
- 新增 `/btw` 旁问,依据主会话已完成的上下文回答,不执行工具。
|
|
34
|
+
- 答案显示在输入框上方的独立气泡中,支持 Markdown、复制、折叠、关闭和取消。
|
|
35
|
+
- 支持浅色、深色主题及中英文界面。
|
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="assets/branding/dsh-btw-banner.png" alt="DSH BTW" width="100%">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/MichengAI/dsh-btw/2d8dd7752cec1b29dd705969eaa932635ba0bf4f/assets/branding/dsh-btw-banner.png" alt="DSH BTW" width="100%">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<div align="center">
|
|
@@ -33,30 +33,54 @@
|
|
|
33
33
|
|
|
34
34
|
The main conversation stays in place, with the side answer above the composer.
|
|
35
35
|
|
|
36
|
-

|
|
36
|
+

|
|
37
37
|
|
|
38
38
|
### Command menu
|
|
39
39
|
|
|
40
40
|
Type `/` and select `btw` under the side-question category, or enter `/btw your question` directly.
|
|
41
41
|
|
|
42
|
-

|
|
42
|
+

|
|
43
43
|
|
|
44
44
|
### Independent answer bubbles
|
|
45
45
|
|
|
46
46
|
Each answer has its own copy, collapse or expand, and close controls in the upper right.
|
|
47
47
|
|
|
48
|
-

|
|
48
|
+

|
|
49
|
+
|
|
50
|
+
## DSH product ecosystem
|
|
51
|
+
|
|
52
|
+
For a ready-to-use workbench, download [DSH Codex Desktop](https://github.com/MichengAI/dsh-codex-desktop/releases). If you already use [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness), install any of these eight plugins individually. The desktop app includes all eight.
|
|
53
|
+
|
|
54
|
+
| Plugin | What you can do |
|
|
55
|
+
| --- | --- |
|
|
56
|
+
| [Codex UI](https://github.com/MichengAI/dsh-codex-ui) | Organize projects and conversations, search tasks, and navigate chat turns |
|
|
57
|
+
| [IM Connect](https://github.com/MichengAI/dsh-im-connect) | Send tasks and receive replies through your usual messenger |
|
|
58
|
+
| [Automation](https://github.com/MichengAI/dsh-automation) | Schedule tasks and review each run |
|
|
59
|
+
| [Skills Manager](https://github.com/MichengAI/dsh-skills-manager) | Find, enable, create, and import local skills |
|
|
60
|
+
| [Archive Manager](https://github.com/MichengAI/dsh-archive-manager) | Search, restore, or clean up archived conversations |
|
|
61
|
+
| [Agency Agents](https://github.com/MichengAI/dsh-agency-agents) | Choose and summon specialists for your task |
|
|
62
|
+
| [BTW](https://github.com/MichengAI/dsh-btw) | Ask side questions without interrupting the main task |
|
|
63
|
+
| [Simplify](https://github.com/MichengAI/dsh-simplify) | Use /simplify to improve code within your Git changes |
|
|
49
64
|
|
|
50
65
|
## Prerequisites
|
|
51
66
|
|
|
52
|
-
- An installed copy of DeepSeek Harness.
|
|
67
|
+
- An installed copy of DeepSeek Harness.
|
|
68
|
+
- Host peers accept exactly `0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2`.
|
|
53
69
|
- Node.js 22+ and `dsh` available in your terminal.
|
|
54
70
|
|
|
55
71
|
## Installation
|
|
56
72
|
|
|
57
73
|
Examples use the `web` profile; replace it with your target profile. Disable other plugins that provide `/btw` before installing.
|
|
58
74
|
|
|
59
|
-
###
|
|
75
|
+
### Ask an agent to install it (recommended)
|
|
76
|
+
|
|
77
|
+
Send the prompt below to any agent that can run terminal commands on your computer. Replace `web` with your actual profile. Once installed, use the plugin in DSH.
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
Install the DSH plugin @michengai/dsh-btw into my local web profile by running: dsh plugin --profile web add @michengai/dsh-btw@latest --registry=https://registry.npmjs.org/. Then run dsh --profile web --dump-config, confirm the configuration includes michengai-btw, and explain how to reload DSH and start using the plugin.
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Install manually from npm
|
|
60
84
|
|
|
61
85
|
```powershell
|
|
62
86
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
@@ -100,6 +124,8 @@ In a conversation with existing context, enter:
|
|
|
100
124
|
|
|
101
125
|
Use the regular conversation to run commands, edit code, or continue the main task. BTW can only answer using existing context.
|
|
102
126
|
|
|
127
|
+
BTW accepts text only. Side questions with images or files are rejected without clearing the draft or attachments; remove the attachments before retrying.
|
|
128
|
+
|
|
103
129
|
### Usage Notes
|
|
104
130
|
|
|
105
131
|
- Each question is independent and uses completed content from the main conversation at the time you ask. It does not include an answer still being generated or previous side questions.
|
|
@@ -128,6 +154,10 @@ npm run check
|
|
|
128
154
|
|
|
129
155
|
`npm run check` runs type checking, tests, and a build.
|
|
130
156
|
|
|
157
|
+
Development and builds target `0.1.5-rc.2`. `npm run test:compat` builds with that baseline and runs 43 tests on each of the five isolated host versions, using a test model adapter.
|
|
158
|
+
|
|
159
|
+
Previous manual end-to-end acceptance with Edge and a live DeepSeek model passed on `0.1.5-rc.1`: side questions, attachment rejection, copying, collapse/expand, cancellation, and continued parent-session operation. This is not part of `npm run test:compat`; browser end-to-end acceptance has not been completed on `0.1.5-rc.2` or the older three versions.
|
|
160
|
+
|
|
131
161
|
To install from source, run `dsh plugin --profile web add . --ignore-scripts` from the project directory, then reload DSH.
|
|
132
162
|
|
|
133
163
|
## License
|
package/README.zh-CN.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="assets/branding/dsh-btw-banner.png" alt="DSH BTW" width="100%">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/MichengAI/dsh-btw/2d8dd7752cec1b29dd705969eaa932635ba0bf4f/assets/branding/dsh-btw-banner.png" alt="DSH BTW" width="100%">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<div align="center">
|
|
@@ -33,30 +33,54 @@
|
|
|
33
33
|
|
|
34
34
|
主会话保留在原来的位置,旁问答案位于输入框上方。
|
|
35
35
|
|
|
36
|
-

|
|
36
|
+

|
|
37
37
|
|
|
38
38
|
### 命令入口
|
|
39
39
|
|
|
40
40
|
输入 `/` 后,可在「旁问」分类中选择 `btw`,也可以直接输入 `/btw 问题`。
|
|
41
41
|
|
|
42
|
-

|
|
42
|
+

|
|
43
43
|
|
|
44
44
|
### 独立答案气泡
|
|
45
45
|
|
|
46
46
|
每条旁问单独展示,右上角提供复制、折叠或展开、关闭操作。
|
|
47
47
|
|
|
48
|
-

|
|
48
|
+

|
|
49
|
+
|
|
50
|
+
## DSH 产品生态
|
|
51
|
+
|
|
52
|
+
想直接使用完整工作台,可下载 [DSH Codex Desktop](https://github.com/MichengAI/dsh-codex-desktop/releases);已有 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 环境,可按需独立安装以下 8 个自研插件。桌面端已随附这些插件。
|
|
53
|
+
|
|
54
|
+
| 插件 | 你可以用它做什么 |
|
|
55
|
+
| --- | --- |
|
|
56
|
+
| [Codex UI](https://github.com/MichengAI/dsh-codex-ui) | 整理项目与会话、搜索任务、跳转对话轮次 |
|
|
57
|
+
| [IM Connect](https://github.com/MichengAI/dsh-im-connect) | 从微信、飞书、钉钉等消息平台下任务、收回复 |
|
|
58
|
+
| [Automation](https://github.com/MichengAI/dsh-automation) | 按计划执行任务,查看每次运行的结果 |
|
|
59
|
+
| [Skills Manager](https://github.com/MichengAI/dsh-skills-manager) | 统一查找、启停、创建和导入本机技能 |
|
|
60
|
+
| [Archive Manager](https://github.com/MichengAI/dsh-archive-manager) | 搜索、恢复或清理已归档会话 |
|
|
61
|
+
| [Agency Agents](https://github.com/MichengAI/dsh-agency-agents) | 按任务选择并召唤专业角色 |
|
|
62
|
+
| [BTW](https://github.com/MichengAI/dsh-btw) | 在当前上下文中临时旁问,不打断主任务 |
|
|
63
|
+
| [Simplify](https://github.com/MichengAI/dsh-simplify) | 用 /simplify 整理 Git 改动范围内的代码 |
|
|
49
64
|
|
|
50
65
|
## 前置条件
|
|
51
66
|
|
|
52
|
-
- 已安装 DeepSeek Harness
|
|
67
|
+
- 已安装 DeepSeek Harness。
|
|
68
|
+
- 宿主 peer 依赖精确声明为 `0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2`。
|
|
53
69
|
- Node.js 22+,可在终端执行 `dsh`。
|
|
54
70
|
|
|
55
71
|
## 安装
|
|
56
72
|
|
|
57
73
|
以下命令使用 `web` profile,请按实际环境替换。安装前停用其他提供 `/btw` 命令的插件。
|
|
58
74
|
|
|
59
|
-
###
|
|
75
|
+
### 让 Agent 帮你安装(推荐)
|
|
76
|
+
|
|
77
|
+
把下面这段话发给任意能够执行本机终端命令的 Agent。将 `web` 替换为实际使用的 profile;安装完成后,在 DSH 中使用本插件。
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
请将 DSH 插件 @michengai/dsh-btw 安装到本机 web profile,执行:dsh plugin --profile web add @michengai/dsh-btw@latest --registry=https://registry.npmjs.org/。安装后执行 dsh --profile web --dump-config,确认配置包含 michengai-btw,并告诉我如何重新加载 DSH 和开始使用。
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 手动从 npm 安装
|
|
60
84
|
|
|
61
85
|
```powershell
|
|
62
86
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
@@ -99,6 +123,8 @@ dsh plugin --profile web add .\michengai-dsh-btw-0.1.0.tgz --ignore-scripts
|
|
|
99
123
|
|
|
100
124
|
若需要执行命令、修改代码或继续主任务,请通过普通会话提交。BTW 只能依据已有上下文作答。
|
|
101
125
|
|
|
126
|
+
BTW 只接受文字。输入框中附带图片或普通文件时会拒绝旁问,并保留输入和附件,请移除附件后重试。
|
|
127
|
+
|
|
102
128
|
### 使用说明
|
|
103
129
|
|
|
104
130
|
- 每次旁问相互独立,参考的是提问时主会话已完成的内容,不包含正在生成的回答或之前的旁问。
|
|
@@ -126,6 +152,10 @@ npm run check
|
|
|
126
152
|
|
|
127
153
|
`npm run check` 执行类型检查、测试和构建。
|
|
128
154
|
|
|
155
|
+
开发与构建基线为 `0.1.5-rc.2`。`npm run test:compat` 用该基线编译,再在五个隔离宿主版本中分别运行 43 项测试,模型使用测试适配器。
|
|
156
|
+
|
|
157
|
+
此前在 `0.1.5-rc.1` 上完成真实 Edge 与 DeepSeek 模型的手工端到端验收,旁问、附件拒绝、复制、折叠/展开、取消和父会话继续均通过。这不属于 `npm run test:compat`;`0.1.5-rc.2` 与旧三版尚未完成浏览器端到端验收。
|
|
158
|
+
|
|
129
159
|
从源码安装时,在项目目录执行 `dsh plugin --profile web add . --ignore-scripts`,然后重新加载 DSH。
|
|
130
160
|
|
|
131
161
|
## 许可证
|
package/lib/client.js
CHANGED
|
@@ -387,8 +387,8 @@ var zh = {
|
|
|
387
387
|
"menu.group": "\u65C1\u95EE",
|
|
388
388
|
"command.description": "\u6839\u636E\u5F53\u524D\u4E0A\u4E0B\u6587\u56DE\u7B54\u65C1\u95EE",
|
|
389
389
|
"error.copy": "\u590D\u5236\u5931\u8D25\uFF0C\u8BF7\u9009\u62E9\u56DE\u7B54\u6587\u5B57\u590D\u5236\u3002",
|
|
390
|
-
"error.
|
|
391
|
-
"error.
|
|
390
|
+
"error.attachments": "\u65C1\u95EE\u53EA\u63A5\u53D7\u6587\u5B57\uFF0C\u56FE\u7247\u548C\u6587\u4EF6\u4ECD\u4FDD\u7559\u5728\u8F93\u5165\u6846\u4E2D\u3002",
|
|
391
|
+
"error.removeAttachments": "\u65C1\u95EE\u53EA\u63A5\u53D7\u6587\u5B57\uFF0C\u8BF7\u5148\u79FB\u9664\u56FE\u7247\u548C\u6587\u4EF6\u3002",
|
|
392
392
|
"error.backend": "BTW \u540E\u7AEF\u5C1A\u672A\u542F\u7528\uFF0C\u8BF7\u68C0\u67E5\u63D2\u4EF6\u914D\u7F6E\u3002",
|
|
393
393
|
"error.empty": "\u8BF7\u8F93\u5165\u65C1\u95EE\u5185\u5BB9\u3002",
|
|
394
394
|
"error.length": "\u65C1\u95EE\u6700\u591A\u652F\u6301 8000 \u4E2A\u5B57\u7B26\u3002",
|
|
@@ -424,8 +424,8 @@ var en = {
|
|
|
424
424
|
"menu.group": "Side Questions",
|
|
425
425
|
"command.description": "Ask a side question using the current context",
|
|
426
426
|
"error.copy": "Copy failed. Select the answer text to copy it.",
|
|
427
|
-
"error.
|
|
428
|
-
"error.
|
|
427
|
+
"error.attachments": "Side questions accept text only. Your images and files remain in the input.",
|
|
428
|
+
"error.removeAttachments": "Side questions accept text only. Remove the images and files first.",
|
|
429
429
|
"error.backend": "The BTW backend is unavailable. Check the plugin configuration.",
|
|
430
430
|
"error.empty": "Enter a side question.",
|
|
431
431
|
"error.length": "Side questions are limited to 8,000 characters.",
|
|
@@ -13418,8 +13418,8 @@ function apply(ctx) {
|
|
|
13418
13418
|
get hint() {
|
|
13419
13419
|
return t("command.hint");
|
|
13420
13420
|
},
|
|
13421
|
-
submit: async (args, _actx,
|
|
13422
|
-
if (
|
|
13421
|
+
submit: async (args, _actx, attachments) => {
|
|
13422
|
+
if (attachments.length) return { kind: "error", text: t("error.attachments") };
|
|
13423
13423
|
try {
|
|
13424
13424
|
await store.ask(sessionId, args.trim());
|
|
13425
13425
|
return { kind: "success" };
|
|
@@ -13437,7 +13437,8 @@ function apply(ctx) {
|
|
|
13437
13437
|
matchSpace: (session, token) => token === "/btw" ? claim(session.sessionId) : void 0,
|
|
13438
13438
|
matchEnter: async (session, line, signal, envelope) => {
|
|
13439
13439
|
if (signal.aborted || !/^\/btw(?:\s|$)/.test(line)) return void 0;
|
|
13440
|
-
|
|
13440
|
+
const input = envelope;
|
|
13441
|
+
if (input.attachments || input.images) throw new Error(t("error.removeAttachments"));
|
|
13441
13442
|
return claim(session.sessionId);
|
|
13442
13443
|
}
|
|
13443
13444
|
};
|
package/lib/index.js
CHANGED
|
@@ -15,8 +15,8 @@ var zh = {
|
|
|
15
15
|
"menu.group": "\u65C1\u95EE",
|
|
16
16
|
"command.description": "\u6839\u636E\u5F53\u524D\u4E0A\u4E0B\u6587\u56DE\u7B54\u65C1\u95EE",
|
|
17
17
|
"error.copy": "\u590D\u5236\u5931\u8D25\uFF0C\u8BF7\u9009\u62E9\u56DE\u7B54\u6587\u5B57\u590D\u5236\u3002",
|
|
18
|
-
"error.
|
|
19
|
-
"error.
|
|
18
|
+
"error.attachments": "\u65C1\u95EE\u53EA\u63A5\u53D7\u6587\u5B57\uFF0C\u56FE\u7247\u548C\u6587\u4EF6\u4ECD\u4FDD\u7559\u5728\u8F93\u5165\u6846\u4E2D\u3002",
|
|
19
|
+
"error.removeAttachments": "\u65C1\u95EE\u53EA\u63A5\u53D7\u6587\u5B57\uFF0C\u8BF7\u5148\u79FB\u9664\u56FE\u7247\u548C\u6587\u4EF6\u3002",
|
|
20
20
|
"error.backend": "BTW \u540E\u7AEF\u5C1A\u672A\u542F\u7528\uFF0C\u8BF7\u68C0\u67E5\u63D2\u4EF6\u914D\u7F6E\u3002",
|
|
21
21
|
"error.empty": "\u8BF7\u8F93\u5165\u65C1\u95EE\u5185\u5BB9\u3002",
|
|
22
22
|
"error.length": "\u65C1\u95EE\u6700\u591A\u652F\u6301 8000 \u4E2A\u5B57\u7B26\u3002",
|
|
@@ -52,8 +52,8 @@ var en = {
|
|
|
52
52
|
"menu.group": "Side Questions",
|
|
53
53
|
"command.description": "Ask a side question using the current context",
|
|
54
54
|
"error.copy": "Copy failed. Select the answer text to copy it.",
|
|
55
|
-
"error.
|
|
56
|
-
"error.
|
|
55
|
+
"error.attachments": "Side questions accept text only. Your images and files remain in the input.",
|
|
56
|
+
"error.removeAttachments": "Side questions accept text only. Remove the images and files first.",
|
|
57
57
|
"error.backend": "The BTW backend is unavailable. Check the plugin configuration.",
|
|
58
58
|
"error.empty": "Enter a side question.",
|
|
59
59
|
"error.length": "Side questions are limited to 8,000 characters.",
|
package/lib/types/locales.d.ts
CHANGED
|
@@ -16,8 +16,8 @@ export declare const zh: {
|
|
|
16
16
|
'menu.group': string;
|
|
17
17
|
'command.description': string;
|
|
18
18
|
'error.copy': string;
|
|
19
|
-
'error.
|
|
20
|
-
'error.
|
|
19
|
+
'error.attachments': string;
|
|
20
|
+
'error.removeAttachments': string;
|
|
21
21
|
'error.backend': string;
|
|
22
22
|
'error.empty': string;
|
|
23
23
|
'error.length': string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@michengai/dsh-btw",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "DSH 一次性只读旁问气泡",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -43,7 +43,6 @@
|
|
|
43
43
|
"inject": [
|
|
44
44
|
"@deepseek-ai/dsh-client-ui-conversation",
|
|
45
45
|
"@deepseek-ai/dsh-client-ui-input-trigger",
|
|
46
|
-
"@deepseek-ai/dsh-client-ui-chat",
|
|
47
46
|
"@deepseek-ai/dsh-api-remotes",
|
|
48
47
|
"@deepseek-ai/dsh-client-locale"
|
|
49
48
|
]
|
|
@@ -53,9 +52,10 @@
|
|
|
53
52
|
"build": "node scripts/build.mjs",
|
|
54
53
|
"typecheck": "tsc --noEmit",
|
|
55
54
|
"test": "vitest run",
|
|
56
|
-
"test:release": "node --test tests/release.test.mjs tests/npm-oidc.test.mjs",
|
|
55
|
+
"test:release": "node --test tests/release.test.mjs tests/npm-oidc.test.mjs tests/github-release.test.mjs",
|
|
57
56
|
"check": "npm run typecheck && npm test && npm run test:release && npm run build",
|
|
58
|
-
"prepack": "npm run build"
|
|
57
|
+
"prepack": "npm run build",
|
|
58
|
+
"test:compat": "node scripts/test-compatibility.mjs"
|
|
59
59
|
},
|
|
60
60
|
"engines": {
|
|
61
61
|
"node": ">=22"
|
|
@@ -63,36 +63,47 @@
|
|
|
63
63
|
"license": "Apache-2.0",
|
|
64
64
|
"peerDependencies": {
|
|
65
65
|
"@deepseek-ai/cordis": "^4.0.2",
|
|
66
|
-
"@deepseek-ai/dsh-commands": "0.1.2-rc.1",
|
|
67
|
-
"@deepseek-ai/dsh-subagent": "0.1.2-rc.1",
|
|
68
|
-
"@deepseek-ai/dsh-tools": "0.1.2-rc.1",
|
|
66
|
+
"@deepseek-ai/dsh-commands": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2",
|
|
67
|
+
"@deepseek-ai/dsh-subagent": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2",
|
|
68
|
+
"@deepseek-ai/dsh-tools": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2",
|
|
69
69
|
"react": "^18.3.1"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@deepseek-ai/cordis": "4.0.2",
|
|
73
|
-
"@deepseek-ai/dsh-agent": "0.1.
|
|
74
|
-
"@deepseek-ai/dsh-
|
|
75
|
-
"@deepseek-ai/dsh-api-
|
|
76
|
-
"@deepseek-ai/dsh-
|
|
77
|
-
"@deepseek-ai/dsh-
|
|
78
|
-
"@deepseek-ai/dsh-client-
|
|
79
|
-
"@deepseek-ai/dsh-client-ui-
|
|
80
|
-
"@deepseek-ai/dsh-client-ui-
|
|
81
|
-
"@deepseek-ai/dsh-client-ui-
|
|
82
|
-
"@deepseek-ai/dsh-client-ui-
|
|
83
|
-
"@deepseek-ai/dsh-client-ui-
|
|
84
|
-
"@deepseek-ai/dsh-
|
|
85
|
-
"@deepseek-ai/dsh-
|
|
86
|
-
"@deepseek-ai/dsh-
|
|
87
|
-
"@deepseek-ai/dsh-
|
|
88
|
-
"@deepseek-ai/dsh-
|
|
89
|
-
"@deepseek-ai/dsh-
|
|
90
|
-
"@deepseek-ai/dsh-
|
|
73
|
+
"@deepseek-ai/dsh-agent": "0.1.5-rc.2",
|
|
74
|
+
"@deepseek-ai/dsh-agent-loop": "0.1.5-rc.2",
|
|
75
|
+
"@deepseek-ai/dsh-api-gateway": "0.1.5-rc.2",
|
|
76
|
+
"@deepseek-ai/dsh-api-session-controller": "0.1.5-rc.2",
|
|
77
|
+
"@deepseek-ai/dsh-attachment": "0.1.5-rc.2",
|
|
78
|
+
"@deepseek-ai/dsh-client-locale": "0.1.5-rc.2",
|
|
79
|
+
"@deepseek-ai/dsh-client-ui-chat": "0.1.5-rc.2",
|
|
80
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.1.5-rc.2",
|
|
81
|
+
"@deepseek-ai/dsh-client-ui-input-trigger": "0.1.5-rc.2",
|
|
82
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.1.5-rc.2",
|
|
83
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.1.5-rc.2",
|
|
84
|
+
"@deepseek-ai/dsh-client-ui-theme": "0.1.5-rc.2",
|
|
85
|
+
"@deepseek-ai/dsh-commands": "0.1.5-rc.2",
|
|
86
|
+
"@deepseek-ai/dsh-llm": "0.1.5-rc.2",
|
|
87
|
+
"@deepseek-ai/dsh-scope": "0.1.5-rc.2",
|
|
88
|
+
"@deepseek-ai/dsh-session": "0.1.5-rc.2",
|
|
89
|
+
"@deepseek-ai/dsh-session-persistence": "0.1.5-rc.2",
|
|
90
|
+
"@deepseek-ai/dsh-session-projection": "0.1.5-rc.2",
|
|
91
|
+
"@deepseek-ai/dsh-subagent": "0.1.5-rc.2",
|
|
92
|
+
"@deepseek-ai/dsh-subagent-fork-in-process": "0.1.5-rc.2",
|
|
93
|
+
"@deepseek-ai/dsh-subagent-in-process-driver": "0.1.5-rc.2",
|
|
94
|
+
"@deepseek-ai/dsh-system-prompt": "0.1.5-rc.2",
|
|
95
|
+
"@deepseek-ai/dsh-tools": "0.1.5-rc.2",
|
|
96
|
+
"@deepseek-ai/dsh-typert-protocol": "0.1.5-rc.2",
|
|
97
|
+
"@deepseek-ai/dsh-typert-registry": "0.1.5-rc.2",
|
|
98
|
+
"@deepseek-ai/dsh-util-time": "0.1.5-rc.2",
|
|
91
99
|
"@types/node": "^22.0.0",
|
|
92
100
|
"@types/react": "^18.3.1",
|
|
101
|
+
"@types/react-dom": "^18.3.7",
|
|
93
102
|
"esbuild": "^0.25.0",
|
|
103
|
+
"jsdom": "^26.1.0",
|
|
94
104
|
"lucide-react": "^0.468.0",
|
|
95
105
|
"react": "^18.3.1",
|
|
106
|
+
"react-dom": "^18.3.1",
|
|
96
107
|
"react-markdown": "^10.1.0",
|
|
97
108
|
"remark-gfm": "^4.0.1",
|
|
98
109
|
"typescript": "~5.7.2",
|