HTML Docs Desktop · Agent Harness

A visual command center for multi-agent work.

The desktop app is being shaped into a task harness: every agent gets its own chat, live canvas, execution status, and reviewable evidence — all visible from one control plane.

Live harness
See the work, not just the transcript.Sessions stay distinct while the shared vault, diff, and publishing context remain available.
3
Canvas artifacts

Plan, live Status, and a final Summary/Evidence surface preserve the story of a task.

Compatible models

OpenRouter and any OpenAI-compatible Chat Completions endpoint can stream into a task.

1
Control plane

A Codex-style left rail makes sessions, the project, provider settings, and account state easy to find.

How a task works

Conversation becomes a visible execution story.

1 · Context

Chat & goal

Each task has a focused conversation, model, permission mode, and provider identity.

2 · Live

Visual canvas

The agent’s plan and progress render as diagrams, files-in-flight, milestones, and images—not a wall of logs.

3 · Review

Evidence board

Completed work, diffs, git shipping state, and remaining validation stay explicit.

What is implemented

Build inventory

Visual status harnessAnimated plan → build → verify map, live checklist progress, active files, and working diff.
Verification cuesSummary page distinguishes reviewable evidence from actual test confirmation.
Image-ready plansAgent-authored Markdown images render inside the canvas rather than becoming dead links.
Harness control planeDark left rail with new task, agent sessions, project canvas, cloud/account, provider settings, theme, and project switcher.
OpenAI-compatible streamingConfigurable endpoint/model plus encrypted key storage; OpenRouter is the default endpoint.
Honest capability boundaryLocal agents can use workspace tools; API sessions are labeled as conversational until a tool bridge is added.
Next integrations

What remains to complete the full harness.

Credential note: cloud-account credentials and model-provider credentials are intentionally separate. Do not place either one in a project file or commit them to git.