Repository navigation
Four Web GUI ideas with no upstream equivalent: in-app file viewer, past-message rewrite, queue rewind, subagent dock #6222
MostafaAshry513
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Idea
Four Web GUI capabilities that have no equivalent in
master(0.1.5-rc.2), implemented and in daily use in a fork. Posting them in case any are worth adopting — each is self-contained and they do not depend on each other.I have deliberately left out composer file upload:
masteralready ships@deepseek-ai/dsh-client-file-upload(session-addressed, streaming intake, byte progress, cancellation, staged receipts), which is a better design than the base64-over-one-RPC version in the fork. No point proposing a weaker duplicate.1. In-app file viewer
Clicking a file chip or tool-row file link opens a modal viewer instead of only handing the path to the host: text renders with line numbers and syntax highlighting, non-text answers with a binary-and-size notice, and the footer offers Download and Open-externally. On a remote or headless deployment this is the difference between "the agent says it wrote a file" and being able to read it from the same page. Backed by a bounded read RPC (8 MiB) that returns
{ name, dataBase64, mediaType? }.Pairs with an open-in-browser fallback: when the host reports that it cannot open a path natively (headless, no
xdg-open, or anENOENTfrom the opener even where a desktop was detected), the client opens the fetched bytes through a blob tab and falls back to a download when the tab is blocked — instead of surfacing a rawspawn xdg-open ENOENT.2. Rewrite a past user message
A message action that forks the session at the cut turn and re-prompts with the edited text, so a typo or a wrong premise can be corrected without restarting the conversation or hand-editing the log. The cut is computed from the turn the message belongs to rather than assumed.
3. Queue rewind
The composer queue already shows pending turns; this adds a per-row "rewind from here" action that drops the row and everything after it and re-sends the edited text. Disabled on rows that carry no text. Useful when a queued instruction turns out to be wrong while the model is still working through earlier turns.
4. Subagent dock
A conversation dock strip listing child sessions with running/done counts, one row per child, switch-to-child and retry on failure, and a "back to main" pill in the subagent header when ancestry depth is greater than one. With several children in flight, the alternative is guessing from the transcript which one is which.
Where they live
dsh-local-fullon https://github.com/MostafaAshry513/deepseek-harness — a fork of the0.1.1-rc.2release, so the code is written against the pre-ui-chatsplit and would need porting tomasterrather than cherry-picking.LOCAL-FORK.mdon that branch documents what differs and includes a security warning about the trust-fence changes that branch also carries (deliberately kept out of anything proposed here).Also in that fork, and reported separately here, is a settings-write data-loss fix that is still live on
master.All reactions