dsh-claude-workbench 0.0.0-stage → 0.1.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 beckhamwash
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.en.md ADDED
@@ -0,0 +1,48 @@
1
+ # dsh-claude-workbench
2
+
3
+ [![npm version](https://img.shields.io/npm/v/dsh-claude-workbench.svg)](https://www.npmjs.com/package/dsh-claude-workbench) [![license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
4
+
5
+ A Claude-flavoured workbench enhancement for the **DeepSeek Harness (DSH)** Web GUI — one plugin, five features:
6
+
7
+ 1. **Claude skin** — warm cream canvas, warm stone surfaces and clay accents; serif **Crimson Pro** prose / **DM Sans** UI (fonts inlined, works offline), complete light/dark/system support.
8
+ 2. **Split view** — the “◫ Split view” pill at the bottom-right splits the window into 2–3 full DSH panes, each with its own session view (the same idea as Claude’s Split view).
9
+ 3. **Side chat** — select text in a conversation → right-click → **“在旁聊中提问”**; a docked right-hand panel boots a fork of the current session with the selection quoted in the composer. Closing archives the fork.
10
+ 4. **Quick appearance switch** — a theme button at the top-right of the session header toggles follow-system / light / dark (same as Settings → General → Appearance, persisted).
11
+ 5. **Completion chime** — a short, crisp chime when a turn finishes (like OpenCode’s completion sound); toggle it in the appearance menu and the choice is remembered.
12
+
13
+ ![Claude skin (light)](preview/light.png)
14
+ ![Split view](preview/panes-2col.png)
15
+ ![Side chat](preview/sidechat.png)
16
+ ![Quick appearance switch](preview/theme-menu.png)
17
+
18
+ > Preview images are **synthetic renders** (plugin styles + mock data), not real conversations.
19
+
20
+ ## Install
21
+
22
+ Desktop (Electron) uses the `desktop` profile — **do not** use `dsh plugin --profile web`.
23
+
24
+ - Ask DSH: *“install dsh-claude-workbench with plugin_manager”*, or
25
+ - In the app: Plugins → “Add plugin” → `dsh-claude-workbench` → enable → fully quit and reopen the client.
26
+
27
+ Web (`dsh web`): `dsh plugin --profile web add dsh-claude-workbench`, restart the host, then `Ctrl+F5`.
28
+
29
+ From source: `dsh plugin --profile web add github:<owner>/dsh-claude-workbench`.
30
+
31
+ ## Compatibility
32
+
33
+ - DSH **0.2.x** (developed and verified on desktop `0.2.2-rc.1`);
34
+ - Uses the DSH client-plugin mechanism (`dsh.client` manifest + `window.__ModuleLoader__`).
35
+
36
+ ## Customize
37
+
38
+ Edit `src/theme.css` (tokens/fonts) or `src/panes-ui.js` (UI), then `node tools/build.mjs` and reload. Disabling the plugin restores the stock UI; DSH itself is never modified.
39
+
40
+ ## Known limits
41
+
42
+ - Panes/side chat run extra same-origin GUI clients inside the window; each pane is a full UI (with sidebar) and costs memory.
43
+ - Side chat requires a completed turn to fork; closing archives the fork (recoverable from Archived).
44
+ - A few rules depend on hashed class names of the current DSH build; they silently no-op after a breaking upgrade.
45
+
46
+ ## License
47
+
48
+ Code MIT (`LICENSE`). Crimson Pro / DM Sans are SIL OFL 1.1 (`THIRD_PARTY_NOTICES.md`). Claude-inspired, unofficial, not affiliated with Anthropic; no Anthropic assets are included.
package/README.md CHANGED
@@ -1,3 +1,78 @@
1
- # Temporary Holding Version
1
+ # dsh-claude-workbench
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ [![npm version](https://img.shields.io/npm/v/dsh-claude-workbench.svg)](https://www.npmjs.com/package/dsh-claude-workbench) [![license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
4
+
5
+ 给 **DeepSeek Harness(DSH)Web GUI** 的 Claude 风格工作台增强包 —— 一个插件,五件事:
6
+
7
+ 1. **Claude 皮肤**:暖米白画布 + 暖石灰 + 陶土色,正文/标题用衬线 **Crimson Pro**、界面用 **DM Sans**(字体已内联,离线可用),浅色/深色/跟随系统都完整适配;
8
+ 2. **Split view(并排会话)**:右下角「◫ Split view」→ 把窗口切成 **2 栏或 3 栏**,每栏是一个完整 DSH 界面,可各自打开/切换不同会话(对应 Claude 里的 Split view);
9
+ 3. **旁聊(side chat)**:在对话里**选中文字 → 右键 → 「在旁聊中提问」**,右侧 dock 出当前会话的 fork(继承上下文),选中的内容以引用形式预填进输入框;关闭时自动归档该 fork;
10
+ 4. **外观快切**:右上角主题按钮,一键在 **跟随系统 / 浅色 / 深色** 之间切换(与「设置 → 通用 → 外观」等价、持久化);
11
+ 5. **完成提示音**:一轮对话结束时播放一声清脆提示音(类似 OpenCode 的完成提醒),可在右上角外观菜单里开关,设置会记住。
12
+
13
+ ![Claude 皮肤(浅色)](preview/light.png)
14
+ ![Split view](preview/panes-2col.png)
15
+ ![旁聊](preview/sidechat.png)
16
+ ![外观快切](preview/theme-menu.png)
17
+
18
+ > 预览图是**模拟渲染**(用插件实际样式 + 假数据截图),不是真实会话;真实界面里的配色/字体/控件一致。
19
+
20
+ ## 安装
21
+
22
+ ### 官方桌面端(Electron)
23
+
24
+ 桌面端读的是 `desktop` profile,**不要**用 `dsh plugin --profile web ...`。用宿主内置的插件管理:
25
+
26
+ - 在会话里对我说:**"用 plugin_manager 安装 dsh-claude-workbench"**;或
27
+ - 手动:插件页 →「添加插件」→ 输入 `dsh-claude-workbench` → 安装 → 按提示启用 → **完全退出客户端再打开**。
28
+
29
+ ### Web 版(`dsh web`)
30
+
31
+ ```bash
32
+ dsh plugin --profile web add dsh-claude-workbench
33
+ ```
34
+
35
+ 装完重启 host,浏览器 `Ctrl+F5`。
36
+
37
+ ### 从 GitHub 源码
38
+
39
+ ```bash
40
+ dsh plugin --profile web add github:<owner>/dsh-claude-workbench
41
+ ```
42
+
43
+ ## 用法
44
+
45
+ - **Split view**:点右下角「◫ Split view」→ 默认 2 栏;顶部可切 2/3 栏、退出;每栏像平常一样点左侧会话列表即可显示不同对话。
46
+ - **旁聊**:选中对话内容 → 右键 →「◧ 在旁聊中提问」;面板左缘可拖动调宽;「在主对话打开」把 fork 提为主对话;关闭自动归档 fork。
47
+ - **外观**:会话 header 右上角按钮(右侧栏展开按钮左边),点开选 跟随系统/浅色/深色;菜单里还有「完成提示音」开关。
48
+ - **完成提示音**:默认开启;对话完成(运行中 → 空闲)时响一声;子代理会话不响。
49
+
50
+ ## 兼容性
51
+
52
+ - 适配 DSH **0.2.x**(在桌面版 `0.2.2-rc.1` 上开发与验证);
53
+ - 依赖 DSH 客户端插件机制(`dsh.client` 清单 + `window.__ModuleLoader__`);
54
+ - DSH 升级后若 token 名变化,个别颜色可能失效;欢迎提 issue。
55
+
56
+ ## 自定义
57
+
58
+ ```bash
59
+ # 改配色/排版:编辑 src/theme.css,然后
60
+ node tools/build.mjs # 生成 lib/skin.css(字体内联)与 lib/client.js
61
+ ```
62
+
63
+ - `src/theme.css`:颜色 token / 字体 / 字号的覆盖层
64
+ - `src/panes-ui.js`:Split view、旁聊、外观快切的浏览器端 UI
65
+ - 停用插件即完全还原,不改 DSH 本体。
66
+
67
+ ## 已知限制
68
+
69
+ - Split view/旁聊本质是"在窗口里跑多份同源 GUI 客户端",每栏是完整界面(含侧栏),内存占用随栏数增加;
70
+ - 旁聊需要当前会话至少有一个已完成轮次(fork 限制);关闭默认归档 fork(可在"已归档"找回);
71
+ - 少数样式用了 DSH 当前构建的哈希类名(消息气泡衬线、对话列宽),升级后匹配不到会静默跳过;
72
+ - 外观快切按钮挂在会话 header,全局面板(插件/设置页)没有该 header。
73
+
74
+ ## 许可与声明
75
+
76
+ - 代码:MIT(见 `LICENSE`);
77
+ - 字体:Crimson Pro / DM Sans,SIL OFL 1.1(见 `THIRD_PARTY_NOTICES.md` 与 `assets/fonts/OFL-*.txt`);
78
+ - 设计灵感来自 Claude(Anthropic);本项目为独立社区作品,**非官方、与 Anthropic 无关联**,不包含 Anthropic 的任何素材。
@@ -0,0 +1,27 @@
1
+ # Third-party notices
2
+
3
+ ## Fonts
4
+
5
+ `lib/skin.css` embeds two WOFF2 font files as base64 data URIs:
6
+
7
+ | Font | Files | License |
8
+ | :--- | :--- | :--- |
9
+ | **Crimson Pro** | `assets/fonts/crimson.woff2`, `assets/fonts/crimson-italic.woff2` | SIL Open Font License 1.1 — see `assets/fonts/OFL-CrimsonPro.txt` |
10
+ | **DM Sans** | `assets/fonts/dmsans.woff2` | SIL Open Font License 1.1 — see `assets/fonts/OFL-DMSans.txt` |
11
+
12
+ Both fonts are distributed via Google Fonts and remain under the SIL Open Font
13
+ License 1.1; only the latin subset is bundled here.
14
+
15
+ ## Design inspiration
16
+
17
+ The color palette and typography direction are *inspired by* Claude (Anthropic)
18
+ and by publicly documented design tokens of that product. This plugin is an
19
+ independent community project: it is **not affiliated with, endorsed by, or
20
+ sponsored by Anthropic**, and it ships **no Anthropic assets** (no logos, no
21
+ proprietary fonts, no copied artwork).
22
+
23
+ ## DeepSeek Harness
24
+
25
+ The plugin targets the DeepSeek Harness (DSH) Web GUI. DSH itself is a separate
26
+ open-source project (MIT); this package is an independent community plugin and is
27
+ not an official DeepSeek product.
@@ -0,0 +1,3 @@
1
+ - insert:
2
+ - id: claude-workbench
3
+ name: "dsh-claude-workbench"