@agi-fans/oh-my-dsh 0.18.0 → 0.19.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.
Files changed (3) hide show
  1. package/README.md +5 -2
  2. package/config/cordis.yml +33 -1
  3. package/package.json +119 -117
package/README.md CHANGED
@@ -16,6 +16,8 @@ omdsh is a focused, keyboard-first DeepSeek coding agent built on the plugin arc
16
16
 
17
17
  ![oh-my-dsh terminal interface](https://raw.githubusercontent.com/agi-fans/oh-my-dsh/main/apps/site/public/screenshot.webp)
18
18
 
19
+ Screenshot from v0.5.1. See [Keyboard and keys](https://omdsh.agi.fans/docs/keyboard/) for the current turn presentation and navigation.
20
+
19
21
  ## Quick start
20
22
 
21
23
  Requirements: Node.js 22.19 or later in the 22.x line, or Node.js 24 or newer, plus a DeepSeek API key for live model turns.
@@ -32,7 +34,8 @@ Run `/login` once inside omdsh to validate and save your DeepSeek API key, then
32
34
  - **Durable conversations:** search, pin, rename, and resume sessions in `/sessions`; rewind, retry, compact, and export complete transcripts as Markdown or standalone HTML.
33
35
  - **Three real session controls:** choose a Harness Agent preset (Standard, PTC, Minimal, or Cordis), Workflow (Default or Plan), and Access (Read only, Workspace write, or Full access). Each Agent preset owns its tool exposure; PTC uses the generated TypeScript SDK automatically.
34
36
  - **Rich terminal input:** mention project files and other sessions with `@`, paste clipboard images, reuse persistent prompt history, edit multiline prompts externally, and retrieve queued follow-ups.
35
- - **Readable tool activity:** follow streaming calls and live subagent progress, press Down on an empty composer then Enter (or use Alt+A directly) to select a child in the keyboard-driven Agent Hub, steer a continuable child from its transcript, inspect distinct Input and Output sections, expand long results, and keep domain-specific presentation owned by tool plugins.
37
+ - **Readable turns:** follow thinking, replies, and tool previews while the agent works. Completed work folds to a duration summary and the full final answer; `Ctrl+O` restores the process view. Scroll through either view, keep the current prompt pinned, and jump back to the latest message with `End`.
38
+ - **Inspectable work:** press `Alt+O` for full tool inputs and results in the current turn, use `/trajectory` for event details, see the files changed by each turn, and let the model search its earlier sessions in the same workspace. Open the Agent Hub with `Alt+A` to follow child agents and steer continuable tasks.
36
39
  - **Live operational context:** see Agent, Workflow, Access, model, reasoning effort, workspace, Git state, context pressure, tokens, TTFT, throughput, cache, timings, turns, and steps without leaving the composer; use `/context` for an inline projection-backed breakdown that remains in the transcript.
37
40
  - **Responsive by design:** retain settled transcript layout, coalesce scroll updates, emit row-level terminal diffs, and preserve correct display-cell alignment for CJK text and emoji.
38
41
 
@@ -102,7 +105,7 @@ The TUI package is split into a service definition, local terminal Provider, ses
102
105
 
103
106
  ## Performance
104
107
 
105
- Performance is part of the TUI architecture: durable sessions replay in linear time, Harness Projections avoid repeated history scans, settled transcript blocks retain formatted layout, and the terminal writer emits row-level diffs. On the documented Apple M5 Pro environment, restoring 10,000 conversation turns takes a median 2.62 ms, 10,000 tool calls take 22.71 ms, and rendering cached frames over a 5,000-turn surface averages 0.35 ms per frame.
108
+ Performance is part of the TUI architecture: durable sessions replay in linear time, Harness Projections avoid repeated history scans, settled transcript blocks retain formatted layout, and the terminal writer emits row-level diffs. The documented Apple M5 Pro measurements from August 2026 recorded a median 2.62 ms for restoring 10,000 conversation turns, 22.71 ms for 10,000 tool calls, and 0.35 ms per cached frame over a 5,000-turn surface. These are historical measurements, not a benchmark of the latest version.
106
109
 
107
110
  See the reproducible [TUI performance report](https://omdsh.agi.fans/docs/performance/) or run `pnpm benchmark:tui` locally.
108
111
 
package/config/cordis.yml CHANGED
@@ -13,8 +13,13 @@
13
13
  - id: llm
14
14
  name: '@deepseek-ai/dsh-llm'
15
15
 
16
+ # `dsh-llm-deepseek` is the Messages transport library since the 0.2.0
17
+ # corridor; the plugin that owns the `deepseek-official` route now lives in
18
+ # `dsh-llm-deepseek-api-key` (the account-token sibling owns `deepseek-account`).
19
+ # The row id stays `llm-deepseek` because the settings namespace the TUI
20
+ # `/auth` and `/model` commands read is derived from the entry id.
16
21
  - id: llm-deepseek
17
- name: '@deepseek-ai/dsh-llm-deepseek'
22
+ name: '@deepseek-ai/dsh-llm-deepseek-api-key'
18
23
  config:
19
24
  # Current built-ins share this fallback. Exact catalog values still win,
20
25
  # and omitting models keeps future adapter additions visible.
@@ -69,6 +74,19 @@
69
74
  path: !!js "(process.env.OMDSH_HOME || process.env.DSH_HOME || process.env.HOME + '/.dsh') + '/sessions-query.sqlite'"
70
75
  openAt: first-search
71
76
 
77
+ # Model-facing session history: five read-only tools that let the agent find
78
+ # work it did in an earlier session. Without them a model that solved
79
+ # something three sessions ago can only be told again, because `/sessions`
80
+ # and `/resume` are human affordances it cannot reach. Cross-session reads
81
+ # are authorized only when the target session's cwd exactly matches the
82
+ # caller's, so the model cannot read another workspace's history.
83
+ #
84
+ # The cost is five tool schemas plus fixed guidance on every request. A
85
+ # deployment that would rather not pay it turns the row off in a home
86
+ # overlay with `disabled: true`.
87
+ - id: tool-session-query
88
+ name: '@deepseek-ai/dsh-tool-session-query'
89
+
72
90
  - id: session-reference
73
91
  name: '@deepseek-ai/dsh-session-reference'
74
92
 
@@ -102,6 +120,14 @@
102
120
  - id: workspace
103
121
  name: '@deepseek-ai/dsh-workspace'
104
122
 
123
+ # Per-turn changed-file summary. The plugin diffs git working-tree snapshots
124
+ # taken at turn start and turn end and announces each result with a
125
+ # `workspace/changes` event; the transcript renders the served file list, and
126
+ # a resumed session falls back to the turn-only form because the summaries
127
+ # live on the host only while the Session does.
128
+ - id: workspace-changes
129
+ name: '@deepseek-ai/dsh-workspace-changes'
130
+
105
131
  # Workspace @file discovery. The TUI owns mention syntax; this provider
106
132
  # ranks path-only candidates and, when `read` is visible, adds the stable
107
133
  # file-reference instruction. Selecting a row still inserts a path.
@@ -348,6 +374,8 @@
348
374
 
349
375
  - id: tool-ask-user
350
376
  name: '@deepseek-ai/dsh-tool-ask-user'
377
+ config:
378
+ mode: legacy
351
379
 
352
380
  - id: plan-mode
353
381
  name: '@deepseek-ai/dsh-plan-mode'
@@ -599,6 +627,10 @@
599
627
  name: '@agi-fans/dsh-tui'
600
628
  config:
601
629
  model: !!js process.env.OMDSH_MODEL || 'deepseek-flash'
630
+ # The settings overlay edits the Profile patch for optional features;
631
+ # `disabled` is a Loader option the settings service cannot write, so
632
+ # this row carries the home whose patch the Features section owns.
633
+ dshHome: !!js process.env.OMDSH_HOME || process.env.DSH_HOME || process.env.HOME + '/.dsh'
602
634
 
603
635
  - id: agent-behavior
604
636
  name: '@agi-fans/oh-my-dsh/agent-behavior'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agi-fans/oh-my-dsh",
3
3
  "description": "omdsh: a keyboard-first DeepSeek TUI coding agent on the DeepSeek Harness runtime",
4
- "version": "0.18.0",
4
+ "version": "0.19.0",
5
5
  "homepage": "https://omdsh.agi.fans/",
6
6
  "keywords": [
7
7
  "omdsh",
@@ -57,124 +57,126 @@
57
57
  "dependencies": {
58
58
  "@deepseek-ai/cordis-plugin-loader": "1.0.5",
59
59
  "@deepseek-ai/cordis-plugin-timer": "1.1.6",
60
- "@deepseek-ai/dsh-agent": "0.1.7-rc.1",
61
- "@deepseek-ai/dsh-agent-default-model": "0.1.7-rc.1",
62
- "@deepseek-ai/dsh-agent-instructions": "0.1.7-rc.1",
63
- "@deepseek-ai/dsh-agent-loop": "0.1.7-rc.1",
64
- "@deepseek-ai/dsh-agent-preset": "0.1.7-rc.1",
65
- "@deepseek-ai/dsh-agent-preset-registry": "0.1.7-rc.1",
66
- "@deepseek-ai/dsh-agent-tool-presentation": "0.1.7-rc.1",
67
- "@deepseek-ai/dsh-app-boot": "0.1.7-rc.1",
68
- "@deepseek-ai/dsh-attachment-local": "0.1.7-rc.1",
69
- "@deepseek-ai/dsh-authorization": "0.1.7-rc.1",
70
- "@deepseek-ai/dsh-bash-sandbox": "0.1.7-rc.1",
71
- "@deepseek-ai/dsh-cmdline": "0.1.7-rc.1",
72
- "@deepseek-ai/dsh-command-compact": "0.1.7-rc.1",
73
- "@deepseek-ai/dsh-command-feedback": "0.1.7-rc.1",
74
- "@deepseek-ai/dsh-command-goal": "0.1.7-rc.1",
75
- "@deepseek-ai/dsh-commands": "0.1.7-rc.1",
76
- "@deepseek-ai/dsh-compaction-basic": "0.1.7-rc.1",
77
- "@deepseek-ai/dsh-compaction-image-offload": "0.1.7-rc.1",
78
- "@deepseek-ai/dsh-compaction-tool-result-pruner": "0.1.7-rc.1",
79
- "@deepseek-ai/dsh-config-editor": "0.1.7-rc.1",
80
- "@deepseek-ai/dsh-cordis-host-runner": "0.1.7-rc.1",
81
- "@deepseek-ai/dsh-credentials-local": "0.1.7-rc.1",
82
- "@deepseek-ai/dsh-file-reference": "0.1.7-rc.1",
83
- "@deepseek-ai/dsh-file-reference-local": "0.1.7-rc.1",
84
- "@deepseek-ai/dsh-fs-local": "0.1.7-rc.1",
85
- "@deepseek-ai/dsh-fs-observation-policy": "0.1.7-rc.1",
86
- "@deepseek-ai/dsh-fs-sandbox": "0.1.7-rc.1",
87
- "@deepseek-ai/dsh-goal": "0.1.7-rc.1",
88
- "@deepseek-ai/dsh-goal-round-driver": "0.1.7-rc.1",
89
- "@deepseek-ai/dsh-http-proxy": "0.1.7-rc.1",
90
- "@deepseek-ai/dsh-invariants": "0.1.7-rc.1",
91
- "@deepseek-ai/dsh-jobs-local": "0.1.7-rc.1",
92
- "@deepseek-ai/dsh-launch-environment": "0.1.7-rc.1",
93
- "@deepseek-ai/dsh-llm": "0.1.7-rc.1",
94
- "@deepseek-ai/dsh-llm-deepseek": "0.1.7-rc.1",
95
- "@deepseek-ai/dsh-llm-pi-ai": "0.1.7-rc.1",
96
- "@deepseek-ai/dsh-llm-retry": "0.1.7-rc.1",
97
- "@deepseek-ai/dsh-lsp": "0.1.7-rc.1",
98
- "@deepseek-ai/dsh-lsp-stdio": "0.1.7-rc.1",
99
- "@deepseek-ai/dsh-mcp-client": "0.1.7-rc.1",
100
- "@deepseek-ai/dsh-mcp-resources": "0.1.7-rc.1",
101
- "@deepseek-ai/dsh-output-retention": "0.1.7-rc.1",
102
- "@deepseek-ai/dsh-permission-presets": "0.1.7-rc.1",
103
- "@deepseek-ai/dsh-persona": "0.1.7-rc.1",
104
- "@deepseek-ai/dsh-plan-mode": "0.1.7-rc.1",
105
- "@deepseek-ai/dsh-ptc-runtime-node": "0.1.7-rc.1",
106
- "@deepseek-ai/dsh-pwsh-local": "0.1.7-rc.1",
107
- "@deepseek-ai/dsh-pwsh-sandbox": "0.1.7-rc.1",
108
- "@deepseek-ai/dsh-repeat-tool-reminder": "0.1.7-rc.1",
109
- "@deepseek-ai/dsh-sandbox-local": "0.1.7-rc.1",
110
- "@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.1",
111
- "@deepseek-ai/dsh-scope": "0.1.7-rc.1",
112
- "@deepseek-ai/dsh-session": "0.1.7-rc.1",
113
- "@deepseek-ai/dsh-session-checkpoint-policy": "0.1.7-rc.1",
114
- "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.7-rc.1",
115
- "@deepseek-ai/dsh-session-projection": "0.1.7-rc.1",
116
- "@deepseek-ai/dsh-session-projection-cache": "0.1.7-rc.1",
117
- "@deepseek-ai/dsh-session-query": "0.1.7-rc.1",
118
- "@deepseek-ai/dsh-session-query-sqlite": "0.1.7-rc.1",
119
- "@deepseek-ai/dsh-session-reference": "0.1.7-rc.1",
120
- "@deepseek-ai/dsh-session-stats": "0.1.7-rc.1",
121
- "@deepseek-ai/dsh-session-title": "0.1.7-rc.1",
122
- "@deepseek-ai/dsh-session-title-first-prompt-llm": "0.1.7-rc.1",
123
- "@deepseek-ai/dsh-settings": "0.1.7-rc.1",
124
- "@deepseek-ai/dsh-shell-env": "0.1.7-rc.1",
125
- "@deepseek-ai/dsh-skill": "0.1.7-rc.1",
126
- "@deepseek-ai/dsh-skill-filesystem": "0.1.7-rc.1",
127
- "@deepseek-ai/dsh-spill": "0.1.7-rc.1",
128
- "@deepseek-ai/dsh-spill-local": "0.1.7-rc.1",
129
- "@deepseek-ai/dsh-spill-policy": "0.1.7-rc.1",
130
- "@deepseek-ai/dsh-storage": "0.1.7-rc.1",
131
- "@deepseek-ai/dsh-storage-domain": "0.1.7-rc.1",
132
- "@deepseek-ai/dsh-storage-json": "0.1.7-rc.1",
133
- "@deepseek-ai/dsh-subagent": "0.1.7-rc.1",
134
- "@deepseek-ai/dsh-subagent-acp": "0.1.7-rc.1",
135
- "@deepseek-ai/dsh-subagent-fork-in-process": "0.1.7-rc.1",
136
- "@deepseek-ai/dsh-subagent-in-process-driver": "0.1.7-rc.1",
137
- "@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.7-rc.1",
138
- "@deepseek-ai/dsh-subprocess-local": "0.1.7-rc.1",
139
- "@deepseek-ai/dsh-system-prompt": "0.1.7-rc.1",
140
- "@deepseek-ai/dsh-terminal": "0.1.7-rc.1",
141
- "@deepseek-ai/dsh-terminal-bash": "0.1.7-rc.1",
142
- "@deepseek-ai/dsh-timeout": "0.1.7-rc.1",
143
- "@deepseek-ai/dsh-token-meter": "0.1.7-rc.1",
144
- "@deepseek-ai/dsh-tool-ask-user": "0.1.7-rc.1",
145
- "@deepseek-ai/dsh-tool-bash": "0.1.7-rc.1",
146
- "@deepseek-ai/dsh-tool-bash-persistent": "0.1.7-rc.1",
147
- "@deepseek-ai/dsh-tool-call-timeout-policy": "0.1.7-rc.1",
148
- "@deepseek-ai/dsh-tool-cordis": "0.1.7-rc.1",
149
- "@deepseek-ai/dsh-tool-fs": "0.1.7-rc.1",
150
- "@deepseek-ai/dsh-tool-fs-search": "0.1.7-rc.1",
151
- "@deepseek-ai/dsh-tool-goal": "0.1.7-rc.1",
152
- "@deepseek-ai/dsh-tool-jobs": "0.1.7-rc.1",
153
- "@deepseek-ai/dsh-tool-lsp": "0.1.7-rc.1",
154
- "@deepseek-ai/dsh-tool-present": "0.1.7-rc.1",
155
- "@deepseek-ai/dsh-tool-pwsh": "0.1.7-rc.1",
156
- "@deepseek-ai/dsh-tool-pwsh-persistent": "0.1.7-rc.1",
157
- "@deepseek-ai/dsh-tool-ralph": "0.1.7-rc.1",
158
- "@deepseek-ai/dsh-tool-skill": "0.1.7-rc.1",
159
- "@deepseek-ai/dsh-tool-str-replace-editor": "0.1.7-rc.1",
160
- "@deepseek-ai/dsh-tool-subagent": "0.1.7-rc.1",
161
- "@deepseek-ai/dsh-tool-subagent-control": "0.1.7-rc.1",
162
- "@deepseek-ai/dsh-tool-terminal": "0.1.7-rc.1",
163
- "@deepseek-ai/dsh-tool-todo": "0.1.7-rc.1",
164
- "@deepseek-ai/dsh-tool-web": "0.1.7-rc.1",
165
- "@deepseek-ai/dsh-tool-workflow": "0.1.7-rc.1",
166
- "@deepseek-ai/dsh-tools": "0.1.7-rc.1",
167
- "@deepseek-ai/dsh-user-approval": "0.1.7-rc.1",
168
- "@deepseek-ai/dsh-user-questions": "0.1.7-rc.1",
169
- "@deepseek-ai/dsh-web": "0.1.7-rc.1",
170
- "@deepseek-ai/dsh-web-fetch-http": "0.1.7-rc.1",
171
- "@deepseek-ai/dsh-web-search-deepseek": "0.1.7-rc.1",
172
- "@deepseek-ai/dsh-workflow": "0.1.7-rc.1",
173
- "@deepseek-ai/dsh-workflow-ptc": "0.1.7-rc.1",
174
- "@deepseek-ai/dsh-workspace": "0.1.7-rc.1",
60
+ "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
61
+ "@deepseek-ai/dsh-agent-default-model": "0.2.0-rc.2",
62
+ "@deepseek-ai/dsh-agent-instructions": "0.2.0-rc.2",
63
+ "@deepseek-ai/dsh-agent-loop": "0.2.0-rc.2",
64
+ "@deepseek-ai/dsh-agent-preset": "0.2.0-rc.2",
65
+ "@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.2",
66
+ "@deepseek-ai/dsh-agent-tool-presentation": "0.2.0-rc.2",
67
+ "@deepseek-ai/dsh-app-boot": "0.2.0-rc.2",
68
+ "@deepseek-ai/dsh-attachment-local": "0.2.0-rc.2",
69
+ "@deepseek-ai/dsh-authorization": "0.2.0-rc.2",
70
+ "@deepseek-ai/dsh-bash-sandbox": "0.2.0-rc.2",
71
+ "@deepseek-ai/dsh-cmdline": "0.2.0-rc.2",
72
+ "@deepseek-ai/dsh-command-compact": "0.2.0-rc.2",
73
+ "@deepseek-ai/dsh-command-feedback": "0.2.0-rc.2",
74
+ "@deepseek-ai/dsh-command-goal": "0.2.0-rc.2",
75
+ "@deepseek-ai/dsh-commands": "0.2.0-rc.2",
76
+ "@deepseek-ai/dsh-compaction-basic": "0.2.0-rc.2",
77
+ "@deepseek-ai/dsh-compaction-image-offload": "0.2.0-rc.2",
78
+ "@deepseek-ai/dsh-compaction-tool-result-pruner": "0.2.0-rc.2",
79
+ "@deepseek-ai/dsh-config-editor": "0.2.0-rc.2",
80
+ "@deepseek-ai/dsh-cordis-host-runner": "0.2.0-rc.2",
81
+ "@deepseek-ai/dsh-credentials-local": "0.2.0-rc.2",
82
+ "@deepseek-ai/dsh-file-reference": "0.2.0-rc.2",
83
+ "@deepseek-ai/dsh-file-reference-local": "0.2.0-rc.2",
84
+ "@deepseek-ai/dsh-fs-local": "0.2.0-rc.2",
85
+ "@deepseek-ai/dsh-fs-observation-policy": "0.2.0-rc.2",
86
+ "@deepseek-ai/dsh-fs-sandbox": "0.2.0-rc.2",
87
+ "@deepseek-ai/dsh-goal": "0.2.0-rc.2",
88
+ "@deepseek-ai/dsh-goal-round-driver": "0.2.0-rc.2",
89
+ "@deepseek-ai/dsh-http-proxy": "0.2.0-rc.2",
90
+ "@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
91
+ "@deepseek-ai/dsh-jobs-local": "0.2.0-rc.2",
92
+ "@deepseek-ai/dsh-launch-environment": "0.2.0-rc.2",
93
+ "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
94
+ "@deepseek-ai/dsh-llm-deepseek-api-key": "0.2.0-rc.2",
95
+ "@deepseek-ai/dsh-llm-pi-ai": "0.2.0-rc.2",
96
+ "@deepseek-ai/dsh-llm-retry": "0.2.0-rc.2",
97
+ "@deepseek-ai/dsh-lsp": "0.2.0-rc.2",
98
+ "@deepseek-ai/dsh-lsp-stdio": "0.2.0-rc.2",
99
+ "@deepseek-ai/dsh-mcp-client": "0.2.0-rc.2",
100
+ "@deepseek-ai/dsh-mcp-resources": "0.2.0-rc.2",
101
+ "@deepseek-ai/dsh-output-retention": "0.2.0-rc.2",
102
+ "@deepseek-ai/dsh-permission-presets": "0.2.0-rc.2",
103
+ "@deepseek-ai/dsh-persona": "0.2.0-rc.2",
104
+ "@deepseek-ai/dsh-plan-mode": "0.2.0-rc.2",
105
+ "@deepseek-ai/dsh-ptc-runtime-node": "0.2.0-rc.2",
106
+ "@deepseek-ai/dsh-pwsh-local": "0.2.0-rc.2",
107
+ "@deepseek-ai/dsh-pwsh-sandbox": "0.2.0-rc.2",
108
+ "@deepseek-ai/dsh-repeat-tool-reminder": "0.2.0-rc.2",
109
+ "@deepseek-ai/dsh-sandbox-local": "0.2.0-rc.2",
110
+ "@deepseek-ai/dsh-sandbox-policy": "0.2.0-rc.2",
111
+ "@deepseek-ai/dsh-scope": "0.2.0-rc.2",
112
+ "@deepseek-ai/dsh-session": "0.2.0-rc.2",
113
+ "@deepseek-ai/dsh-session-checkpoint-policy": "0.2.0-rc.2",
114
+ "@deepseek-ai/dsh-session-persistence-jsonl": "0.2.0-rc.2",
115
+ "@deepseek-ai/dsh-session-projection": "0.2.0-rc.2",
116
+ "@deepseek-ai/dsh-session-projection-cache": "0.2.0-rc.2",
117
+ "@deepseek-ai/dsh-session-query": "0.2.0-rc.2",
118
+ "@deepseek-ai/dsh-session-query-sqlite": "0.2.0-rc.2",
119
+ "@deepseek-ai/dsh-session-reference": "0.2.0-rc.2",
120
+ "@deepseek-ai/dsh-session-stats": "0.2.0-rc.2",
121
+ "@deepseek-ai/dsh-session-title": "0.2.0-rc.2",
122
+ "@deepseek-ai/dsh-session-title-first-prompt-llm": "0.2.0-rc.2",
123
+ "@deepseek-ai/dsh-settings": "0.2.0-rc.2",
124
+ "@deepseek-ai/dsh-shell-env": "0.2.0-rc.2",
125
+ "@deepseek-ai/dsh-skill": "0.2.0-rc.2",
126
+ "@deepseek-ai/dsh-skill-filesystem": "0.2.0-rc.2",
127
+ "@deepseek-ai/dsh-spill": "0.2.0-rc.2",
128
+ "@deepseek-ai/dsh-spill-local": "0.2.0-rc.2",
129
+ "@deepseek-ai/dsh-spill-policy": "0.2.0-rc.2",
130
+ "@deepseek-ai/dsh-storage": "0.2.0-rc.2",
131
+ "@deepseek-ai/dsh-storage-domain": "0.2.0-rc.2",
132
+ "@deepseek-ai/dsh-storage-json": "0.2.0-rc.2",
133
+ "@deepseek-ai/dsh-subagent": "0.2.0-rc.2",
134
+ "@deepseek-ai/dsh-subagent-acp": "0.2.0-rc.2",
135
+ "@deepseek-ai/dsh-subagent-fork-in-process": "0.2.0-rc.2",
136
+ "@deepseek-ai/dsh-subagent-in-process-driver": "0.2.0-rc.2",
137
+ "@deepseek-ai/dsh-subagent-spawn-in-process": "0.2.0-rc.2",
138
+ "@deepseek-ai/dsh-subprocess-local": "0.2.0-rc.2",
139
+ "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
140
+ "@deepseek-ai/dsh-terminal": "0.2.0-rc.2",
141
+ "@deepseek-ai/dsh-terminal-bash": "0.2.0-rc.2",
142
+ "@deepseek-ai/dsh-timeout": "0.2.0-rc.2",
143
+ "@deepseek-ai/dsh-token-meter": "0.2.0-rc.2",
144
+ "@deepseek-ai/dsh-tool-ask-user": "0.2.0-rc.2",
145
+ "@deepseek-ai/dsh-tool-bash": "0.2.0-rc.2",
146
+ "@deepseek-ai/dsh-tool-bash-persistent": "0.2.0-rc.2",
147
+ "@deepseek-ai/dsh-tool-call-timeout-policy": "0.2.0-rc.2",
148
+ "@deepseek-ai/dsh-tool-cordis": "0.2.0-rc.2",
149
+ "@deepseek-ai/dsh-tool-fs": "0.2.0-rc.2",
150
+ "@deepseek-ai/dsh-tool-fs-search": "0.2.0-rc.2",
151
+ "@deepseek-ai/dsh-tool-goal": "0.2.0-rc.2",
152
+ "@deepseek-ai/dsh-tool-jobs": "0.2.0-rc.2",
153
+ "@deepseek-ai/dsh-tool-lsp": "0.2.0-rc.2",
154
+ "@deepseek-ai/dsh-tool-present": "0.2.0-rc.2",
155
+ "@deepseek-ai/dsh-tool-pwsh": "0.2.0-rc.2",
156
+ "@deepseek-ai/dsh-tool-pwsh-persistent": "0.2.0-rc.2",
157
+ "@deepseek-ai/dsh-tool-ralph": "0.2.0-rc.2",
158
+ "@deepseek-ai/dsh-tool-skill": "0.2.0-rc.2",
159
+ "@deepseek-ai/dsh-tool-str-replace-editor": "0.2.0-rc.2",
160
+ "@deepseek-ai/dsh-tool-subagent": "0.2.0-rc.2",
161
+ "@deepseek-ai/dsh-tool-subagent-control": "0.2.0-rc.2",
162
+ "@deepseek-ai/dsh-tool-terminal": "0.2.0-rc.2",
163
+ "@deepseek-ai/dsh-tool-session-query": "0.2.0-rc.2",
164
+ "@deepseek-ai/dsh-tool-todo": "0.2.0-rc.2",
165
+ "@deepseek-ai/dsh-tool-web": "0.2.0-rc.2",
166
+ "@deepseek-ai/dsh-tool-workflow": "0.2.0-rc.2",
167
+ "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
168
+ "@deepseek-ai/dsh-user-approval": "0.2.0-rc.2",
169
+ "@deepseek-ai/dsh-user-questions": "0.2.0-rc.2",
170
+ "@deepseek-ai/dsh-web": "0.2.0-rc.2",
171
+ "@deepseek-ai/dsh-web-fetch-http": "0.2.0-rc.2",
172
+ "@deepseek-ai/dsh-web-search-deepseek": "0.2.0-rc.2",
173
+ "@deepseek-ai/dsh-workflow": "0.2.0-rc.2",
174
+ "@deepseek-ai/dsh-workflow-ptc": "0.2.0-rc.2",
175
+ "@deepseek-ai/dsh-workspace": "0.2.0-rc.2",
176
+ "@deepseek-ai/dsh-workspace-changes": "0.2.0-rc.2",
175
177
  "@deepseek-ai/schemastery": "3.18.4",
176
178
  "node-addon-require-builtin": "^0.1.6",
177
- "@agi-fans/dsh-tui": "^0.18.0"
179
+ "@agi-fans/dsh-tui": "^0.19.0"
178
180
  },
179
181
  "peerDependencies": {
180
182
  "@deepseek-ai/cordis": "^4.0.4"