Dory — Local Workplace for Multi-Agent Software
Project Description
Dory — a local workplace for multi-agent software, in two parts: desk is a Rust binary providing windows, tabs and live terminal panes; lamp is a browser-based session journal published as the npm package @manhquy/dory. MIT-licensed, with CI.
Overview
Dory is a local workplace for multi-agent software, aimed at developers orchestrating several agents on one machine. It solves the problem of doing real work where agents run: multiple windows, terminal tabs and parallel sessions while keeping the session journal visible. Dory has two clearly separated parts: the desk (the Rust binary dory) and the lamp (a browser-based session journal published as the npm package @manhquy/dory).
Architecture & Technical Decisions
The two-part split is the central architectural decision: the desk keeps PTY processes alive when the UI closes — "leaving the UI is not stopping work" — while the lamp only reads and displays the journal, fully separated in supply chain. The desk is written in Rust (vendored portable-pty keeps its own license file) and is distributed by building from source; the lamp targets Node ≥ 22.14, is published on npm as dory-serve, serves locally on 127.0.0.1:7380 and exists only while the process runs. Interactionally, the desk uses a tmux-style Ctrl-b prefix: splitting, zooming, tab switching and OSC 52 copy. The README explicitly positions Dory as neither a new flow-skill nor flow-deck — each product keeps its own role, a product boundary stated up front.
Key Features
- Layered desk: windows → tabs → live terminal panes, navigated via
Ctrl-b h/j/k/l - PTYs survive UI exit;
dory server stopis what actually ends the work - New tabs inherit the focused pane's cwd; new windows follow the launch directory
- Drag-select of 2+ cells copies via OSC 52 with footer confirmation
dory attach --plainand the occupant CLI (DORY_ENV=1) for sidebar-less workflows- Browser session journal via the lamp, officially published on npm
Status
The README describes an "early public tree": no downloadable desk binary yet (build from Rust source), Windows CI only posts a notice rather than testing the desk, and Darwin done/idle classification is not implemented. Contributions are welcome via CONTRIBUTING.md.