dsh-code 0.9.1 → 1.0.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.en.md +29 -13
- package/README.md +264 -248
- package/bin/deepseek.mjs +100 -6
- package/cordis.patch.yml +29 -1
- package/lib/index.mjs +2223 -687
- package/lib/startup.mjs +21 -11
- package/lib/{theme-BEi4i_aN.mjs → theme-DCT8Y2xf.mjs} +13 -9
- package/lib/types/app.d.ts +66 -14
- package/lib/types/attachments.d.ts +7 -0
- package/lib/types/editor.d.ts +6 -0
- package/lib/types/fork.d.ts +8 -0
- package/lib/types/git-workflow.d.ts +23 -0
- package/lib/types/index.d.ts +6 -0
- package/lib/types/kernel-panels.d.ts +39 -0
- package/lib/types/keyboard.d.ts +43 -0
- package/lib/types/mentions.d.ts +28 -38
- package/lib/types/presets.d.ts +1 -3
- package/lib/types/provider-settings.d.ts +16 -0
- package/lib/types/render/animations.d.ts +10 -39
- package/lib/types/render/editor.d.ts +137 -0
- package/lib/types/render/export.d.ts +1 -1
- package/lib/types/render/lines.d.ts +6 -2
- package/lib/types/render/markdown.d.ts +3 -1
- package/lib/types/render/projection.d.ts +29 -3
- package/lib/types/render/status.d.ts +5 -12
- package/lib/types/session-directory.d.ts +1 -3
- package/lib/types/startup.d.ts +14 -11
- package/lib/types/store.d.ts +11 -9
- package/lib/types/subagents.d.ts +3 -3
- package/lib/types/theme.d.ts +14 -1
- package/lib/types/version.d.ts +15 -2
- package/package.json +153 -141
- package/src/app.ts +4455 -3917
- package/src/attachments.ts +44 -0
- package/src/editor.ts +51 -0
- package/src/fork.ts +31 -0
- package/src/git-workflow.ts +87 -0
- package/src/index.ts +1510 -1374
- package/src/internals.ts +14 -1
- package/src/kernel-panels.ts +914 -798
- package/src/keyboard.ts +125 -0
- package/src/mentions.ts +72 -117
- package/src/presets.ts +1 -4
- package/src/provider-settings.ts +94 -0
- package/src/render/animations.ts +25 -55
- package/src/render/editor.ts +398 -0
- package/src/render/export.ts +79 -79
- package/src/render/lines.ts +342 -236
- package/src/render/markdown.ts +99 -26
- package/src/render/projection.ts +102 -19
- package/src/render/status.ts +713 -650
- package/src/render/text.ts +150 -150
- package/src/render/tool-detail.ts +3 -1
- package/src/session-directory.ts +3 -3
- package/src/startup.ts +136 -119
- package/src/store.ts +23 -11
- package/src/subagents.ts +13 -5
- package/src/theme.ts +214 -206
- package/src/version.ts +58 -1
package/README.en.md
CHANGED
|
@@ -7,6 +7,7 @@ English | [中文](README.md)
|
|
|
7
7
|
<p align="center"><img alt="Typing SVG" src="https://readme-typing-svg.herokuapp.com?font=JetBrains+Mono&weight=500&size=22&duration=4000&pause=700&color=4176E6&center=true&vCenter=true&width=680&lines=DeepSeek+Harness+Code;DSH+%E5%86%85%E6%A0%B8%E7%9A%84%E7%BB%88%E7%AB%AF%E7%BC%96%E7%A0%81%E7%95%8C%E9%9D%A2"></p>
|
|
8
8
|
<p align="center">
|
|
9
9
|
<a href="https://github.com/deepseek-ai/deepseek-harness"><img alt="DeepSeek Harness" src="https://img.shields.io/badge/DeepSeek-Harness-4176E6?style=for-the-badge&logo=deepseek&logoColor=white&labelColor=1c1917"></a>
|
|
10
|
+
<a href="https://www.npmjs.com/package/@deepseek-ai/dsh"><img alt="dsh version" src="https://img.shields.io/badge/dsh-0.1.0--rc.8-4176E6?style=for-the-badge&logo=deepseek&logoColor=white&labelColor=1c1917"></a>
|
|
10
11
|
<a href="https://github.com/UNLINEARITY/dsh-code/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/UNLINEARITY/dsh-code?label=Stars&style=for-the-badge&logo=github&logoColor=white&color=4176E6&labelColor=1c1917"></a>
|
|
11
12
|
<a href="https://www.npmjs.com/package/dsh-code"><img alt="npm version" src="https://img.shields.io/npm/v/dsh-code?label=npm&style=for-the-badge&logo=npm&color=cb3837&labelColor=1c1917"></a>
|
|
12
13
|
<a href="https://github.com/UNLINEARITY/dsh-code/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/UNLINEARITY/dsh-code?label=License&style=for-the-badge&logo=opensourceinitiative&color=4176E6&labelColor=1c1917"></a>
|
|
@@ -34,22 +35,27 @@ The interface follows familiar terminal conventions, while runtime behavior cont
|
|
|
34
35
|
|
|
35
36
|
## 2. Quick start
|
|
36
37
|
|
|
37
|
-
Requires Node `^22.19 || >=24` and the preview `dsh` CLI. `DEEPSEEK_API_KEY` is not a startup prerequisite: the TUI, sessions, and non-model features remain available without it; press `a` in `/model` to add an API key through the Harness credentials service.
|
|
38
|
+
Requires Node `^22.19 || >=24` and the preview `dsh` CLI (current line: `@deepseek-ai/dsh@0.1.0-rc.8`). `DEEPSEEK_API_KEY` is not a startup prerequisite: the TUI, sessions, and non-model features remain available without it; press `a` in `/model` to add an API key through the Harness credentials service.
|
|
39
|
+
|
|
40
|
+
### 1. Install or update
|
|
41
|
+
|
|
42
|
+
First install and updates use the same commands:
|
|
38
43
|
|
|
39
44
|
```sh
|
|
40
|
-
npm install -g @deepseek-ai/dsh dsh-code
|
|
45
|
+
npm install -g @deepseek-ai/dsh@0.1.0-rc.8 dsh-code@1.0.0
|
|
41
46
|
npm install -g pnpm
|
|
42
|
-
dsh plugin --profile cli add dsh-code@0.
|
|
47
|
+
dsh plugin --profile cli add dsh-code@1.0.0
|
|
43
48
|
```
|
|
44
49
|
|
|
45
|
-
> Note: pnpm ignores packages published less than 24 hours ago, so pin `dsh-code@0.
|
|
50
|
+
> Note: pnpm ignores packages published less than 24 hours ago, so pin `dsh-code@1.0.0` on the release day; the version can be omitted afterwards. npm installs are not affected.
|
|
51
|
+
>
|
|
52
|
+
> Version alignment: dsh-code 1.0.x builds against the dsh `0.1.0-rc.8` plugin line (all peer dependencies are `^0.1.0-rc.8`). Keep the global dsh CLI and dsh-code on the same release line so the host and the plugin stay aligned.
|
|
46
53
|
|
|
47
|
-
###
|
|
54
|
+
### DSH-Code wrapper
|
|
48
55
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
```
|
|
56
|
+
DSH-Code is a terminal wrapper over DeepSeek Harness. It does not replace Harness services for Agent, sessions, models, tools, approvals, or persistence; the `cli` profile composes those services with the terminal bundle. `deepseek` and `dsh-code` are convenience aliases for `dsh --profile cli`.
|
|
57
|
+
|
|
58
|
+
### 2. launching
|
|
53
59
|
|
|
54
60
|
Available launch commands:
|
|
55
61
|
|
|
@@ -89,6 +95,11 @@ dsh --profile cli --mode code # start with an Agent Preset
|
|
|
89
95
|
dsh --profile cli --continue # resume the newest session for this directory
|
|
90
96
|
dsh --profile cli --resume abc123 # resume by id or unique prefix
|
|
91
97
|
dsh --profile cli --session my-id # start a fresh session with an explicit id
|
|
98
|
+
deepseek setup # mount the current release in the cli profile
|
|
99
|
+
deepseek doctor # check Node, DSH, profile, and composition
|
|
100
|
+
deepseek completion powershell # generate shell completion
|
|
101
|
+
deepseek update # check available versions only
|
|
102
|
+
deepseek update --apply # explicitly update the global install
|
|
92
103
|
```
|
|
93
104
|
|
|
94
105
|
Inside the TUI:
|
|
@@ -97,9 +108,13 @@ Inside the TUI:
|
|
|
97
108
|
| --- | --- |
|
|
98
109
|
| `/new [preset]` | Create and enter another session without restarting the terminal |
|
|
99
110
|
| `/resume [id\|prefix]` | Search root sessions or all conversations; filter by cwd, order, and density |
|
|
111
|
+
| `/fork [event-seq]` | Create a resumable ordinary fork from a completed turn containing the event |
|
|
100
112
|
| `/mode [preset]` | Inspect or select the blank session's Agent composition |
|
|
101
|
-
| `/model` | Switch among
|
|
113
|
+
| `/model` | Switch among live-registry models; press `a` to manage providers, then `Tab` to edit URL, models, and windows |
|
|
102
114
|
| `/plugin [query]` | Inspect loader entries, enabled state, module identity, and fiber phase |
|
|
115
|
+
| `/diff [--staged\|ref]` | Inspect the complete Git diff by file; left/right switches files |
|
|
116
|
+
| `/review [--staged\|ref]` | Submit a bounded code review after switching to `read-only` permissions |
|
|
117
|
+
| `/copy` | Copy the latest complete assistant response |
|
|
103
118
|
| `/permission <name>` | Change the permission preset; Shift+Tab cycles presets |
|
|
104
119
|
| `/help` | Browse local commands, Harness commands, skills, and key bindings |
|
|
105
120
|
| `Ctrl+O` | Open the exclusive history detail view; switch entries and scroll all content |
|
|
@@ -107,7 +122,7 @@ Inside the TUI:
|
|
|
107
122
|
| `@` | Mention workspace files or bounded snapshots of persisted sessions |
|
|
108
123
|
| `Esc` / `Ctrl+C` | Close the topmost surface or interrupt the active turn |
|
|
109
124
|
|
|
110
|
-
|
|
125
|
+
Press `a` in `/model` to manage providers; press `Tab` on a provider to edit its endpoint URL, explicit model allow-list, and per-model context/output windows. Typed API keys stay masked and are handed directly to Harness persistence. Keys supplied by the launch environment are read-only and cannot be overwritten or removed in the TUI.
|
|
111
126
|
|
|
112
127
|
## 4. Features
|
|
113
128
|
|
|
@@ -116,17 +131,18 @@ The `/model` provider panel reads only credential configuration, source, and wri
|
|
|
116
131
|
- Per-session Agent Presets for tools, prompt sections, skills, compaction, plan mode, and delegation
|
|
117
132
|
- Live slash-command and skill discovery from shared Harness registries
|
|
118
133
|
- Read-only Cordis loader diagnostics through `/plugin`
|
|
119
|
-
- Model routing through the live LLM registry, restored per persisted session; `/model` can add or rotate keys, remove writable keys,
|
|
134
|
+
- Model routing through the live LLM registry, restored per persisted session; `/model` can add or rotate keys, remove writable keys, delete user-added provider profiles, and set an endpoint, explicit model allow-list, and token windows
|
|
120
135
|
- Plans, goals, todos, permissions, sandbox state, subagents, and runtime steering
|
|
121
136
|
|
|
122
137
|
### 2. Sessions and context
|
|
123
138
|
|
|
124
|
-
- `/new`, `/resume`, `--continue`, and explicit session identifiers without remounting Ink
|
|
139
|
+
- `/new`, `/resume`, `/fork`, `--continue`, and explicit session identifiers without remounting Ink
|
|
125
140
|
- Codex-style searchable resume panel with root/all-conversation, cwd, order, and density filters
|
|
126
141
|
- Bare launches defer session creation until your first real input; quitting early leaves nothing behind
|
|
127
142
|
- Global input recall: Up/Down walks past prompts across sessions, and `/history` searches and fills the composer
|
|
128
143
|
- Lazy title snapshots and explicitly loaded, fully scrollable transcripts
|
|
129
144
|
- Read-only subagent conversation inspection and bounded `@` session references
|
|
145
|
+
- Initial prompts and repeated `--image`; Harness persists image bytes in its attachment store and records content-addressed references in session events
|
|
130
146
|
- Markdown export, persistent titles, context occupancy, cache, token, TTFT, and timing metrics
|
|
131
147
|
|
|
132
148
|
### 3. Approvals and interaction
|