dsh-ssh-tui 0.5.0 → 0.5.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.en.md +3 -3
- package/README.md +2 -2
- package/cordis.patch.yml +4 -81
- package/package.json +11 -1
package/README.en.md
CHANGED
|
@@ -69,7 +69,7 @@ Reproducible, no model in the loop: `npm run screenshots:slow` writes
|
|
|
69
69
|
## Requirements
|
|
70
70
|
|
|
71
71
|
- Node.js >= 22.19
|
|
72
|
-
- `@deepseek-ai/dsh` CLI: `npm i -g @deepseek-ai/dsh`
|
|
72
|
+
- `@deepseek-ai/dsh` CLI: `npm i -g @deepseek-ai/dsh` (verified on `0.1.2-rc.1`. `0.1.3-alpha.2` / `0.1.5-alpha.1` are incompatible: session persistence moved to a handle API and live tokens moved from `assistant/chunk` to `agent/assistant-stream`. `0.1.3-alpha.1` exists only as a GitHub tag and was never published to npm)
|
|
73
73
|
- pnpm (used by `dsh plugin` to manage profile dependencies)
|
|
74
74
|
|
|
75
75
|
## Install
|
|
@@ -452,8 +452,8 @@ the round-trip. `DSH_TUI_PAINT_MS` always wins (40–1000). The stats line
|
|
|
452
452
|
starts with `SSH ●●●○ 90ms` (1 pip red, 2 yellow, 3+ green). The probe
|
|
453
453
|
does not write into the transcript.
|
|
454
454
|
|
|
455
|
-
|
|
456
|
-
|
|
455
|
+
Idle hangup exits the Host. A busy turn keeps it; `--resume` attaches to that
|
|
456
|
+
process. Do not start a second Host.
|
|
457
457
|
|
|
458
458
|
## Development
|
|
459
459
|
|
package/README.md
CHANGED
|
@@ -87,7 +87,7 @@ dsh --profile tui
|
|
|
87
87
|
## 环境要求
|
|
88
88
|
|
|
89
89
|
- Node.js ≥ 22.19
|
|
90
|
-
- DeepSeek Harness CLI:`npm i -g @deepseek-ai/dsh`
|
|
90
|
+
- DeepSeek Harness CLI:`npm i -g @deepseek-ai/dsh`(已验证 `0.1.2-rc.1`。`0.1.3-alpha.2` / `0.1.5-alpha.1` 不兼容:会话 persistence 改成 handle API,流式输出从 `assistant/chunk` 改到 `agent/assistant-stream`。`0.1.3-alpha.1` 只在 GitHub 有 tag,npm 未发布,无法本地装包验证)
|
|
91
91
|
- pnpm(`dsh plugin` 通过 pnpm 管理 profile 依赖)
|
|
92
92
|
- 支持 ANSI 的终端(推荐 SSH 直连;Windows 用 PowerShell / Windows Terminal)
|
|
93
93
|
|
|
@@ -364,7 +364,7 @@ src/session-lock.ts 同会话防双开
|
|
|
364
364
|
src/update-check.ts npm 最新版提示(不自动升级)
|
|
365
365
|
src/tui.ts 终端渲染、交互、统计、标题/铃声
|
|
366
366
|
src/i18n/ 中英界面字典(/language、DSH_TUI_LANG)
|
|
367
|
-
cordis.patch.yml dsh bundle patch
|
|
367
|
+
cordis.patch.yml dsh bundle patch(仅 insert ssh-tui-startup / ssh-tui)
|
|
368
368
|
scripts/ 安装 / 卸载 / 验证脚本
|
|
369
369
|
```
|
|
370
370
|
|
package/cordis.patch.yml
CHANGED
|
@@ -1,88 +1,11 @@
|
|
|
1
1
|
# dsh-ssh-tui — SSH-friendly interactive terminal mode over dsh-base.
|
|
2
2
|
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
# The persona section keeps identity and behavior; tool plugins own tool
|
|
8
|
-
# guidance. The loop resolves {{model}} from the agent configuration.
|
|
9
|
-
- id: system-prompt
|
|
10
|
-
config:
|
|
11
|
-
persona: >-
|
|
12
|
-
You are a coding agent powered by the {{model}} model. Your working
|
|
13
|
-
directory is {{cwd}}. Verify your work by running the code or tests.
|
|
14
|
-
Keep answers brief and factual.
|
|
15
|
-
|
|
16
|
-
# A patch replaces the targeted row's whole `config`, so restating `root`
|
|
17
|
-
# keeps the official HMR row complete while the TUI keeps module reload off.
|
|
18
|
-
# The launcher's watch-only fallback still keeps user patch layers live.
|
|
19
|
-
- id: hmr
|
|
20
|
-
disabled: true
|
|
21
|
-
config:
|
|
22
|
-
root: ['.']
|
|
23
|
-
|
|
24
|
-
- id: tools
|
|
25
|
-
config:
|
|
26
|
-
# 0.1.2 renamed the tools-mode value `code` → `ptc` with no alias.
|
|
27
|
-
# Map either env value onto the schema this dsh install actually accepts.
|
|
28
|
-
mode: !!js (function () { var mode = process.env.DSH_TOOLS_MODE; if (mode !== 'code' && mode !== 'ptc') return mode; try { var req = process.getBuiltinModule('module').createRequire(ctx.baseUrl || process.cwd() + '/'); var ver = req('@deepseek-ai/dsh-tools/package.json').version || ''; if (!/^0\.(0|1)\.(0|1)/.test(ver)) return 'ptc'; return 'code' } catch (err) { if (mode === 'code') return 'ptc'; return mode } })()
|
|
29
|
-
|
|
30
|
-
# The `main` agent is created by the TUI plugin itself after the loader
|
|
31
|
-
# settles, so it can read the saved default provider/model from
|
|
32
|
-
# `agent-default-model` without a boot-time race. The base `agent-loop` row
|
|
33
|
-
# stays mounted (empty) because it owns the agent factory.
|
|
34
|
-
|
|
35
|
-
# Full thinking at max effort on every request. Key and endpoint stay
|
|
36
|
-
# unconfigured here: both resolve per request from the `llm-deepseek:`
|
|
37
|
-
# settings section, the credential store, and DEEPSEEK_BASE_URL.
|
|
38
|
-
- id: llm-deepseek
|
|
39
|
-
config:
|
|
40
|
-
thinking: enabled
|
|
41
|
-
reasoningEffort: max
|
|
42
|
-
|
|
43
|
-
# Subagents follow the parent session's provider and default to the
|
|
44
|
-
# lightweight model. The TUI's /submodel and /subeffort commands can override
|
|
45
|
-
# both model and reasoning effort at runtime through the request waterfall.
|
|
46
|
-
- id: tool-subagent
|
|
47
|
-
config:
|
|
48
|
-
provider: spawn
|
|
49
|
-
toolName: subagent
|
|
50
|
-
backgroundMode: continuable
|
|
51
|
-
agentOptions:
|
|
52
|
-
model: deepseek-v4-flash
|
|
53
|
-
|
|
54
|
-
- id: tool-subagent-fork
|
|
55
|
-
config:
|
|
56
|
-
provider: fork
|
|
57
|
-
toolName: subagent_fork
|
|
58
|
-
backgroundMode: one-shot
|
|
59
|
-
agentOptions:
|
|
60
|
-
model: deepseek-v4-flash
|
|
3
|
+
# DSH STORE requires an additive Bundle Patch: unique plugin-owned entry IDs
|
|
4
|
+
# only, no @deepseek-ai/* names, and no disable/replace of official rows.
|
|
5
|
+
# Persona, HMR, tools-mode, DeepSeek thinking, and subagent defaults stay with
|
|
6
|
+
# the profile / dsh-base composition; this patch only mounts the TUI.
|
|
61
7
|
|
|
62
8
|
- insert:
|
|
63
|
-
# The agent-mode roster (standard / PTC / minimal / cordis / routing-suite).
|
|
64
|
-
# The launcher injects the shipped preset root into this row when it is
|
|
65
|
-
# present.
|
|
66
|
-
- id: agent-presets
|
|
67
|
-
name: '@deepseek-ai/dsh-agent-presets'
|
|
68
|
-
config:
|
|
69
|
-
default: standard
|
|
70
|
-
|
|
71
|
-
# Host-plane PTC runtime used by the shipped `ptc` preset. Absent on
|
|
72
|
-
# dsh-base; web/headless insert it themselves. Keep it optional so an
|
|
73
|
-
# older dsh install without the package still boots standard mode.
|
|
74
|
-
# Disabled when the package is not installed (older dsh 0.1.1 runtimes
|
|
75
|
-
# still boot; 0.1.2's ptc preset can mount once the worker is on disk).
|
|
76
|
-
- id: code-runtime
|
|
77
|
-
name: '@deepseek-ai/dsh-code-runtime-worker-thread'
|
|
78
|
-
disabled: !!js (function () { try { process.getBuiltinModule('module').createRequire(ctx.baseUrl || process.cwd() + '/').resolve('@deepseek-ai/dsh-code-runtime-worker-thread'); return false } catch (err) { return true } })()
|
|
79
|
-
|
|
80
|
-
# Host-owned subagent model selection settings sampled by standard/ptc presets.
|
|
81
|
-
# Keep it optional so an older dsh install without the package still boots.
|
|
82
|
-
- id: subagent-model-selection-settings
|
|
83
|
-
name: '@deepseek-ai/dsh-tool-subagent/model-selection-settings'
|
|
84
|
-
disabled: !!js (function () { try { process.getBuiltinModule('module').createRequire(ctx.baseUrl || process.cwd() + '/').resolve('@deepseek-ai/dsh-tool-subagent/model-selection-settings'); return false } catch (err) { return true } })()
|
|
85
|
-
|
|
86
9
|
- id: ssh-tui-startup
|
|
87
10
|
name: 'dsh-ssh-tui/startup'
|
|
88
11
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-ssh-tui",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "SSH-friendly interactive terminal TUI plugin for DeepSeek Harness",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|
|
@@ -54,6 +54,16 @@
|
|
|
54
54
|
"dsh": {
|
|
55
55
|
"bundle": {
|
|
56
56
|
"patch": "./cordis.patch.yml"
|
|
57
|
+
},
|
|
58
|
+
"compatibility": {
|
|
59
|
+
"dsh": ">=0.1.1-rc.2 <0.1.3",
|
|
60
|
+
"dshReleases": {
|
|
61
|
+
"0.1.2-rc.1": "compatible",
|
|
62
|
+
"0.1.3-alpha.1": "unknown",
|
|
63
|
+
"0.1.3-alpha.2": "incompatible",
|
|
64
|
+
"0.1.5-alpha.1": "incompatible"
|
|
65
|
+
},
|
|
66
|
+
"profiles": ["tui"]
|
|
57
67
|
}
|
|
58
68
|
},
|
|
59
69
|
"scripts": {
|