dsh-workbuddy-bridge 0.4.0 → 0.5.0
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/NOTICE +1 -1
- package/README.md +16 -12
- package/README_en.md +16 -12
- package/lib/bin.js +1 -1
- package/lib/client.js +70 -70
- package/lib/{heartbeat-CP6YM98x.js → heartbeat-BpW2mSgI.js} +1 -1
- package/lib/index.js +1 -1
- package/locale/README.md +10 -0
- package/package.json +56 -57
package/NOTICE
CHANGED
package/README.md
CHANGED
|
@@ -9,14 +9,18 @@
|
|
|
9
9
|
<p><em>WorkBuddy desktop models in DeepSeek Harness</em></p>
|
|
10
10
|
|
|
11
11
|
<p>
|
|
12
|
+
<a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://img.shields.io/badge/powered_by-dsh-4D6BFE?style=flat&logo=deepseek&logoColor=white" alt="由 dsh 驱动"></a>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
<p>
|
|
16
|
+
<a href="https://github.com/dsh-plugin-lab/dsh-workbuddy-bridge/actions/workflows/ci.yml"><img src="https://github.com/dsh-plugin-lab/dsh-workbuddy-bridge/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
12
17
|
<a href="https://www.npmjs.com/package/dsh-workbuddy-bridge"><img src="https://img.shields.io/npm/v/dsh-workbuddy-bridge?style=flat" alt="npm"></a>
|
|
13
|
-
<a href="
|
|
14
|
-
<a href="https://
|
|
15
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT 许可证"></a>
|
|
18
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat" alt="MIT 许可证"></a>
|
|
19
|
+
<a href="https://www.npmjs.com/package/dsh-workbuddy-bridge"><img src="https://img.shields.io/badge/SLSA-Build%20L2-green?logo=slsa&style=flat" alt="SLSA Build L2"></a>
|
|
16
20
|
</p>
|
|
17
21
|
|
|
18
22
|
<p>
|
|
19
|
-
各版本改动 → <a href="https://github.com/
|
|
23
|
+
各版本改动 → <a href="https://github.com/dsh-plugin-lab/dsh-workbuddy-bridge/releases">Releases</a>(与 npm 版本一一对应)
|
|
20
24
|
</p>
|
|
21
25
|
|
|
22
26
|
<p>
|
|
@@ -36,7 +40,7 @@
|
|
|
36
40
|
<p align="center">
|
|
37
41
|
<img src="assets/model-picker.png" alt="WorkBuddy 模型出现在 DSH 模型选择器中" width="300">
|
|
38
42
|
<br>
|
|
39
|
-
<em
|
|
43
|
+
<em>中文界面截图:国内版在模型选择器中自成一组,模型名后直接跟积分倍率与促销徽章;装国际版则出现「WorkBuddy AI」组。</em>
|
|
40
44
|
</p>
|
|
41
45
|
|
|
42
46
|
## 能力
|
|
@@ -55,13 +59,13 @@
|
|
|
55
59
|
<p align="center">
|
|
56
60
|
<img src="assets/composer-row.png" alt="输入区那一行:币图标与余额、推理档位灯泡、模型名,从左到右一行" width="560">
|
|
57
61
|
<br>
|
|
58
|
-
<em
|
|
62
|
+
<em>中文界面截图:对话窗口里每天看到的样子:币图标与余额、推理档位灯泡,再往右是模型名——都排在同一行。</em>
|
|
59
63
|
</p>
|
|
60
64
|
|
|
61
65
|
<p align="center">
|
|
62
66
|
<img src="assets/plugin-page.png" alt="插件详情页:配置表单与两张状态卡片" width="480">
|
|
63
67
|
<br>
|
|
64
|
-
<em
|
|
68
|
+
<em>中文界面截图:插件页:上面是配置表单,下面两张卡片各跟随自己 App 的登录状态。</em>
|
|
65
69
|
</p>
|
|
66
70
|
|
|
67
71
|
## 安装
|
|
@@ -79,7 +83,7 @@ Desktop 与 TUI 把 `--profile web` 换成 `desktop` / `dsh-tui`(TUI 需较新
|
|
|
79
83
|
也可以从源码安装:
|
|
80
84
|
|
|
81
85
|
```sh
|
|
82
|
-
git clone https://github.com/
|
|
86
|
+
git clone https://github.com/dsh-plugin-lab/dsh-workbuddy-bridge.git
|
|
83
87
|
cd dsh-workbuddy-bridge
|
|
84
88
|
pnpm install && pnpm build
|
|
85
89
|
dsh plugin --profile web add "$PWD"
|
|
@@ -98,14 +102,14 @@ dsh plugin --profile web add "$PWD"
|
|
|
98
102
|
<p align="center">
|
|
99
103
|
<img src="assets/models-tab.png" alt="模型标签:显隐、窗口、倍率" width="480">
|
|
100
104
|
<br>
|
|
101
|
-
<em
|
|
105
|
+
<em>中文界面截图:「模型」标签:勾选哪些模型出现在选择器里,同时看窗口与倍率。</em>
|
|
102
106
|
</p>
|
|
103
107
|
|
|
104
108
|
<p align="center">
|
|
105
109
|
<img src="assets/detection-tab.png" alt="检测标签:每个推理模型一行" width="300">
|
|
106
110
|
<img src="assets/credits-tab.png" alt="积分标签:总余额与各套餐余量条" width="300">
|
|
107
111
|
<br>
|
|
108
|
-
<em
|
|
112
|
+
<em>中文界面截图:左「检测」:每个推理模型一行,点按钮确认它接受哪些推理档位;右「积分」:总余额,下面是各套餐的余量条。</em>
|
|
109
113
|
</p>
|
|
110
114
|
|
|
111
115
|
## 为什么是手动检测
|
|
@@ -118,7 +122,7 @@ WorkBuddy 接口不保证档位信息可靠——有的模型**接受** `reasoni
|
|
|
118
122
|
<p align="center">
|
|
119
123
|
<img src="assets/reasoning-levels-declared.png" alt="推理档位控件:上游已声明档位、检测按钮禁用" width="300">
|
|
120
124
|
<br>
|
|
121
|
-
<em
|
|
125
|
+
<em>中文界面截图:已声明档位的模型:灯泡点亮、档位直接可选,检测按钮禁用。</em>
|
|
122
126
|
</p>
|
|
123
127
|
|
|
124
128
|
## 兼容与限制
|
|
@@ -146,4 +150,4 @@ WorkBuddy 接口不保证档位信息可靠——有的模型**接受** `reasoni
|
|
|
146
150
|
|
|
147
151
|
## 贡献
|
|
148
152
|
|
|
149
|
-
|
|
153
|
+
缺陷与需求走仓库 Issues。
|
package/README_en.md
CHANGED
|
@@ -9,14 +9,18 @@
|
|
|
9
9
|
<p><em>把 WorkBuddy 桌面 App 的模型接进 DSH 对话窗口</em></p>
|
|
10
10
|
|
|
11
11
|
<p>
|
|
12
|
+
<a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://img.shields.io/badge/powered_by-dsh-4D6BFE?style=flat&logo=deepseek&logoColor=white" alt="powered by dsh"></a>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
<p>
|
|
16
|
+
<a href="https://github.com/dsh-plugin-lab/dsh-workbuddy-bridge/actions/workflows/ci.yml"><img src="https://github.com/dsh-plugin-lab/dsh-workbuddy-bridge/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
12
17
|
<a href="https://www.npmjs.com/package/dsh-workbuddy-bridge"><img src="https://img.shields.io/npm/v/dsh-workbuddy-bridge?style=flat" alt="npm"></a>
|
|
13
|
-
<a href="
|
|
14
|
-
<a href="https://
|
|
15
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT License"></a>
|
|
18
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat" alt="MIT License"></a>
|
|
19
|
+
<a href="https://www.npmjs.com/package/dsh-workbuddy-bridge"><img src="https://img.shields.io/badge/SLSA-Build%20L2-green?logo=slsa&style=flat" alt="SLSA Build L2"></a>
|
|
16
20
|
</p>
|
|
17
21
|
|
|
18
22
|
<p>
|
|
19
|
-
Per-version changes → <a href="https://github.com/
|
|
23
|
+
Per-version changes → <a href="https://github.com/dsh-plugin-lab/dsh-workbuddy-bridge/releases">Releases</a> (one-to-one with npm versions)
|
|
20
24
|
</p>
|
|
21
25
|
|
|
22
26
|
<p>
|
|
@@ -37,7 +41,7 @@ models appear directly in the DSH model picker — no separate provider to confi
|
|
|
37
41
|
<p align="center">
|
|
38
42
|
<img src="assets/model-picker.png" alt="WorkBuddy models in the DSH model picker" width="300">
|
|
39
43
|
<br>
|
|
40
|
-
<em>The CN version forms its own group in the model picker, each model carrying its credit rate and promo
|
|
44
|
+
<em>Chinese UI screenshot: The CN version forms its own group in the model picker, each model carrying its credit rate and promo
|
|
41
45
|
badge; installing the international version adds a "WorkBuddy AI" group the same way.</em>
|
|
42
46
|
</p>
|
|
43
47
|
|
|
@@ -60,14 +64,14 @@ models appear directly in the DSH model picker — no separate provider to confi
|
|
|
60
64
|
<p align="center">
|
|
61
65
|
<img src="assets/composer-row.png" alt="The composer row: the coin and balance, the reasoning-level bulb and the model name in one line" width="560">
|
|
62
66
|
<br>
|
|
63
|
-
<em>The everyday view in the conversation window: the coin and its balance, the reasoning-level bulb, then the
|
|
67
|
+
<em>Chinese UI screenshot: The everyday view in the conversation window: the coin and its balance, the reasoning-level bulb, then the
|
|
64
68
|
model name — one row, left to right.</em>
|
|
65
69
|
</p>
|
|
66
70
|
|
|
67
71
|
<p align="center">
|
|
68
72
|
<img src="assets/plugin-page.png" alt="Plugin detail page: the configuration form and the two status cards" width="480">
|
|
69
73
|
<br>
|
|
70
|
-
<em>The plugin page: the configuration form on top, two cards below, each following its own app's sign-in.</em>
|
|
74
|
+
<em>Chinese UI screenshot: The plugin page: the configuration form on top, two cards below, each following its own app's sign-in.</em>
|
|
71
75
|
</p>
|
|
72
76
|
|
|
73
77
|
## Install
|
|
@@ -86,7 +90,7 @@ the terminal plugin `@deepseek-harness-tui/dsh-tui` — see its docs).
|
|
|
86
90
|
Or from source:
|
|
87
91
|
|
|
88
92
|
```sh
|
|
89
|
-
git clone https://github.com/
|
|
93
|
+
git clone https://github.com/dsh-plugin-lab/dsh-workbuddy-bridge.git
|
|
90
94
|
cd dsh-workbuddy-bridge
|
|
91
95
|
pnpm install && pnpm build
|
|
92
96
|
dsh plugin --profile web add "$PWD"
|
|
@@ -107,14 +111,14 @@ the description and takes effect on save:
|
|
|
107
111
|
<p align="center">
|
|
108
112
|
<img src="assets/models-tab.png" alt="Models tab: visibility, windows, rates" width="480">
|
|
109
113
|
<br>
|
|
110
|
-
<em>The Models tab: tick which models appear in the picker, and read each one's window and rate.</em>
|
|
114
|
+
<em>Chinese UI screenshot: The Models tab: tick which models appear in the picker, and read each one's window and rate.</em>
|
|
111
115
|
</p>
|
|
112
116
|
|
|
113
117
|
<p align="center">
|
|
114
118
|
<img src="assets/detection-tab.png" alt="Detection tab: one row per reasoning model" width="300">
|
|
115
119
|
<img src="assets/credits-tab.png" alt="Credits tab: the total balance and per-package allowances" width="300">
|
|
116
120
|
<br>
|
|
117
|
-
<em>Left, "Detection": one row per reasoning model — press the button to confirm which reasoning levels it
|
|
121
|
+
<em>Chinese UI screenshots: Left, "Detection": one row per reasoning model — press the button to confirm which reasoning levels it
|
|
118
122
|
accepts. Right, "Credits": the total balance, each package's allowance as a row below.</em>
|
|
119
123
|
</p>
|
|
120
124
|
|
|
@@ -130,7 +134,7 @@ Mechanism and trade-offs in [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).
|
|
|
130
134
|
<p align="center">
|
|
131
135
|
<img src="assets/reasoning-levels-declared.png" alt="The reasoning-level control: levels declared upstream, detect disabled" width="300">
|
|
132
136
|
<br>
|
|
133
|
-
<em>A model with declared levels: the bulb is lit, the levels are directly selectable, and detection is disabled.</em>
|
|
137
|
+
<em>Chinese UI screenshot: A model with declared levels: the bulb is lit, the levels are directly selectable, and detection is disabled.</em>
|
|
134
138
|
</p>
|
|
135
139
|
|
|
136
140
|
## Compatibility and limits
|
|
@@ -161,4 +165,4 @@ maintainer map → [AGENTS.md](AGENTS.md).
|
|
|
161
165
|
|
|
162
166
|
## Contributing
|
|
163
167
|
|
|
164
|
-
|
|
168
|
+
Bugs and requests go to the repo Issues.
|
package/lib/bin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { C as variantFor, D as WorkBuddyUpstreamClient, S as WORKBUDDY_VARIANTS, Y as resolveAppVersion, a as readHostHeartbeat, c as WORKBUDDY_BRIDGE_VERSION, l as FALLBACK_WORKBUDDY_AI_MODELS, m as WorkBuddyCredentialStore, o as workbuddyHostHeartbeatPath, r as isHeartbeatProcessAlive, u as FALLBACK_WORKBUDDY_MODELS, x as CN_VARIANT } from "./heartbeat-
|
|
2
|
+
import { C as variantFor, D as WorkBuddyUpstreamClient, S as WORKBUDDY_VARIANTS, Y as resolveAppVersion, a as readHostHeartbeat, c as WORKBUDDY_BRIDGE_VERSION, l as FALLBACK_WORKBUDDY_AI_MODELS, m as WorkBuddyCredentialStore, o as workbuddyHostHeartbeatPath, r as isHeartbeatProcessAlive, u as FALLBACK_WORKBUDDY_MODELS, x as CN_VARIANT } from "./heartbeat-BpW2mSgI.js";
|
|
3
3
|
import { realpathSync } from "node:fs";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
//#region src/cli/bin.ts
|
package/lib/client.js
CHANGED
|
@@ -55,8 +55,8 @@ window.__ModuleLoader__.load({
|
|
|
55
55
|
return credit.toFixed(2).replace(/\.?0+$/u, "");
|
|
56
56
|
}
|
|
57
57
|
//#endregion
|
|
58
|
-
//#region \0workbuddy-css
|
|
59
|
-
const css$4 = ".
|
|
58
|
+
//#region \0workbuddy-css:/home/runner/work/dsh-workbuddy-bridge/dsh-workbuddy-bridge/src/client/workbuddy.module.css.js
|
|
59
|
+
const css$4 = "._8BbhmW_page,._8BbhmW_cards{flex-direction:column;gap:12px;display:flex}._8BbhmW_toggleRow{border-top:.5px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-primary);justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;font-size:13px;line-height:1.5;display:flex}._8BbhmW_toggleLabel{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._8BbhmW_toggleHint{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:1.5}._8BbhmW_body{flex-direction:column;gap:12px;padding:4px 0 12px;display:flex}._8BbhmW_section{flex-direction:column;display:flex}._8BbhmW_section>*+*{margin-top:12px}._8BbhmW_cardActions{align-items:center;gap:8px;display:flex}._8BbhmW_field{flex-direction:column;gap:6px;display:flex}._8BbhmW_head{align-items:center;gap:8px;display:flex}._8BbhmW_main{flex-wrap:wrap;flex:1;align-items:baseline;gap:8px;min-width:0;display:flex}._8BbhmW_action{flex:none;align-items:center;gap:8px;display:inline-flex}._8BbhmW_note{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}._8BbhmW_part{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;font-size:13px;line-height:1.5;display:inline-flex}._8BbhmW_caption{color:var(--dsw-alias-label-tertiary)}._8BbhmW_figure{min-width:0;color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-weight:500;display:inline-flex}._8BbhmW_sectionActions{border-top:.5px solid var(--dsw-alias-border-l2);justify-content:flex-end;gap:8px;padding-top:10px;display:flex}._8BbhmW_title{color:var(--dsw-alias-label-primary);margin:0;font-size:13px;font-weight:500;line-height:1.5}._8BbhmW_summaryRow{flex-wrap:wrap;gap:4px;height:auto;min-height:28px}._8BbhmW_summaryTitle{flex:1;min-width:0}._8BbhmW_statusLine{color:var(--dsw-alias-label-tertiary);align-items:center;gap:6px;font-size:12px;line-height:1.5;display:inline-flex}._8BbhmW_text{color:var(--dsw-alias-label-secondary);margin:0;font-size:13px;line-height:1.5}._8BbhmW_dim{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}._8BbhmW_error{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px;line-height:1.5}._8BbhmW_package{flex-direction:column;gap:8px;padding:8px 0;display:flex}._8BbhmW_package+._8BbhmW_package{border-top:.5px solid var(--dsw-alias-border-l2)}._8BbhmW_packageLabel{justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;line-height:1.5;display:flex}._8BbhmW_track{corner-shape:round;background:var(--dsw-alias-border-l3);border-radius:999px;height:8px;overflow:hidden}._8BbhmW_fill{border-radius:inherit;background:var(--dsw-alias-brand-primary);height:100%}._8BbhmW_panel{flex-direction:column;gap:12px;height:380px;display:flex}._8BbhmW_panel>*{flex:none}._8BbhmW_list{border:.5px solid var(--dsw-alias-border-l1);border-radius:10px;gap:0;min-width:0;margin:0;padding:6px 14px;display:grid;overflow:auto}._8BbhmW_panel>._8BbhmW_list{flex:auto;min-height:0}._8BbhmW_listHeader{border-bottom:.5px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-tertiary);margin:0;padding:6px 0 8px;font-size:12px;line-height:1.5}._8BbhmW_modelRow{justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}._8BbhmW_modelRow+._8BbhmW_modelRow{border-top:.5px solid var(--dsw-alias-border-l2)}._8BbhmW_modelMain{align-items:center;gap:8px;min-width:0;display:flex}._8BbhmW_modelCheck{font-size:13px;line-height:1.5}._8BbhmW_modelStack{flex-direction:column;gap:2px;min-width:0;display:flex}._8BbhmW_name{color:var(--dsw-alias-label-primary);font-size:13px;line-height:1.5}._8BbhmW_modelEnd{text-align:right;color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;font-size:12px;line-height:1.5;display:flex}._8BbhmW_meta{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:1.5}._8BbhmW_badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}._8BbhmW_probeRow{justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}._8BbhmW_modelStack+._8BbhmW_modelStack{border-top:.5px solid var(--dsw-alias-border-l2)}._8BbhmW_probeEnd{flex:none;align-items:center;gap:8px;display:inline-flex}._8BbhmW_assist{border:.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-module-platform);flex-direction:column;gap:8px;padding:12px;display:flex}._8BbhmW_prompt{min-width:0;color:var(--dsw-alias-label-secondary);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;flex:220px;margin:0;font-size:12px;line-height:1.6}._8BbhmW_promptRow{border:.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-bg-layer-3);flex-wrap:wrap;align-items:flex-start;gap:8px;padding:8px 9px 8px 11px;display:flex}";
|
|
60
60
|
const tagId$4 = "dsh-workbuddy-bridge/workbuddy.module.css";
|
|
61
61
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$4) + "]") === null) {
|
|
62
62
|
const tag = document.createElement("style");
|
|
@@ -66,50 +66,50 @@ window.__ModuleLoader__.load({
|
|
|
66
66
|
document.head.appendChild(tag);
|
|
67
67
|
}
|
|
68
68
|
var workbuddy_module_css_default = {
|
|
69
|
-
"action": "
|
|
70
|
-
"assist": "
|
|
71
|
-
"badges": "
|
|
72
|
-
"body": "
|
|
73
|
-
"caption": "
|
|
74
|
-
"cardActions": "
|
|
75
|
-
"cards": "
|
|
76
|
-
"dim": "
|
|
77
|
-
"error": "
|
|
78
|
-
"field": "
|
|
79
|
-
"figure": "
|
|
80
|
-
"fill": "
|
|
81
|
-
"head": "
|
|
82
|
-
"list": "
|
|
83
|
-
"listHeader": "
|
|
84
|
-
"main": "
|
|
85
|
-
"meta": "
|
|
86
|
-
"modelCheck": "
|
|
87
|
-
"modelEnd": "
|
|
88
|
-
"modelMain": "
|
|
89
|
-
"modelRow": "
|
|
90
|
-
"modelStack": "
|
|
91
|
-
"name": "
|
|
92
|
-
"note": "
|
|
93
|
-
"package": "
|
|
94
|
-
"packageLabel": "
|
|
95
|
-
"page": "
|
|
96
|
-
"panel": "
|
|
97
|
-
"part": "
|
|
98
|
-
"probeEnd": "
|
|
99
|
-
"probeRow": "
|
|
100
|
-
"prompt": "
|
|
101
|
-
"promptRow": "
|
|
102
|
-
"section": "
|
|
103
|
-
"sectionActions": "
|
|
104
|
-
"statusLine": "
|
|
105
|
-
"summaryRow": "
|
|
106
|
-
"summaryTitle": "
|
|
107
|
-
"text": "
|
|
108
|
-
"title": "
|
|
109
|
-
"toggleHint": "
|
|
110
|
-
"toggleLabel": "
|
|
111
|
-
"toggleRow": "
|
|
112
|
-
"track": "
|
|
69
|
+
"action": "_8BbhmW_action",
|
|
70
|
+
"assist": "_8BbhmW_assist",
|
|
71
|
+
"badges": "_8BbhmW_badges",
|
|
72
|
+
"body": "_8BbhmW_body",
|
|
73
|
+
"caption": "_8BbhmW_caption",
|
|
74
|
+
"cardActions": "_8BbhmW_cardActions",
|
|
75
|
+
"cards": "_8BbhmW_cards",
|
|
76
|
+
"dim": "_8BbhmW_dim",
|
|
77
|
+
"error": "_8BbhmW_error",
|
|
78
|
+
"field": "_8BbhmW_field",
|
|
79
|
+
"figure": "_8BbhmW_figure",
|
|
80
|
+
"fill": "_8BbhmW_fill",
|
|
81
|
+
"head": "_8BbhmW_head",
|
|
82
|
+
"list": "_8BbhmW_list",
|
|
83
|
+
"listHeader": "_8BbhmW_listHeader",
|
|
84
|
+
"main": "_8BbhmW_main",
|
|
85
|
+
"meta": "_8BbhmW_meta",
|
|
86
|
+
"modelCheck": "_8BbhmW_modelCheck",
|
|
87
|
+
"modelEnd": "_8BbhmW_modelEnd",
|
|
88
|
+
"modelMain": "_8BbhmW_modelMain",
|
|
89
|
+
"modelRow": "_8BbhmW_modelRow",
|
|
90
|
+
"modelStack": "_8BbhmW_modelStack",
|
|
91
|
+
"name": "_8BbhmW_name",
|
|
92
|
+
"note": "_8BbhmW_note",
|
|
93
|
+
"package": "_8BbhmW_package",
|
|
94
|
+
"packageLabel": "_8BbhmW_packageLabel",
|
|
95
|
+
"page": "_8BbhmW_page",
|
|
96
|
+
"panel": "_8BbhmW_panel",
|
|
97
|
+
"part": "_8BbhmW_part",
|
|
98
|
+
"probeEnd": "_8BbhmW_probeEnd",
|
|
99
|
+
"probeRow": "_8BbhmW_probeRow",
|
|
100
|
+
"prompt": "_8BbhmW_prompt",
|
|
101
|
+
"promptRow": "_8BbhmW_promptRow",
|
|
102
|
+
"section": "_8BbhmW_section",
|
|
103
|
+
"sectionActions": "_8BbhmW_sectionActions",
|
|
104
|
+
"statusLine": "_8BbhmW_statusLine",
|
|
105
|
+
"summaryRow": "_8BbhmW_summaryRow",
|
|
106
|
+
"summaryTitle": "_8BbhmW_summaryTitle",
|
|
107
|
+
"text": "_8BbhmW_text",
|
|
108
|
+
"title": "_8BbhmW_title",
|
|
109
|
+
"toggleHint": "_8BbhmW_toggleHint",
|
|
110
|
+
"toggleLabel": "_8BbhmW_toggleLabel",
|
|
111
|
+
"toggleRow": "_8BbhmW_toggleRow",
|
|
112
|
+
"track": "_8BbhmW_track"
|
|
113
113
|
};
|
|
114
114
|
//#endregion
|
|
115
115
|
//#region src/client/field.tsx
|
|
@@ -663,8 +663,8 @@ window.__ModuleLoader__.load({
|
|
|
663
663
|
}
|
|
664
664
|
};
|
|
665
665
|
//#endregion
|
|
666
|
-
//#region \0workbuddy-css
|
|
667
|
-
const css$3 = ".
|
|
666
|
+
//#region \0workbuddy-css:/home/runner/work/dsh-workbuddy-bridge/dsh-workbuddy-bridge/src/client/coin-glyph.module.css.js
|
|
667
|
+
const css$3 = ".W7jfGW_glyph{flex:none;align-self:center}";
|
|
668
668
|
const tagId$3 = "dsh-workbuddy-bridge/coin-glyph.module.css";
|
|
669
669
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
|
|
670
670
|
const tag = document.createElement("style");
|
|
@@ -673,7 +673,7 @@ window.__ModuleLoader__.load({
|
|
|
673
673
|
tag.textContent = css$3;
|
|
674
674
|
document.head.appendChild(tag);
|
|
675
675
|
}
|
|
676
|
-
var coin_glyph_module_css_default = { "glyph": "
|
|
676
|
+
var coin_glyph_module_css_default = { "glyph": "W7jfGW_glyph" };
|
|
677
677
|
//#endregion
|
|
678
678
|
//#region src/client/coin-glyph.tsx
|
|
679
679
|
/** Render the coin-stack glyph. Decorative: the caller supplies the accessible name. */
|
|
@@ -1663,8 +1663,8 @@ window.__ModuleLoader__.load({
|
|
|
1663
1663
|
});
|
|
1664
1664
|
}
|
|
1665
1665
|
//#endregion
|
|
1666
|
-
//#region \0workbuddy-css
|
|
1667
|
-
const css$2 = ".
|
|
1666
|
+
//#region \0workbuddy-css:/home/runner/work/dsh-workbuddy-bridge/dsh-workbuddy-bridge/src/client/probe-control.module.css.js
|
|
1667
|
+
const css$2 = ".EVr7sG_wrapper{align-items:center;display:inline-flex;position:relative}.EVr7sG_trigger{corner-shape:round;cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-secondary);background:0 0;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.EVr7sG_trigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.EVr7sG_trigger:disabled{cursor:default;color:var(--dsw-alias-label-dimmed)}.EVr7sG_trigger:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:1px}.EVr7sG_panel{isolation:isolate;z-index:1100;box-sizing:border-box;border-radius:var(--dsw-radius-lg);--dsw-elevation-stroke-color:var(--dsw-alias-border-l1);width:max-content;min-width:min(280px,100vw - 24px);max-width:min(360px,100vw - 24px);box-shadow:var(--dsw-elevation-prominent);color:var(--dsw-alias-label-secondary);cursor:default;border:0;padding:12px;font-size:12px;line-height:1.5;position:fixed}.EVr7sG_panel:before{z-index:-1;border-radius:inherit;background:var(--dsw-specific-menu);backdrop-filter:var(--dsw-menu-backdrop-filter);content:\"\";pointer-events:none;position:absolute;inset:0}.EVr7sG_panelTitle{color:var(--dsw-alias-label-primary);align-items:center;gap:8px;font-size:13px;font-weight:500;line-height:1.5;display:flex}.EVr7sG_panelTitleIcon{color:var(--dsw-alias-label-secondary);flex:none;align-items:center;display:inline-flex}.EVr7sG_panelTitleText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.EVr7sG_titleRule{border-top:.5px solid var(--dsw-alias-border-l2);margin:8px 0 10px}.EVr7sG_levelsLabel{color:var(--dsw-alias-label-tertiary);margin:0 0 2px;font-size:12px;line-height:1.5}.EVr7sG_levels{color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:500;line-height:1.5}.EVr7sG_note,.EVr7sG_dim{color:var(--dsw-alias-label-tertiary);margin:12px 0 0;font-size:12px;line-height:1.6}.EVr7sG_dim{margin-top:2px}.EVr7sG_panelActions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}";
|
|
1668
1668
|
const tagId$2 = "dsh-workbuddy-bridge/probe-control.module.css";
|
|
1669
1669
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$2) + "]") === null) {
|
|
1670
1670
|
const tag = document.createElement("style");
|
|
@@ -1674,18 +1674,18 @@ window.__ModuleLoader__.load({
|
|
|
1674
1674
|
document.head.appendChild(tag);
|
|
1675
1675
|
}
|
|
1676
1676
|
var probe_control_module_css_default = {
|
|
1677
|
-
"dim": "
|
|
1678
|
-
"levels": "
|
|
1679
|
-
"levelsLabel": "
|
|
1680
|
-
"note": "
|
|
1681
|
-
"panel": "
|
|
1682
|
-
"panelActions": "
|
|
1683
|
-
"panelTitle": "
|
|
1684
|
-
"panelTitleIcon": "
|
|
1685
|
-
"panelTitleText": "
|
|
1686
|
-
"titleRule": "
|
|
1687
|
-
"trigger": "
|
|
1688
|
-
"wrapper": "
|
|
1677
|
+
"dim": "EVr7sG_dim",
|
|
1678
|
+
"levels": "EVr7sG_levels",
|
|
1679
|
+
"levelsLabel": "EVr7sG_levelsLabel",
|
|
1680
|
+
"note": "EVr7sG_note",
|
|
1681
|
+
"panel": "EVr7sG_panel",
|
|
1682
|
+
"panelActions": "EVr7sG_panelActions",
|
|
1683
|
+
"panelTitle": "EVr7sG_panelTitle",
|
|
1684
|
+
"panelTitleIcon": "EVr7sG_panelTitleIcon",
|
|
1685
|
+
"panelTitleText": "EVr7sG_panelTitleText",
|
|
1686
|
+
"titleRule": "EVr7sG_titleRule",
|
|
1687
|
+
"trigger": "EVr7sG_trigger",
|
|
1688
|
+
"wrapper": "EVr7sG_wrapper"
|
|
1689
1689
|
};
|
|
1690
1690
|
//#endregion
|
|
1691
1691
|
//#region src/client/probe-control.tsx
|
|
@@ -2217,8 +2217,8 @@ window.__ModuleLoader__.load({
|
|
|
2217
2217
|
return { credits };
|
|
2218
2218
|
}
|
|
2219
2219
|
//#endregion
|
|
2220
|
-
//#region \0workbuddy-css
|
|
2221
|
-
const css$1 = ".
|
|
2220
|
+
//#region \0workbuddy-css:/home/runner/work/dsh-workbuddy-bridge/dsh-workbuddy-bridge/src/client/credit-label.module.css.js
|
|
2221
|
+
const css$1 = "._9Bx4Wa_label{white-space:nowrap;font-size:calc(var(--dsh-content-font-size-secondary,13px) - 1px);color:var(--dsw-alias-label-tertiary);padding-left:4px;line-height:1}";
|
|
2222
2222
|
const tagId$1 = "dsh-workbuddy-bridge/credit-label.module.css";
|
|
2223
2223
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
|
|
2224
2224
|
const tag = document.createElement("style");
|
|
@@ -2227,7 +2227,7 @@ window.__ModuleLoader__.load({
|
|
|
2227
2227
|
tag.textContent = css$1;
|
|
2228
2228
|
document.head.appendChild(tag);
|
|
2229
2229
|
}
|
|
2230
|
-
var credit_label_module_css_default = { "label": "
|
|
2230
|
+
var credit_label_module_css_default = { "label": "_9Bx4Wa_label" };
|
|
2231
2231
|
//#endregion
|
|
2232
2232
|
//#region src/client/credit-label.tsx
|
|
2233
2233
|
/**
|
|
@@ -2275,8 +2275,8 @@ window.__ModuleLoader__.load({
|
|
|
2275
2275
|
});
|
|
2276
2276
|
}
|
|
2277
2277
|
//#endregion
|
|
2278
|
-
//#region \0workbuddy-css
|
|
2279
|
-
const css = ".
|
|
2278
|
+
//#region \0workbuddy-css:/home/runner/work/dsh-workbuddy-bridge/dsh-workbuddy-bridge/src/client/credit-balance.module.css.js
|
|
2279
|
+
const css = ".Rbiksq_readout{white-space:nowrap;height:28px;color:var(--dsw-alias-label-tertiary);align-items:center;gap:4px;display:inline-flex}.Rbiksq_amount{font-size:calc(var(--dsh-content-font-size-secondary,13px) - 1px);font-variant-numeric:tabular-nums;line-height:1}";
|
|
2280
2280
|
const tagId = "dsh-workbuddy-bridge/credit-balance.module.css";
|
|
2281
2281
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
2282
2282
|
const tag = document.createElement("style");
|
|
@@ -2286,8 +2286,8 @@ window.__ModuleLoader__.load({
|
|
|
2286
2286
|
document.head.appendChild(tag);
|
|
2287
2287
|
}
|
|
2288
2288
|
var credit_balance_module_css_default = {
|
|
2289
|
-
"amount": "
|
|
2290
|
-
"readout": "
|
|
2289
|
+
"amount": "Rbiksq_amount",
|
|
2290
|
+
"readout": "Rbiksq_readout"
|
|
2291
2291
|
};
|
|
2292
2292
|
//#endregion
|
|
2293
2293
|
//#region src/client/credit-balance.tsx
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as parseModelCatalog, B as chatUserAgent, C as variantFor, D as WorkBuddyUpstreamClient, F as probeModel, G as WORKBUDDY_APP_VERSION_FILENAME, H as readCliVersion, I as randomSentinel, J as readBundleVersion, K as appUserAgent, L as classifyUpstreamError, M as prepareInternationalChatBody, N as regionOf, O as modelWithCurrentPromotion, P as PROBE_EFFORT_CANDIDATES, R as CN_APP_VERSION_FILENAME, S as WORKBUDDY_VARIANTS, U as resolveChatIdentity, V as fallbackChatIdentity, W as validCliVersion, X as validAppVersion, Y as resolveAppVersion, _ as desktopAuthCandidatesFor, a as readHostHeartbeat, b as AI_VARIANT, c as WORKBUDDY_BRIDGE_VERSION, d as WorkBuddyCatalog, f as WORKBUDDY_AUTH_FILENAME, g as defaultDesktopAuthPath, h as defaultDesktopAuthCandidates, i as processStartTimeMs, j as prepareChatBody, k as normalizeCredits, l as FALLBACK_WORKBUDDY_AI_MODELS, m as WorkBuddyCredentialStore, n as clearHostHeartbeat, o as workbuddyHostHeartbeatPath, p as WORKBUDDY_AUTH_FILE_ENV, q as installedAppVersion, r as isHeartbeatProcessAlive, s as writeHostHeartbeat, t as WORKBUDDY_HOST_HEARTBEAT_FILENAME, u as FALLBACK_WORKBUDDY_MODELS, v as parseWorkBuddyAuth, w as WORKBUDDY_CREDIT_PATH, x as CN_VARIANT, y as workbuddyOwnAuthPath, z as FALLBACK_CN_APP_VERSION } from "./heartbeat-
|
|
1
|
+
import { A as parseModelCatalog, B as chatUserAgent, C as variantFor, D as WorkBuddyUpstreamClient, F as probeModel, G as WORKBUDDY_APP_VERSION_FILENAME, H as readCliVersion, I as randomSentinel, J as readBundleVersion, K as appUserAgent, L as classifyUpstreamError, M as prepareInternationalChatBody, N as regionOf, O as modelWithCurrentPromotion, P as PROBE_EFFORT_CANDIDATES, R as CN_APP_VERSION_FILENAME, S as WORKBUDDY_VARIANTS, U as resolveChatIdentity, V as fallbackChatIdentity, W as validCliVersion, X as validAppVersion, Y as resolveAppVersion, _ as desktopAuthCandidatesFor, a as readHostHeartbeat, b as AI_VARIANT, c as WORKBUDDY_BRIDGE_VERSION, d as WorkBuddyCatalog, f as WORKBUDDY_AUTH_FILENAME, g as defaultDesktopAuthPath, h as defaultDesktopAuthCandidates, i as processStartTimeMs, j as prepareChatBody, k as normalizeCredits, l as FALLBACK_WORKBUDDY_AI_MODELS, m as WorkBuddyCredentialStore, n as clearHostHeartbeat, o as workbuddyHostHeartbeatPath, p as WORKBUDDY_AUTH_FILE_ENV, q as installedAppVersion, r as isHeartbeatProcessAlive, s as writeHostHeartbeat, t as WORKBUDDY_HOST_HEARTBEAT_FILENAME, u as FALLBACK_WORKBUDDY_MODELS, v as parseWorkBuddyAuth, w as WORKBUDDY_CREDIT_PATH, x as CN_VARIANT, y as workbuddyOwnAuthPath, z as FALLBACK_CN_APP_VERSION } from "./heartbeat-BpW2mSgI.js";
|
|
2
2
|
import z from "@deepseek-ai/schemastery";
|
|
3
3
|
import { dirname, join, resolve } from "node:path";
|
|
4
4
|
import { resolveDshHome } from "@deepseek-ai/dsh-home-paths";
|
package/locale/README.md
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# locale/ — 包展示元数据
|
|
2
|
+
|
|
3
|
+
- 职责:宿主直读的**包展示元数据**(插件页上的标题与一句话说明)。
|
|
4
|
+
不是插件界面文案 —— 那在 [../src/client/locales.ts](../src/client/locales.ts),运行时经 `ctx.locale` 注册。
|
|
5
|
+
- `en.json`:`meta.title` + `meta.description` 的英文。宿主先解析这一份,它不在就不会读其他语言文件。
|
|
6
|
+
- `zh.json`:同一键集的中文。
|
|
7
|
+
- 生效条件:随包发布(`package.json` 的 `files` 收了 `locale/*.json`),宿主从 `<包名>/locale/<语言>.json` 读;
|
|
8
|
+
不进 `lib/`,本仓代码一个字节都不读它。
|
|
9
|
+
- 被谁依赖:宿主插件页;发布面断言在 [../scripts/check-release.mjs](../scripts/check-release.mjs)。
|
|
10
|
+
- 回落链、字段形状、改动波及面(规则层)→ 见 [AGENTS.md](AGENTS.md)
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "dsh-workbuddy-bridge",
|
|
3
3
|
"displayName": "DSH WorkBuddy Bridge",
|
|
4
4
|
"description": "将 WorkBuddy 桌面 App 包含的模型自动接入 DeepSeek Harness — bring WorkBuddy desktop app models into DeepSeek Harness with zero configuration.",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.5.0",
|
|
6
6
|
"author": "zlZayn",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"dsh",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"type": "module",
|
|
17
17
|
"engines": {
|
|
18
18
|
"node": "^22.19.0 || >=24.0.0",
|
|
19
|
-
"dsh": "
|
|
19
|
+
"dsh": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1"
|
|
20
20
|
},
|
|
21
21
|
"icon": "./icon.svg",
|
|
22
22
|
"main": "lib/index.js",
|
|
@@ -24,17 +24,6 @@
|
|
|
24
24
|
"bin": {
|
|
25
25
|
"dsh-workbuddy-bridge": "lib/bin.js"
|
|
26
26
|
},
|
|
27
|
-
"scripts": {
|
|
28
|
-
"prepack": "node node_modules/tsdown/dist/run.mjs",
|
|
29
|
-
"build": "tsdown",
|
|
30
|
-
"test": "vitest run",
|
|
31
|
-
"lint": "eslint .",
|
|
32
|
-
"format": "prettier --write .",
|
|
33
|
-
"format:check": "prettier --check .",
|
|
34
|
-
"typecheck": "tsc -p tsconfig.json && tsc -p tsconfig.client.json",
|
|
35
|
-
"check:release": "node scripts/check-release.mjs",
|
|
36
|
-
"check": "pnpm run typecheck && pnpm run build && pnpm run test"
|
|
37
|
-
},
|
|
38
27
|
"exports": {
|
|
39
28
|
".": {
|
|
40
29
|
"types": "./lib/index.d.ts",
|
|
@@ -61,10 +50,10 @@
|
|
|
61
50
|
"license": "MIT",
|
|
62
51
|
"repository": {
|
|
63
52
|
"type": "git",
|
|
64
|
-
"url": "git+https://github.com/
|
|
53
|
+
"url": "git+https://github.com/dsh-plugin-lab/dsh-workbuddy-bridge.git"
|
|
65
54
|
},
|
|
66
|
-
"homepage": "https://github.com/
|
|
67
|
-
"bugs": "https://github.com/
|
|
55
|
+
"homepage": "https://github.com/dsh-plugin-lab/dsh-workbuddy-bridge#readme",
|
|
56
|
+
"bugs": "https://github.com/dsh-plugin-lab/dsh-workbuddy-bridge/issues",
|
|
68
57
|
"dsh": {
|
|
69
58
|
"bundle": {
|
|
70
59
|
"patch": "./cordis.patch.yml"
|
|
@@ -86,52 +75,52 @@
|
|
|
86
75
|
},
|
|
87
76
|
"peerDependencies": {
|
|
88
77
|
"@deepseek-ai/cordis": "^4.0.4",
|
|
89
|
-
"@deepseek-ai/dsh-api-remotes": "
|
|
90
|
-
"@deepseek-ai/dsh-atomic-write": "
|
|
91
|
-
"@deepseek-ai/dsh-attachment": "
|
|
92
|
-
"@deepseek-ai/dsh-client-locale": "
|
|
93
|
-
"@deepseek-ai/dsh-client-store": "
|
|
94
|
-
"@deepseek-ai/dsh-client-ui-chat": "
|
|
95
|
-
"@deepseek-ai/dsh-client-ui-plugin-manager": "
|
|
96
|
-
"@deepseek-ai/dsh-client-ui-primitives": "
|
|
97
|
-
"@deepseek-ai/dsh-client-ui-renderer": "
|
|
98
|
-
"@deepseek-ai/dsh-client-ui-settings": "
|
|
99
|
-
"@deepseek-ai/dsh-client-ui-slots": "
|
|
100
|
-
"@deepseek-ai/dsh-home-paths": "
|
|
101
|
-
"@deepseek-ai/dsh-host-webserver": "
|
|
102
|
-
"@deepseek-ai/dsh-llm": "
|
|
103
|
-
"@deepseek-ai/dsh-llm-pi-ai": "
|
|
104
|
-
"@deepseek-ai/dsh-settings": "
|
|
78
|
+
"@deepseek-ai/dsh-api-remotes": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
79
|
+
"@deepseek-ai/dsh-atomic-write": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
80
|
+
"@deepseek-ai/dsh-attachment": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
81
|
+
"@deepseek-ai/dsh-client-locale": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
82
|
+
"@deepseek-ai/dsh-client-store": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
83
|
+
"@deepseek-ai/dsh-client-ui-chat": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
84
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
85
|
+
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
86
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
87
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
88
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
89
|
+
"@deepseek-ai/dsh-home-paths": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
90
|
+
"@deepseek-ai/dsh-host-webserver": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
91
|
+
"@deepseek-ai/dsh-llm": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
92
|
+
"@deepseek-ai/dsh-llm-pi-ai": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
93
|
+
"@deepseek-ai/dsh-settings": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
105
94
|
"@deepseek-ai/schemastery": "^3.18.4",
|
|
106
|
-
"@earendil-works/pi-ai": "^
|
|
95
|
+
"@earendil-works/pi-ai": "^1.1.0",
|
|
107
96
|
"react": "^18.2.0",
|
|
108
97
|
"react-dom": "^18.2.0"
|
|
109
98
|
},
|
|
110
99
|
"devDependencies": {
|
|
111
100
|
"@deepseek-ai/cordis": "4.0.4",
|
|
112
|
-
"@deepseek-ai/dsh-api-remotes": "0.2.0-rc.2",
|
|
113
|
-
"@deepseek-ai/dsh-atomic-write": "0.2.0-rc.2",
|
|
114
|
-
"@deepseek-ai/dsh-attachment": "0.2.0-rc.2",
|
|
115
|
-
"@deepseek-ai/dsh-client-locale": "0.2.0-rc.2",
|
|
116
|
-
"@deepseek-ai/dsh-client-store": "0.2.0-rc.2",
|
|
117
|
-
"@deepseek-ai/dsh-client-ui-chat": "0.2.0-rc.2",
|
|
118
|
-
"@deepseek-ai/dsh-client-ui-conversation": "0.2.0-rc.2",
|
|
119
|
-
"@deepseek-ai/dsh-client-ui-model-selection": "0.2.0-rc.2",
|
|
120
|
-
"@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.0-rc.2",
|
|
121
|
-
"@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.2",
|
|
122
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2",
|
|
123
|
-
"@deepseek-ai/dsh-client-ui-session": "0.2.0-rc.2",
|
|
124
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.2",
|
|
125
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.2",
|
|
126
|
-
"@deepseek-ai/dsh-home-paths": "0.2.0-rc.2",
|
|
127
|
-
"@deepseek-ai/dsh-host-webserver": "0.2.0-rc.2",
|
|
128
|
-
"@deepseek-ai/dsh-llm": "0.2.0-rc.2",
|
|
129
|
-
"@deepseek-ai/dsh-llm-pi-ai": "0.2.0-rc.2",
|
|
130
|
-
"@deepseek-ai/dsh-settings": "0.2.0-rc.2",
|
|
131
|
-
"@deepseek-ai/dsh-util-code-language": "0.2.0-rc.2",
|
|
132
|
-
"@deepseek-ai/dsh-util-workspace-path": "0.2.0-rc.2",
|
|
133
|
-
"@deepseek-ai/schemastery": "3.18.
|
|
134
|
-
"@earendil-works/pi-ai": "^
|
|
101
|
+
"@deepseek-ai/dsh-api-remotes": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
102
|
+
"@deepseek-ai/dsh-atomic-write": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
103
|
+
"@deepseek-ai/dsh-attachment": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
104
|
+
"@deepseek-ai/dsh-client-locale": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
105
|
+
"@deepseek-ai/dsh-client-store": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
106
|
+
"@deepseek-ai/dsh-client-ui-chat": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
107
|
+
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
108
|
+
"@deepseek-ai/dsh-client-ui-model-selection": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
109
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
110
|
+
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
111
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
112
|
+
"@deepseek-ai/dsh-client-ui-session": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
113
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
114
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
115
|
+
"@deepseek-ai/dsh-home-paths": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
116
|
+
"@deepseek-ai/dsh-host-webserver": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
117
|
+
"@deepseek-ai/dsh-llm": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
118
|
+
"@deepseek-ai/dsh-llm-pi-ai": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
119
|
+
"@deepseek-ai/dsh-settings": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
120
|
+
"@deepseek-ai/dsh-util-code-language": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
121
|
+
"@deepseek-ai/dsh-util-workspace-path": "^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.1",
|
|
122
|
+
"@deepseek-ai/schemastery": "3.18.5",
|
|
123
|
+
"@earendil-works/pi-ai": "^1.1.0",
|
|
135
124
|
"@eslint/js": "^10.0.1",
|
|
136
125
|
"@shikijs/langs": "^4.4.3",
|
|
137
126
|
"@types/node": "^22.20.0",
|
|
@@ -171,5 +160,15 @@
|
|
|
171
160
|
"unrun": "^0.3.1",
|
|
172
161
|
"vitest": "^4.1.11",
|
|
173
162
|
"zustand": "^5.0.15"
|
|
163
|
+
},
|
|
164
|
+
"scripts": {
|
|
165
|
+
"build": "tsdown",
|
|
166
|
+
"test": "vitest run",
|
|
167
|
+
"lint": "eslint .",
|
|
168
|
+
"format": "prettier --write .",
|
|
169
|
+
"format:check": "prettier --check .",
|
|
170
|
+
"typecheck": "tsc -p tsconfig.json && tsc -p tsconfig.client.json",
|
|
171
|
+
"check:release": "node scripts/check-release.mjs",
|
|
172
|
+
"check": "pnpm run typecheck && pnpm run build && pnpm run test"
|
|
174
173
|
}
|
|
175
|
-
}
|
|
174
|
+
}
|