xie-tj/dsh-easy-exit
Optional DeepSeek Harness plugin for editing and resending the latest direct-human message
项目介绍Project Overview
该 DSH 插件为 Web 对话界面中的最新用户文本消息新增“编辑”操作,置于内置复制控件旁,仍由 dsh-client-ui-conversation 渲染对话。回车提交、Shift+Enter 换行、Esc 取消;通过 Session 修订 API 校验空闲状态、待处理工作、目标身份与上下文替换,并在提交后从激活模型历史中移除被取代尾部,追加日志与副作用保留。注意:仅最新人类文本可编辑,含图片、注入上下文或历史消息不可改;若会话运行中、待处理队列或会话已关闭,按钮可见但不可用。
This DSH plugin adds an Edit action for the latest user text message in the Web conversation UI, placed beside the built-in Copy control while dsh-client-ui-conversation keeps rendering. Enter submits, Shift+Enter inserts a newline, Escape cancels. It uses the Session revision API to validate idle state, pending work, target identity, and surface replacement, then drops the superseded tail from active model history while keeping append-only logs and side effects. Caveat: only the newest direct-human text is editable; images, injected context, and older user messages cannot be revised, and the action stays visible but disabled while a session is running, queued, interacting, closed, or removed.
请帮我了解并安装插件:【dsh-easy-exit】【https://github.com/xie-tj/dsh-easy-exit】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile demo add github:xie-tj/dsh-easy-exit
把 xie-tj/dsh-easy-exit 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
@deepseek-ai/dsh-session-message-revision
English | 中文
Optional Web action for editing and resending the latest direct-human text message. The package contributes an additive action beside the built-in Copy control and keeps the conversation renderer owned by dsh-client-ui-conversation.
Features
- Shows Edit only for the latest direct-human message.
- Accepts text-only messages and preserves the original text until submission.
- Sends with Enter, inserts a newline with Shift+Enter, and cancels with Escape.
- Uses the existing Session revision API, which validates idle state, pending work, target identity, and surface replacement before queuing the new turn.
- Removes the superseded tail from active model history while append-only logs and durable side effects remain available to their owning projections.
Composition
- id: session-message-revision
name: '@deepseek-ai/dsh-session-message-revision'
The standard Web composition includes this row, while a profile may omit it to remove the action. The package requires dsh-client-ui-conversation, dsh-client-runtime, dsh-client-locale, and the Session revision capability exposed by the runtime; it does not replace the shipped conversation node renderer.
Install
Install the standalone bundle into a profile:
dsh plugin --profile demo add github:xie-tj/dsh-easy-exit
This repository includes the prebuilt lib/ entry points, so a Git installation does not need a build step. Restart the Web process after changing the profile composition. Pin a commit when the profile must remain reproducible.
For a local checkout, replace the GitHub reference with its directory path.
Development
The source package is maintained in the DeepSeek Harness monorepo. Build and test it there:
pnpm --filter @deepseek-ai/dsh-session-message-revision bundle
pnpm exec vitest run packages/session-query/session-message-revision/tests
Model Experience
Latest-user-message revision
What the model sees
The replacement text is admitted as a new durable user/message event, and the paired session/revision record hides the superseded tail from the next active request; raw events and revision metadata stay append-only.
Token effect
The next request uses the edited message and the active surface after the replacement. Superseded messages and responses do not consume tokens in that request.
KV Cache effect
The request prefix after the edited message changes, so provider-side cache reuse depends on the new prompt prefix.
Known Limitations and Deferred Work
- The package requires the Session revision capability and user-action Slot supplied by the corresponding
deepseek-harnessversion; it cannot add those Host protocol primitives from the browser package alone. - Only the latest direct-human text message is editable, settled or steered. Images, injected context, and older user messages are not editable.
- A running session, pending queue, pending interaction, closed session, or removed session keeps the action visible but unavailable.
alaliqing/claude-paper
liangmianya/dsh-synapse
hanshenmesen/dsh-turn-delete
Anionex/dsh-turn-rewind
omdsh-dev/dsh-annotation
Tyan66666/billion-context-dsh
a179-sanae/dsh-auto-collapse