dsh-carryon 0.1.0 → 0.1.1
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/CHANGELOG.md +10 -0
- package/README.md +31 -10
- package/README.zh-CN.md +28 -9
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,16 @@ All notable changes to dsh-carryon. Versions follow [SemVer](https://semver.org/
|
|
|
4
4
|
release may change behaviour or configuration. Each release supports exactly one dsh release, given by
|
|
5
5
|
`engines.dsh` in `package.json`.
|
|
6
6
|
|
|
7
|
+
## 0.1.1 (2026-11-06)
|
|
8
|
+
|
|
9
|
+
Documentation only; the code is the same as 0.1.0. It supports dsh `0.2.2-alpha.3`.
|
|
10
|
+
|
|
11
|
+
- **npm page.** The READMEs use full GitHub URLs for images and links, so they work on npmjs.com.
|
|
12
|
+
- **Quick start.** How to check that the plugin is installed, update it, and remove it.
|
|
13
|
+
- **Troubleshooting.** New `docs/troubleshooting.md`: install errors, no folds, failed folds and their messages.
|
|
14
|
+
- **Issue forms** for bug reports and feature requests.
|
|
15
|
+
- **Release.** Published from GitHub Actions through npm trusted publishing (OIDC).
|
|
16
|
+
|
|
7
17
|
## 0.1.0 (2026-11-06)
|
|
8
18
|
|
|
9
19
|
First release. It supports dsh `0.2.2-alpha.3`.
|
package/README.md
CHANGED
|
@@ -8,14 +8,15 @@
|
|
|
8
8
|
<a href="https://ethannju.github.io/carryon/"><img src="https://img.shields.io/badge/Project-Page-2d6bb1?style=flat-square" alt="Project Page"></a>
|
|
9
9
|
<a href="https://arxiv.org/abs/2610.18784"><img src="https://img.shields.io/badge/arXiv-2610.18784-B31B1B?style=flat-square&logo=arxiv&logoColor=white" alt="arXiv 2610.18784"></a>
|
|
10
10
|
<a href="https://huggingface.co/papers/2610.18784"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fpapers%2F2610.18784&query=%24.upvotes&label=Hugging%20Face&prefix=%E2%96%B2%20&suffix=%20upvotes&color=ffd21e&logo=huggingface&style=flat-square" alt="Hugging Face Paper upvotes"></a>
|
|
11
|
+
<a href="https://www.npmjs.com/package/dsh-carryon"><img src="https://img.shields.io/npm/v/dsh-carryon?style=flat-square&logo=npm" alt="npm"></a>
|
|
11
12
|
<a href="https://github.com/xuan-tu-ai/dsh-carryon/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/xuan-tu-ai/dsh-carryon/ci.yml?branch=main&style=flat-square&logo=githubactions&logoColor=white&label=CI" alt="CI"></a>
|
|
12
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache--2.0-blue?style=flat-square" alt="License Apache-2.0"></a>
|
|
13
|
+
<a href="https://github.com/xuan-tu-ai/dsh-carryon/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache--2.0-blue?style=flat-square" alt="License Apache-2.0"></a>
|
|
13
14
|
<a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://img.shields.io/badge/dsh-0.2.2--alpha.3-4D6BFE?style=flat-square" alt="dsh 0.2.2-alpha.3"></a>
|
|
14
15
|
<img src="https://img.shields.io/badge/Node.js-%E2%89%A522-339933?style=flat-square&logo=nodedotjs&logoColor=white" alt="Node.js 22 or later">
|
|
15
16
|
</p>
|
|
16
17
|
|
|
17
18
|
<p align="center">
|
|
18
|
-
<strong>English</strong> · <a href="README.zh-CN.md">简体中文</a>
|
|
19
|
+
<strong>English</strong> · <a href="https://github.com/xuan-tu-ai/dsh-carryon/blob/main/README.zh-CN.md">简体中文</a>
|
|
19
20
|
</p>
|
|
20
21
|
|
|
21
22
|
When a [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (dsh) session grows long, dsh compacts it
|
|
@@ -29,9 +30,9 @@ https://github.com/user-attachments/assets/5f4a6889-5cf6-41a4-aff1-327a9d5d6b7b
|
|
|
29
30
|
<p align="center"><sub>CarryOn demo by the paper's authors. Also on the <a href="https://ethannju.github.io/carryon/">project page</a>.</sub></p>
|
|
30
31
|
|
|
31
32
|
<p align="center"><img src="https://raw.githubusercontent.com/Ethannju/carryon/2d5c8db78e136a74d6e1cccfdf984607b565ee6e/docs/assets/overview.png" alt="Overview of CarryOn" width="860"></p>
|
|
32
|
-
<p align="center"><sub>The CarryOn runtime, from the paper. In dsh-carryon, dsh decides when to fold and keeps the recent turns; the Grounder is not ported yet (<a href="docs/how-it-works.md">details</a>).</sub></p>
|
|
33
|
+
<p align="center"><sub>The CarryOn runtime, from the paper. In dsh-carryon, dsh decides when to fold and keeps the recent turns; the Grounder is not ported yet (<a href="https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/how-it-works.md">details</a>).</sub></p>
|
|
33
34
|
|
|
34
|
-
[Configuration](docs/configuration.md) · [How it works](docs/how-it-works.md) · [Development](docs/development.md) · [Benchmark](bench/README.md) · [Releasing](docs/release.md) · [Changelog](CHANGELOG.md)
|
|
35
|
+
[Configuration](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/configuration.md) · [How it works](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/how-it-works.md) · [Development](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/development.md) · [Benchmark](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/bench/README.md) · [Troubleshooting](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/troubleshooting.md) · [Releasing](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/release.md) · [Changelog](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/CHANGELOG.md)
|
|
35
36
|
|
|
36
37
|
## Highlights
|
|
37
38
|
|
|
@@ -61,7 +62,7 @@ flowchart LR
|
|
|
61
62
|
The checkpoint holds every carrier and the execution context. dsh keeps the most recent turns verbatim after it.
|
|
62
63
|
A fold costs one Tracker call, plus one Compiler call when the Tracker asks for compilation; dsh's own compaction
|
|
63
64
|
makes one summary call. The engine, the state format and how this port differs from the paper are described in
|
|
64
|
-
[How it works](docs/how-it-works.md).
|
|
65
|
+
[How it works](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/how-it-works.md).
|
|
65
66
|
|
|
66
67
|
## Results reported in the paper
|
|
67
68
|
|
|
@@ -99,16 +100,36 @@ Restart dsh. In the terminal UI, every compaction is now a CarryOn fold. In the
|
|
|
99
100
|
**CarryOn mode**, which you can switch from the mode menu next to the chat box:
|
|
100
101
|
|
|
101
102
|
<p align="center">
|
|
102
|
-
<img src="docs/images/web-carryon-mode-menu.png" alt="CarryOn mode in the dsh Web UI mode menu" width="720">
|
|
103
|
+
<img src="https://raw.githubusercontent.com/xuan-tu-ai/dsh-carryon/main/docs/images/web-carryon-mode-menu.png" alt="CarryOn mode in the dsh Web UI mode menu" width="720">
|
|
103
104
|
</p>
|
|
104
105
|
|
|
105
|
-
|
|
106
|
-
|
|
106
|
+
### Check, update, remove
|
|
107
|
+
|
|
108
|
+
`dsh plugin` passes its arguments to pnpm in the profile's directory, so pnpm's commands work. Check that the plugin
|
|
109
|
+
is installed:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
npx @deepseek-ai/dsh@0.2.2-alpha.3 plugin --profile tui list
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
In the Web UI it is also listed under **Plugins → Installed plugins**. Once the session is long enough to compact
|
|
116
|
+
(or after `/compact`), a fold's checkpoint appears where dsh shows a compaction summary, and its full state is under
|
|
117
|
+
Trajectory → Raw Output.
|
|
118
|
+
|
|
119
|
+
Update to the latest release for your dsh version:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
npx @deepseek-ai/dsh@0.2.2-alpha.3 plugin --profile tui update dsh-carryon
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Remove it:
|
|
107
126
|
|
|
108
127
|
```bash
|
|
109
128
|
npx @deepseek-ai/dsh@0.2.2-alpha.3 plugin --profile tui remove dsh-carryon
|
|
110
129
|
```
|
|
111
130
|
|
|
131
|
+
Use `--profile web` for the Web UI. Something not working? See [Troubleshooting](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/troubleshooting.md).
|
|
132
|
+
|
|
112
133
|
## Configuration
|
|
113
134
|
|
|
114
135
|
The plugin's config row is `carryon-compaction`. It accepts dsh's own compaction keys (`thresholdRatio`,
|
|
@@ -124,7 +145,7 @@ half of the context window and run the CarryOn roles on the cheaper `deepseek-fl
|
|
|
124
145
|
```
|
|
125
146
|
|
|
126
147
|
dsh replaces a row's whole `config` with the patched one, so list all your keys together. See
|
|
127
|
-
[Configuration](docs/configuration.md) for every key, the defaults, and the Web UI's limits.
|
|
148
|
+
[Configuration](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/configuration.md) for every key, the defaults, and the Web UI's limits.
|
|
128
149
|
|
|
129
150
|
## Citation
|
|
130
151
|
|
|
@@ -147,5 +168,5 @@ paper's authors or with DeepSeek.
|
|
|
147
168
|
|
|
148
169
|
## License
|
|
149
170
|
|
|
150
|
-
dsh-carryon's code is [Apache-2.0](LICENSE). The demo video and the figures shown above belong to the paper's authors,
|
|
171
|
+
dsh-carryon's code is [Apache-2.0](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/LICENSE). The demo video and the figures shown above belong to the paper's authors,
|
|
151
172
|
who gave permission to show them here; they are not covered by that license.
|
package/README.zh-CN.md
CHANGED
|
@@ -8,14 +8,15 @@
|
|
|
8
8
|
<a href="https://ethannju.github.io/carryon/"><img src="https://img.shields.io/badge/Project-Page-2d6bb1?style=flat-square" alt="Project Page"></a>
|
|
9
9
|
<a href="https://arxiv.org/abs/2610.18784"><img src="https://img.shields.io/badge/arXiv-2610.18784-B31B1B?style=flat-square&logo=arxiv&logoColor=white" alt="arXiv 2610.18784"></a>
|
|
10
10
|
<a href="https://huggingface.co/papers/2610.18784"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fpapers%2F2610.18784&query=%24.upvotes&label=Hugging%20Face&prefix=%E2%96%B2%20&suffix=%20upvotes&color=ffd21e&logo=huggingface&style=flat-square" alt="Hugging Face Paper upvotes"></a>
|
|
11
|
+
<a href="https://www.npmjs.com/package/dsh-carryon"><img src="https://img.shields.io/npm/v/dsh-carryon?style=flat-square&logo=npm" alt="npm"></a>
|
|
11
12
|
<a href="https://github.com/xuan-tu-ai/dsh-carryon/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/xuan-tu-ai/dsh-carryon/ci.yml?branch=main&style=flat-square&logo=githubactions&logoColor=white&label=CI" alt="CI"></a>
|
|
12
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache--2.0-blue?style=flat-square" alt="License Apache-2.0"></a>
|
|
13
|
+
<a href="https://github.com/xuan-tu-ai/dsh-carryon/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache--2.0-blue?style=flat-square" alt="License Apache-2.0"></a>
|
|
13
14
|
<a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://img.shields.io/badge/dsh-0.2.2--alpha.3-4D6BFE?style=flat-square" alt="dsh 0.2.2-alpha.3"></a>
|
|
14
15
|
<img src="https://img.shields.io/badge/Node.js-%E2%89%A522-339933?style=flat-square&logo=nodedotjs&logoColor=white" alt="Node.js 22 或更高版本">
|
|
15
16
|
</p>
|
|
16
17
|
|
|
17
18
|
<p align="center">
|
|
18
|
-
<a href="README.md">English</a> · <strong>简体中文</strong>
|
|
19
|
+
<a href="https://github.com/xuan-tu-ai/dsh-carryon/blob/main/README.md">English</a> · <strong>简体中文</strong>
|
|
19
20
|
</p>
|
|
20
21
|
|
|
21
22
|
[DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(dsh)的会话变长时,dsh 会把较早的轮次总结成一段自由文本来压缩上下文。dsh-carryon 用论文 [*Pack Light, CarryOn*](https://arxiv.org/abs/2610.18784) 中的 **CarryOn** 替换这一步:较早的轮次被折叠(fold)成两部分。一部分是记录智能体已确立内容的小型、带版本的记录,称为“载体”(carrier)。另一部分是执行上下文,包含任务、未完成的义务和下一步。每次折叠在提交前都会经过校验,被拒绝的折叠不会改变任何东西。
|
|
@@ -25,9 +26,9 @@ https://github.com/user-attachments/assets/5f4a6889-5cf6-41a4-aff1-327a9d5d6b7b
|
|
|
25
26
|
<p align="center"><sub>论文作者制作的 CarryOn 演示视频,也可在<a href="https://ethannju.github.io/carryon/">项目主页</a>观看。</sub></p>
|
|
26
27
|
|
|
27
28
|
<p align="center"><img src="https://raw.githubusercontent.com/Ethannju/carryon/2d5c8db78e136a74d6e1cccfdf984607b565ee6e/docs/assets/overview.png" alt="Overview of CarryOn" width="860"></p>
|
|
28
|
-
<p align="center"><sub>论文中的 CarryOn 运行时示意图。在 dsh-carryon 中,何时折叠以及保留哪些最近轮次由 dsh 决定;Grounder 尚未移植(<a href="docs/how-it-works.md">详情</a>,英文)。</sub></p>
|
|
29
|
+
<p align="center"><sub>论文中的 CarryOn 运行时示意图。在 dsh-carryon 中,何时折叠以及保留哪些最近轮次由 dsh 决定;Grounder 尚未移植(<a href="https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/how-it-works.md">详情</a>,英文)。</sub></p>
|
|
29
30
|
|
|
30
|
-
[配置](docs/configuration.md) · [工作原理](docs/how-it-works.md) · [开发](docs/development.md) · [基准测试](bench/README.md) · [发布](docs/release.md) · [更新日志](CHANGELOG.md)
|
|
31
|
+
[配置](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/configuration.md) · [工作原理](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/how-it-works.md) · [开发](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/development.md) · [基准测试](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/bench/README.md) · [故障排除](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/troubleshooting.md) · [发布](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/release.md) · [更新日志](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/CHANGELOG.md)
|
|
31
32
|
|
|
32
33
|
以上文档为英文。
|
|
33
34
|
|
|
@@ -52,7 +53,7 @@ flowchart LR
|
|
|
52
53
|
R -.->|上下文接近上限| F["退回:<br/>dsh 的总结"]
|
|
53
54
|
```
|
|
54
55
|
|
|
55
|
-
检查点包含所有载体和执行上下文,dsh 会在它之后原样保留最近的轮次。每次折叠调用一次 Tracker;Tracker 请求编译时,再调用一次 Compiler。dsh 自带的压缩只调用一次总结。引擎、状态格式以及本移植与论文的差异,见[工作原理](docs/how-it-works.md)。
|
|
56
|
+
检查点包含所有载体和执行上下文,dsh 会在它之后原样保留最近的轮次。每次折叠调用一次 Tracker;Tracker 请求编译时,再调用一次 Compiler。dsh 自带的压缩只调用一次总结。引擎、状态格式以及本移植与论文的差异,见[工作原理](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/how-it-works.md)。
|
|
56
57
|
|
|
57
58
|
## 论文报告的结果
|
|
58
59
|
|
|
@@ -85,15 +86,33 @@ npx @deepseek-ai/dsh@0.2.2-alpha.3 plugin --profile web add dsh-carryon
|
|
|
85
86
|
重启 dsh。在终端界面中,每次压缩都会变成一次 CarryOn 折叠。在 Web UI 中,新会话默认使用 **CarryOn mode**,可以在输入框旁的模式菜单中切换:
|
|
86
87
|
|
|
87
88
|
<p align="center">
|
|
88
|
-
<img src="docs/images/web-carryon-mode-menu.png" alt="dsh Web UI 模式菜单中的 CarryOn mode" width="720">
|
|
89
|
+
<img src="https://raw.githubusercontent.com/xuan-tu-ai/dsh-carryon/main/docs/images/web-carryon-mode-menu.png" alt="dsh Web UI 模式菜单中的 CarryOn mode" width="720">
|
|
89
90
|
</p>
|
|
90
91
|
|
|
91
|
-
|
|
92
|
+
### 检查、更新、卸载
|
|
93
|
+
|
|
94
|
+
`dsh plugin` 会把参数转交给配置目录中的 pnpm,所以 pnpm 的命令都可以使用。检查插件是否已安装:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
npx @deepseek-ai/dsh@0.2.2-alpha.3 plugin --profile tui list
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
在 Web UI 中,插件也会出现在 **Plugins → Installed plugins** 中。会话长到触发压缩(或执行 `/compact`)后,折叠的检查点显示在 dsh 显示压缩总结的位置,完整状态在 Trajectory → Raw Output 中。
|
|
101
|
+
|
|
102
|
+
更新到适用于你的 dsh 版本的最新发布:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
npx @deepseek-ai/dsh@0.2.2-alpha.3 plugin --profile tui update dsh-carryon
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
卸载:
|
|
92
109
|
|
|
93
110
|
```bash
|
|
94
111
|
npx @deepseek-ai/dsh@0.2.2-alpha.3 plugin --profile tui remove dsh-carryon
|
|
95
112
|
```
|
|
96
113
|
|
|
114
|
+
Web UI 请使用 `--profile web`。遇到问题?见[故障排除](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/troubleshooting.md)(英文)。
|
|
115
|
+
|
|
97
116
|
## 配置
|
|
98
117
|
|
|
99
118
|
插件的配置行是 `carryon-compaction`。它接受 dsh 自带压缩的键(`thresholdRatio`、`retainTokens` 等),以及少量 CarryOn 专用的键。例如,下面的配置写入 `$DSH_HOME/profiles/tui/cordis.patch.yml` 后,会在上下文窗口用到一半时折叠,并让 CarryOn 的角色调用使用更便宜的 `deepseek-flash`:
|
|
@@ -106,7 +125,7 @@ npx @deepseek-ai/dsh@0.2.2-alpha.3 plugin --profile tui remove dsh-carryon
|
|
|
106
125
|
runtimeModel: deepseek-flash
|
|
107
126
|
```
|
|
108
127
|
|
|
109
|
-
dsh 会用补丁中的 `config` 整体替换该行的配置,所以请把所有要改的键写在一起。全部键、默认值以及 Web UI 中的限制见[配置](docs/configuration.md)。
|
|
128
|
+
dsh 会用补丁中的 `config` 整体替换该行的配置,所以请把所有要改的键写在一起。全部键、默认值以及 Web UI 中的限制见[配置](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/docs/configuration.md)。
|
|
110
129
|
|
|
111
130
|
## 引用
|
|
112
131
|
|
|
@@ -128,4 +147,4 @@ carrycode 和 dsh-carryon 是仅依据论文完成的独立实现,与论文作
|
|
|
128
147
|
|
|
129
148
|
## 许可证
|
|
130
149
|
|
|
131
|
-
dsh-carryon 的代码采用 [Apache-2.0](LICENSE)。上文的演示视频和图片属于论文作者,经作者许可在此展示,不在该许可证范围内。
|
|
150
|
+
dsh-carryon 的代码采用 [Apache-2.0](https://github.com/xuan-tu-ai/dsh-carryon/blob/main/LICENSE)。上文的演示视频和图片属于论文作者,经作者许可在此展示,不在该许可证范围内。
|