# ultra-documents — design ultra-documents is a [DeepSeek Harness](https://www.npmjs.com/package/@deepseek-ai/dsh) (dsh) plugin that gives the agent an Artifacts-like output surface: the agent produces an HTML document, it opens in the dsh right sidebar, you comment on any part of it, and one click hands the open comments back to the agent, which writes the next version and answers each comment. It is a fork of [tornado-doc/tdoc](https://github.com/tornado-doc/tdoc) (AGPL-3.0-or-later). See [Relationship to tdoc](#relationship-to-tdoc). ## Scope In scope: - AI-generated HTML/SVG outputs: documents, reports, slides, diagrams, charts, dashboards. - Viewing inside dsh only, in the right sidebar, with an in-app full-screen view. - Anchored comments on text and on visual elements, stored locally. - A "Send to AI" action that posts the open comments into the dsh Session the document is open in. - Versioned revisions: every revision is a new immutable version. - Direct editing of text and formatting in the sidebar, saved as a new version (latest version only; documents with author scripts excluded). Out of scope (decided 2026-10-26): - Sharing, publishing, cloud storage, accounts, teams, access control. - A background daemon that runs agents on its own. - Any harness other than dsh. - Commenting on existing PDF / Office / image files. - HTTP routes on the dsh web server, or a separate local server. ## How dsh supplies each piece Everything below is a public dsh seam that shipped as of dsh 0.2.1-rc.2. | Need | dsh seam | |---|---| | Agent creates / revises a document | Host tool registered with `ctx.tools.register(...)`. The definition is built by `lib/define-tool.js`: a plugin cannot import the runtime's `@deepseek-ai/dsh-tools`, and the registry accepts any `{ name, description, parameters, output, execute }` with JSON Schema parameters, the shape MCP tools use | | Document appears as a card in the chat | The tool appends the same `deliverables/presented` Session event the stock `present` tool appends, so `dsh-client-ui-deliverables` renders a card; clicking it opens the file in the right sidebar | | Rendering in the sidebar | A document-preview implementation: `ctx.documentPreviews.register({ id, extensions, priority: 'extension', loading: 'bytes-complete' })` plus a body registered on the keyed slot `sidebar.right.tab.document` (`dsh-client-ui-sidebar-documentpreview`). An `extension` registration outranks the built-in HTML renderer for the extensions it claims | | Isolation of document scripts | The body renders the document in an `