ultra-documents
English | 中文
Artifacts-like documents for DeepSeek Harness (dsh).
Ask the agent for a report, proposal, explainer, slide deck, diagram or
dashboard. It writes one self-contained HTML page, which shows up in the chat
as a card and opens in the dsh right sidebar. Then:
- Comment — select any text, or click a figure or table, and leave a
comment.
- Send to AI — one click hands the open comments to the agent, which
writes the next version and answers each comment.
- Edit — change the text and formatting of the latest version yourself;
saving creates a new version.
Every change is a new version, and you can switch between them. Everything
stays on your machine: no account, no server, no sharing.
Screenshots
Editing text and formatting in the sidebar
Install
Requires dsh 0.2.1 or later and its web interface (the desktop app or
dsh web).
dsh plugin --profile web add github:Libraqg/ultra-documents
From a local checkout:
git clone https://github.com/Libraqg/ultra-documents
dsh plugin --profile web add link:/absolute/path/to/ultra-documents
In the desktop app, add the plugin from its plugin manager instead; the
desktop profile is managed by the app.
Use
- Start a new session in a workspace and ask for a document, for example
"Use ultra-documents to make a two-day Hangzhou itinerary with a schedule
table".
- Click the card in the chat to open the document in the sidebar.
- Select text or click a figure to comment. Comment mode is on by default;
switch to read mode to interact with the page normally.
- Press Send to AI to get the next version. Show handled comments to see
the AI's reply on each one.
- Press Edit on the latest version to change text and formatting, then
Save as new version.
Start a new session for each document: a long session carries a lot of
context into every revision.
How it works
| Piece | What it does |
|---|
| Agent tools | ultra_documents_create, ultra_documents_revise, ultra_documents_comments, ultra_documents_list |
| Skill | ultra-documents: when to use the tools and how to write the HTML (voice, visuals, styles, slides) |
| Sidebar renderer | Claims *.ultra.html files; renders the version in an isolated sandbox with comment highlights, a comment panel, a version picker, direct editing and full screen |
| Storage | <workspace>/.ultra-documents/<slug>/ — v1.ultra.html, v2.ultra.html, …, doc.json, comments.json; the directory is git-ignored |
Documents run in an <iframe sandbox="allow-scripts"> without same-origin
access: their scripts cannot reach the dsh page, its cookies or your files.
See docs/DESIGN.md for the design.
Known limitations
- Documents that run their own scripts can be commented on but not edited
directly.
- A session open in two dsh processes at once (say the desktop app and
dsh web) is write-locked by one of them; saving comments or edits from the
other fails.
- Each comment action shows a one-line "ultra-documents" command card in the
chat. It never reaches the model.
- The sidebar polls for changes every 3 seconds, and a document opened before
a light/dark theme switch keeps its old theme until it is reopened.
- Local filesystem only; Sessions on a remote filesystem are not supported.
- dsh is a release candidate. Tested on 0.2.1-rc.3.
Develop
npm run build # client/src/main.js → client.js
npm run check
npm test
client.js is generated; edit client/src/main.js and rebuild.
Licence
AGPL-3.0-or-later. ultra-documents is a modified version of
tdoc by Serena Keyitan and the tdoc
contributors; NOTICE.md records what changed. Bundled third-party
material keeps its own licence.