Skip to content

Releases

v0.1.0

Choose a tag to compare

@Arbeiter-bit Arbeiter-bit released this 10 Oct 08:12

Double-click any of your own messages to rewrite it, and resend from that point.

What it does

Hovering one of your messages shows the hint; double-click it to open an editor
prefilled with that message. Confirming forks the session at the event before the
original message, sends the edited text into that branch, and opens the branch in
the main panel. Clicking anywhere outside the editor leaves edit mode without
saving.

The original session is never modified: a session log is append-only, so editing
message n-1 is exactly why message n does not appear in the new branch. The new
branch carries a hint saying it restarted from the edited message.

Your messages also get a faint blue bubble, so a user message cannot be mistaken
for an assistant reply.

Why it owns the user bubble

Double-click and the hover hint need the bubbles own DOM, and the shipped
renderer keeps its action row internal and exposes no hook. This registers
conversation.chat.node for key user at priority -1, shadowing that renderer. A
keyed cell accepts a second registration only at a DIFFERENT priority; at 0 it
throws and a throw in a client entry makes the web boot audit refuse to mount the
whole GUI. The priority is load-bearing.

Install

dsh plugin --profile <profile> add github:Arbeiter-bit/dsh-reedit

Verification

v0.1.0  title: DeepSeek Harness   nodes: 387   console errors: 0

Cold boot checked against the web boot audit in a fresh page with an empty
module table, because a client entry that fails to activate costs the whole GUI.

v0.6.0

Choose a tag to compare

@Arbeiter-bit Arbeiter-bit released this 10 Oct 07:08

Double-click any of your own messages to rewrite it, and open a writable side
conversation without interrupting the main task.

What it does

  • Side conversation — the composer-toolbar entry or /side opens one
    writable side conversation per session in the right Sidebar. The first open
    forks once at the latest completed turn; every later open reuses that same
    session. /side is a client action command, so it submits no model message
    and the main task keeps running.
  • Edit and resend — the shipped user bubble is replaced so the bubble itself
    can carry double-click editing and a hover hint. Confirming forks at the event
    before the original message, sends the edited text into that branch, and opens
    the branch in the main panel. Later messages are deliberately not carried into
    the new branch; the source session is never modified.

Install

dsh plugin --profile <profile> add github:Arbeiter-bit/dsh-open-branch

Pinned:

dsh plugin --profile <profile> add github:Arbeiter-bit/dsh-open-branch#v0.6.0

Verification

Cold boot is checked against the web boot audit in a fresh browser page with an
empty module table, because a plugin whose client entry fails to activate makes
the whole GUI refuse to mount:

v0.6.0  title: DeepSeek Harness   nodes: 387   console errors: 0

Older releases were verified the same way. v0.1.1 and earlier are known-bad: the
package was renamed without renaming the ModuleLoader factory id, so the
client entry failed to import and the GUI refused to boot.

Known limitations

  • The side session reflects the main session as of its creation; later main turns
    are not visible in it. That is the price of a real, independent, writable
    session, and the opposite trade from plugins that rebuild the branch every turn.
  • While the main session is still on its first turn there is no completed prefix
    to fork, so the side session is created fresh in the same directory instead.
  • The user-message bubble is a reimplementation of the shipped one. Text, image
    attachments and the action row are reproduced; file cards and bubble styling
    are hand-written and may differ slightly from the host.