@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 package requires a Web composition containing dsh-client-ui-conversation, dsh-client-runtime, dsh-client-locale, and the Session revision capability exposed by the runtime. It is opt-in and does not replace the shipped conversation node renderer.
Install
Install the standalone bundle into a profile:
dsh plugin --profile demo add github:xie-tj/deepseek-harness-latest-user-message-revision
This repository commits the prebuilt lib/ entry points, so a Git install does not need to run a build script. Pin a commit in production if the profile must remain reproducible. The package expects a compatible dsh Web composition (the 0.1.x runtime family) and the matching Session revision capability. Restart the Web process after changing the profile composition.
For a local checkout, replace the GitHub reference with its directory path.
Model Experience
Latest-user-message revision
What the model sees
The replacement text is admitted as a new durable user message. The surface replacement hides the superseded tail from the next active request, while raw events and revision metadata remain 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. Images, injected context, steering messages, 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.
Development
pnpm --filter @deepseek-ai/dsh-session-message-revision bundle
Run the GUI suite after changing the action or its Slot contract:
pnpm run test:gui
No comments yet. Be the first to write one.