@agi-fans/oh-my-dsh 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/README.md CHANGED
@@ -1,42 +1,118 @@
1
- # @agi-fans/oh-my-dsh
1
+ <!-- Generated from the repository README by scripts/sync-package-readme.mjs. -->
2
2
 
3
- The `omdsh` command: a TUI coding agent over the DeepSeek Harness core runtime. Boots the shipped `config/cordis.yml` composition through the harness boot machinery (`dsh-app-boot`), provides the command line and exit request, and leaves process lifetime to the mounted runner.
3
+ <div align="center">
4
4
 
5
- ## Install
5
+ # oh-my-dsh
6
+
7
+ **Into the Unknown**
8
+
9
+ A focused, keyboard-first DeepSeek coding agent built on the plugin architecture of [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) and inspired by the interaction quality of [oh-my-pi](https://github.com/can1357/oh-my-pi).
10
+
11
+ [![npm version](https://img.shields.io/npm/v/%40agi-fans%2Foh-my-dsh?style=flat-square&logo=npm)](https://www.npmjs.com/package/@agi-fans/oh-my-dsh) [![npm downloads](https://img.shields.io/npm/dm/%40agi-fans%2Foh-my-dsh?style=flat-square&logo=npm)](https://www.npmjs.com/package/@agi-fans/oh-my-dsh) [![Node.js ^22.19 or >=24](https://img.shields.io/badge/node-%5E22.19%20%7C%7C%20%3E%3D24-339933?style=flat-square&logo=node.js)](https://nodejs.org/) [![MIT License](https://img.shields.io/npm/l/%40agi-fans%2Foh-my-dsh?style=flat-square)](https://github.com/agi-fans/oh-my-dsh/blob/main/LICENSE)
12
+
13
+ English · [简体中文](https://github.com/agi-fans/oh-my-dsh/blob/main/README.zh-CN.md)
14
+
15
+ </div>
16
+
17
+ ![oh-my-dsh terminal interface](https://raw.githubusercontent.com/agi-fans/oh-my-dsh/main/docs/resources/screenshot.png)
18
+
19
+ ## Quick start
20
+
21
+ 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.
6
22
 
7
23
  ```sh
8
24
  npm install --global @agi-fans/oh-my-dsh
9
25
  omdsh
10
26
  ```
11
27
 
12
- Or run it without a global installation:
28
+ Run `/login` once inside omdsh to validate and save your DeepSeek API key, then start a conversation. To try it without a global installation, run `npx @agi-fans/oh-my-dsh`.
13
29
 
14
- ```sh
15
- npx @agi-fans/oh-my-dsh
16
- ```
30
+ ## Highlights
17
31
 
18
- Follow the task-based [tutorials](https://github.com/agi-fans/oh-my-dsh/blob/main/docs/tutorials.md) for the first login, a safe coding workflow, file and image context, queued follow-ups, session recovery, and interface customization.
32
+ - **Durable conversations:** resume sessions, rewind to a human turn, retry, compact, and export complete transcripts as Markdown.
33
+ - **Four real session controls:** choose a Harness Agent preset (Standard, PTC, Minimal, or Cordis), Workflow (Default or Plan), tool presentation (Native, Code, or Both), and Access (Read only, Workspace write, or Full access).
34
+ - **Rich terminal input:** search project files with `@`, paste clipboard images, reuse persistent prompt history, edit multiline prompts externally, and retrieve queued follow-ups.
35
+ - **Readable tool activity:** follow streaming calls, inspect distinct Input and Output sections, expand long results, and keep domain-specific presentation owned by tool plugins.
36
+ - **Live operational context:** see Agent, Workflow, Tools, Access, model, reasoning effort, workspace, Git state, context pressure, tokens, TTFT, throughput, cache, timings, turns, and steps without leaving the composer.
37
+ - **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.
19
38
 
20
- Inside the TUI, run `/login` to open the DeepSeek API-key dashboard and save a validated key through the Harness credential store. The key prompt is masked and never accepts an inline `/login <key>` argument. An interactively selected key takes priority over `DEEPSEEK_API_KEY`; `/logout` removes the omdsh-managed selection and returns the provider to the external credential when one is available.
39
+ ## Learn
21
40
 
22
- ## Develop
41
+ - [Tutorials](https://github.com/agi-fans/oh-my-dsh/blob/main/docs/tutorials.md) — complete a first task, add precise context, guide queued work, recover long sessions, and customize the environment.
42
+ - [Skills and MCP](https://github.com/agi-fans/oh-my-dsh/blob/main/docs/skills-and-mcp.md) — extend a project with reusable instructions and external tools.
43
+ - [Architecture](https://github.com/agi-fans/oh-my-dsh/blob/main/docs/architecture.md) — understand the plugin boundaries and runtime data flow.
44
+ - [Performance](https://github.com/agi-fans/oh-my-dsh/blob/main/docs/performance.md) — inspect the benchmarks, methodology, and rendering optimizations.
23
45
 
24
- ```sh
25
- pnpm install
26
- pnpm omdsh "list files"
46
+ ## Why oh-my-dsh
47
+
48
+ DeepSeek Harness provides a capable agent runtime and a strong architectural idea: everything is a plugin. oh-my-dsh brings that runtime into a calm, keyboard-driven terminal experience without creating a second agent core or hiding Harness behind a parallel abstraction.
49
+
50
+ The TUI remains a presentation and interaction layer. Sessions, tools, permissions, models, Skills, MCP servers, commands, and telemetry come from Harness services and plugins; omdsh composes them into a terminal application and adds the interface behavior needed to use them comfortably.
51
+
52
+ The project follows four principles:
53
+
54
+ - **Harness-native:** use published DeepSeek Harness packages as the source of truth for agent behavior, state, and lifecycle.
55
+ - **Real plugin boundaries:** create plugins for independently owned lifecycles and contribution points, not for every source file.
56
+ - **One terminal owner:** keep raw input, cursor state, viewport management, and atomic rendering inside the local TUI Provider.
57
+ - **Progressive disclosure:** keep the default view concise while making tools, telemetry, settings, and session detail discoverable on demand.
58
+
59
+ Reference checkouts under `refs/` remain read-only research material. Runtime code depends only on published packages and oh-my-dsh workspace packages.
27
60
 
28
- node lib/bin.js "list files"
61
+ ## Architecture
62
+
63
+ ```text
64
+ DeepSeek Harness plugins and services
65
+ │
66
+ ▼
67
+ @agi-fans/dsh-tui — terminal capability seam
68
+ │
69
+ ▼
70
+ @agi-fans/oh-my-dsh — boot and plugin composition
29
71
  ```
30
72
 
31
- Model/provider routes come from `OMDSH_MODEL`/`OMDSH_PROVIDER` or the user's `$DSH_HOME/settings.yaml` (mounted via `dsh-settings-file`); credentials resolve through `dsh-credentials-local` (inherited env, managed `.credentials.yaml`, project/user `.env`). The default permission mode is trusted-local (`danger-full-access`); `OMDSH_PERMISSION_MODE` narrows it.
73
+ The TUI package is split into a service definition, local terminal Provider, session and interaction adapters, tool-presentation bridge, command contributions, and interactive Runner. This isolates terminal ownership from Harness domain state and exposes plugin seams only where a capability has an independent lifecycle or owner. See the [architecture overview](https://github.com/agi-fans/oh-my-dsh/blob/main/docs/architecture.md) for the current boundaries and data flow.
74
+
75
+ ## Performance
76
+
77
+ 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.15 ms, 10,000 tool calls take 21.21 ms, and cached updates over a 5,000-turn surface average 0.24 ms per frame.
78
+
79
+ See the reproducible [TUI performance report](https://github.com/agi-fans/oh-my-dsh/blob/main/docs/performance.md) or run `pnpm benchmark:tui` locally.
32
80
 
33
- Run `/settings` to customize the TUI. The overlay controls themes, colors, tool expansion, startup release notes, daily update checks, and the composer status bar, including telemetry visibility, compact/full labels, and the order of Context, Cache, Tokens, Latency, Time, and Activity groups. Use up/down to navigate and left/right to change a value; preferences are stored in the user settings document. Use `/changelog` for recent release notes or `/changelog full` for the complete packaged history. Update checks only report a newer npm version and never install it automatically.
81
+ ## Configuration
34
82
 
35
- Skills are discovered from project/user `.dsh/skills` and `.agents/skills` roots. MCP servers are loaded from user and project `.dsh/mcp.json` files; see [Skills and MCP](https://github.com/agi-fans/oh-my-dsh/blob/main/docs/skills-and-mcp.md) for the configuration shape and TUI commands.
83
+ Run `/login` to open the DeepSeek API Key dashboard, enter a key in a masked prompt, validate it, and save it through the Harness credential store. An interactively selected key takes priority over an inherited `DEEPSEEK_API_KEY` on subsequent requests and across restarts. `/logout` removes the omdsh-managed choice and falls back to the environment when available.
36
84
 
37
- ## Verify
85
+ Model settings can also come from `$DSH_HOME/settings.yaml`. Skills and MCP configuration are documented in [Skills and MCP](https://github.com/agi-fans/oh-my-dsh/blob/main/docs/skills-and-mcp.md).
86
+
87
+ After an upgrade, omdsh can show release notes once at startup. Use `/changelog` for recent entries or `/changelog full` for the complete packaged history. A cached daily npm check reports newer versions without installing anything automatically; both behaviors can be customized in `/settings`.
88
+
89
+ ## Development
38
90
 
39
91
  ```sh
40
- pnpm --filter @agi-fans/oh-my-dsh test # keyless pipe-mode e2e
41
- pnpm smoke # keyless interactive PTY e2e
92
+ pnpm install
93
+ pnpm omdsh "list files" # run from source
94
+ pnpm typecheck # check TypeScript
95
+ pnpm test # unit and pipe-mode tests
96
+ pnpm build # build all workspace packages
97
+ pnpm smoke # interactive PTY smoke test
98
+ pnpm smoke:happy # mock-LLM happy path
42
99
  ```
100
+
101
+ The checkouts in `refs/deepseek-harness` and `refs/oh-my-pi` are read-only references. Do not use them as runtime dependencies or modify them while developing omdsh.
102
+
103
+ ## Changelog
104
+
105
+ User-visible changes and release history are tracked in [CHANGELOG.md](https://github.com/agi-fans/oh-my-dsh/blob/main/CHANGELOG.md).
106
+
107
+ ## Acknowledgements
108
+
109
+ oh-my-dsh exists because of two projects:
110
+
111
+ - [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) provides the runtime foundation, plugin architecture, and the conviction that agent capabilities should be composable rather than embedded in one application.
112
+ - [oh-my-pi](https://github.com/can1357/oh-my-pi) demonstrates how thoughtful terminal interaction, compact information design, and careful keyboard workflows can make an agent feel fast and approachable.
113
+
114
+ Thank you to both projects and their contributors. omdsh is an independent community project: it is built on DeepSeek Harness and learns from OMP, but is not an official distribution of either project.
115
+
116
+ ## License
117
+
118
+ oh-my-dsh is available under the [MIT License](https://github.com/agi-fans/oh-my-dsh/blob/main/LICENSE).
@@ -0,0 +1,5 @@
1
+ - id: persona
2
+ name: '@deepseek-ai/dsh-persona'
3
+ config:
4
+ text: >-
5
+ You are a coding agent powered by the {{model}} model. Your working directory is {{cwd}}. Prefer programmatic tool calling for multi-step operations when the generated tools SDK is available.
@@ -0,0 +1,3 @@
1
+ name: PTC
2
+ description: Standard coding agent optimized for programmatic tool calling through the generated TypeScript SDK.
3
+ order: 2
@@ -0,0 +1,10 @@
1
+ - id: persona
2
+ name: '@deepseek-ai/dsh-persona'
3
+ config:
4
+ text: |-
5
+ You are a coding agent powered by the {{model}} model, running on the DeepSeek Harness. Your working directory is {{cwd}}.
6
+
7
+ You can inspect and experiment with the live Cordis runtime. Host composition owns shared registries and backends; an Agent preset owns one session's tools, persona, prompt sections, and isolated services. Treat runtime mutation as shell-level authority and explain the affected composition boundary before changing it.
8
+
9
+ - id: tool-cordis
10
+ name: '@deepseek-ai/dsh-tool-cordis'
@@ -0,0 +1,3 @@
1
+ name: Cordis
2
+ description: Standard coding agent with live runtime inspection and plugin experimentation for authoring Harness compositions.
3
+ order: 4
@@ -0,0 +1,33 @@
1
+ - id: persona
2
+ name: '@deepseek-ai/dsh-persona'
3
+ config:
4
+ text: You are a helpful software engineer assistant.
5
+ complete: true
6
+ includeRuntimeContext: false
7
+
8
+ - id: profile
9
+ name: '@agi-fans/dsh-tui/agent-profile'
10
+ config:
11
+ tools:
12
+ allow:
13
+ - bash
14
+ - str_replace_editor
15
+
16
+ - id: persistent-shell
17
+ name: cordis:group
18
+ group: true
19
+ isolate:
20
+ terminals: true
21
+ config:
22
+ - id: terminal
23
+ name: '@deepseek-ai/dsh-terminal'
24
+
25
+ - id: terminal-bash
26
+ name: '@deepseek-ai/dsh-terminal-bash'
27
+ config:
28
+ timeoutMs: 300000
29
+
30
+ - id: persistent-bash
31
+ name: '@deepseek-ai/dsh-tool-bash-persistent'
32
+ config:
33
+ timeoutMs: 300000
@@ -0,0 +1,3 @@
1
+ name: Minimal
2
+ description: Focused two-tool coding agent with a persistent Bash session and str_replace_editor.
3
+ order: 3
@@ -0,0 +1,5 @@
1
+ - id: persona
2
+ name: '@deepseek-ai/dsh-persona'
3
+ config:
4
+ text: >-
5
+ You are a coding agent powered by the {{model}} model. Your working directory is {{cwd}}.
@@ -0,0 +1,3 @@
1
+ name: Standard
2
+ description: Full coding agent with files, shell, search, skills, planning, goals, and delegation.
3
+ order: 1
package/config/cordis.yml CHANGED
@@ -67,6 +67,14 @@
67
67
  provider: !!js process.env.OMDSH_PROVIDER || 'deepseek-official'
68
68
  model: !!js process.env.OMDSH_MODEL || 'deepseek-v4-flash'
69
69
 
70
+ - id: agent-presets
71
+ name: '@deepseek-ai/dsh-agent-presets'
72
+ config:
73
+ default: standard
74
+ roots:
75
+ - path: !!js "process.getBuiltinModule('node:url').fileURLToPath(new URL('./agent-presets/', baseUrl))"
76
+ trust: system
77
+
70
78
  - id: commands
71
79
  name: '@deepseek-ai/dsh-commands'
72
80
 
@@ -132,6 +140,14 @@
132
140
  goals:
133
141
  domain: {}
134
142
  tool: {}
143
+ tools:
144
+ mode: native
145
+
146
+ - id: code-runtime
147
+ name: '@deepseek-ai/dsh-code-runtime-worker-thread'
148
+
149
+ - id: cordis-host-runner
150
+ name: '@deepseek-ai/dsh-cordis-host-runner'
135
151
 
136
152
  # Human and model workflow contributions. The TUI discovers human commands
137
153
  # from dsh-commands and renders unknown tools through its safe fallback.
@@ -222,6 +238,9 @@
222
238
  - id: tui-command-session
223
239
  name: '@agi-fans/dsh-tui/command-session'
224
240
 
241
+ - id: tui-command-session-configuration
242
+ name: '@agi-fans/dsh-tui/command-session-configuration'
243
+
225
244
  - id: tui-command-steer
226
245
  name: '@agi-fans/dsh-tui/command-steer'
227
246
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agi-fans/oh-my-dsh",
3
3
  "description": "omdsh: TUI coding agent command over the DeepSeek Harness runtime",
4
- "version": "0.4.0",
4
+ "version": "0.5.0",
5
5
  "homepage": "https://github.com/agi-fans/oh-my-dsh#readme",
6
6
  "repository": {
7
7
  "type": "git",
@@ -27,49 +27,57 @@
27
27
  "dependencies": {
28
28
  "@deepseek-ai/cordis-plugin-loader": "1.0.2",
29
29
  "@deepseek-ai/cordis-plugin-timer": "1.1.3",
30
- "@deepseek-ai/dsh-agent": "0.1.0-rc.6",
31
- "@deepseek-ai/dsh-agent-default-model": "0.1.0-rc.6",
32
- "@deepseek-ai/dsh-agent-spine-demo": "0.1.0-rc.6",
33
- "@deepseek-ai/dsh-attachment-local": "0.1.0-rc.6",
34
- "@deepseek-ai/dsh-command-compact": "0.1.0-rc.6",
35
- "@deepseek-ai/dsh-command-goal": "0.1.0-rc.6",
36
- "@deepseek-ai/dsh-commands": "0.1.0-rc.6",
37
- "@deepseek-ai/dsh-compaction-basic": "0.1.0-rc.6",
38
- "@deepseek-ai/dsh-app-boot": "0.1.0-rc.6",
39
- "@deepseek-ai/dsh-bash-sandbox": "0.1.0-rc.6",
40
- "@deepseek-ai/dsh-cmdline": "0.1.0-rc.6",
41
- "@deepseek-ai/dsh-fs-local": "0.1.0-rc.6",
42
- "@deepseek-ai/dsh-fs-observation-policy": "0.1.0-rc.6",
43
- "@deepseek-ai/dsh-launch-environment": "0.1.0-rc.6",
44
- "@deepseek-ai/dsh-llm": "0.1.0-rc.6",
45
- "@deepseek-ai/dsh-llm-deepseek": "0.1.0-rc.6",
46
- "@deepseek-ai/dsh-mcp-client": "0.1.0-rc.6",
47
- "@deepseek-ai/dsh-permission-presets": "0.1.0-rc.6",
48
- "@deepseek-ai/dsh-plan-mode": "0.1.0-rc.6",
49
- "@deepseek-ai/dsh-sandbox-local": "0.1.0-rc.6",
50
- "@deepseek-ai/dsh-sandbox-policy": "0.1.0-rc.6",
51
- "@deepseek-ai/dsh-session": "0.1.0-rc.6",
52
- "@deepseek-ai/dsh-session-checkpoint-policy": "0.1.0-rc.6",
53
- "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.0-rc.6",
54
- "@deepseek-ai/dsh-session-projection": "0.1.0-rc.6",
55
- "@deepseek-ai/dsh-session-stats": "0.1.0-rc.6",
56
- "@deepseek-ai/dsh-session-title": "0.1.0-rc.6",
57
- "@deepseek-ai/dsh-subagent": "0.1.0-rc.6",
58
- "@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.0-rc.6",
59
- "@deepseek-ai/dsh-token-meter": "0.1.0-rc.6",
60
- "@deepseek-ai/dsh-tool-ask-user": "0.1.0-rc.6",
61
- "@deepseek-ai/dsh-tool-fs": "0.1.0-rc.6",
62
- "@deepseek-ai/dsh-tool-fs-search": "0.1.0-rc.6",
63
- "@deepseek-ai/dsh-tool-str-replace-editor": "0.1.0-rc.6",
64
- "@deepseek-ai/dsh-tool-subagent": "0.1.0-rc.6",
65
- "@deepseek-ai/dsh-tool-subagent-control": "0.1.0-rc.6",
66
- "@deepseek-ai/dsh-tool-todo": "0.1.0-rc.6",
67
- "@deepseek-ai/dsh-user-approval": "0.1.0-rc.6",
68
- "@deepseek-ai/dsh-user-questions": "0.1.0-rc.6",
69
- "@deepseek-ai/dsh-subprocess-local": "0.1.0-rc.6",
70
- "@deepseek-ai/dsh-settings-file": "0.1.0-rc.6",
71
- "@deepseek-ai/dsh-credentials-local": "0.1.0-rc.6",
72
- "@agi-fans/dsh-tui": "^0.4.0"
30
+ "@deepseek-ai/dsh-agent": "0.1.0-rc.7",
31
+ "@deepseek-ai/dsh-agent-default-model": "0.1.0-rc.7",
32
+ "@deepseek-ai/dsh-agent-presets": "0.1.0-rc.7",
33
+ "@deepseek-ai/dsh-agent-spine-demo": "0.1.0-rc.7",
34
+ "@deepseek-ai/dsh-attachment-local": "0.1.0-rc.7",
35
+ "@deepseek-ai/dsh-command-compact": "0.1.0-rc.7",
36
+ "@deepseek-ai/dsh-command-goal": "0.1.0-rc.7",
37
+ "@deepseek-ai/dsh-commands": "0.1.0-rc.7",
38
+ "@deepseek-ai/dsh-compaction-basic": "0.1.0-rc.7",
39
+ "@deepseek-ai/dsh-code-runtime-worker-thread": "0.1.0-rc.7",
40
+ "@deepseek-ai/dsh-cordis-host-runner": "0.1.0-rc.7",
41
+ "@deepseek-ai/dsh-app-boot": "0.1.0-rc.7",
42
+ "@deepseek-ai/dsh-bash-sandbox": "0.1.0-rc.7",
43
+ "@deepseek-ai/dsh-cmdline": "0.1.0-rc.7",
44
+ "@deepseek-ai/dsh-fs-local": "0.1.0-rc.7",
45
+ "@deepseek-ai/dsh-fs-observation-policy": "0.1.0-rc.7",
46
+ "@deepseek-ai/dsh-launch-environment": "0.1.0-rc.7",
47
+ "@deepseek-ai/dsh-llm": "0.1.0-rc.7",
48
+ "@deepseek-ai/dsh-llm-deepseek": "0.1.0-rc.7",
49
+ "@deepseek-ai/dsh-mcp-client": "0.1.0-rc.7",
50
+ "@deepseek-ai/dsh-permission-presets": "0.1.0-rc.7",
51
+ "@deepseek-ai/dsh-persona": "0.1.0-rc.7",
52
+ "@deepseek-ai/dsh-plan-mode": "0.1.0-rc.7",
53
+ "@deepseek-ai/dsh-sandbox-local": "0.1.0-rc.7",
54
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.0-rc.7",
55
+ "@deepseek-ai/dsh-session": "0.1.0-rc.7",
56
+ "@deepseek-ai/dsh-session-checkpoint-policy": "0.1.0-rc.7",
57
+ "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.0-rc.7",
58
+ "@deepseek-ai/dsh-session-projection": "0.1.0-rc.7",
59
+ "@deepseek-ai/dsh-session-stats": "0.1.0-rc.7",
60
+ "@deepseek-ai/dsh-session-title": "0.1.0-rc.7",
61
+ "@deepseek-ai/dsh-subagent": "0.1.0-rc.7",
62
+ "@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.0-rc.7",
63
+ "@deepseek-ai/dsh-terminal": "0.1.0-rc.7",
64
+ "@deepseek-ai/dsh-terminal-bash": "0.1.0-rc.7",
65
+ "@deepseek-ai/dsh-token-meter": "0.1.0-rc.7",
66
+ "@deepseek-ai/dsh-tool-ask-user": "0.1.0-rc.7",
67
+ "@deepseek-ai/dsh-tool-bash-persistent": "0.1.0-rc.7",
68
+ "@deepseek-ai/dsh-tool-cordis": "0.1.0-rc.7",
69
+ "@deepseek-ai/dsh-tool-fs": "0.1.0-rc.7",
70
+ "@deepseek-ai/dsh-tool-fs-search": "0.1.0-rc.7",
71
+ "@deepseek-ai/dsh-tool-str-replace-editor": "0.1.0-rc.7",
72
+ "@deepseek-ai/dsh-tool-subagent": "0.1.0-rc.7",
73
+ "@deepseek-ai/dsh-tool-subagent-control": "0.1.0-rc.7",
74
+ "@deepseek-ai/dsh-tool-todo": "0.1.0-rc.7",
75
+ "@deepseek-ai/dsh-user-approval": "0.1.0-rc.7",
76
+ "@deepseek-ai/dsh-user-questions": "0.1.0-rc.7",
77
+ "@deepseek-ai/dsh-subprocess-local": "0.1.0-rc.7",
78
+ "@deepseek-ai/dsh-settings-file": "0.1.0-rc.7",
79
+ "@deepseek-ai/dsh-credentials-local": "0.1.0-rc.7",
80
+ "@agi-fans/dsh-tui": "^0.5.0"
73
81
  },
74
82
  "peerDependencies": {
75
83
  "@deepseek-ai/cordis": "^4.0.1"