The question composer card is capped against the viewport and scrolls its option list. `.options` is a flex column whose children defaulted to `flex-shrink: 1`, so a short seat shrank the rows before overflowing the scroll container: a row collapsed to its 42px minimum while `.optionCopy` kept the taller height its wrapped copy needs, and `align-items: center` then painted that copy outside the row's border box — over the question title above and the next row below. Measured 6.5px of spill at 900x440 on the shipped client, 10px at 380px tall, with `.options` reporting scrollHeight === clientHeight and therefore offering no scrollbar. `.option` and `.custom` now declare `flex-shrink: 0`, so the shortfall reaches the scroll container that already owns `overflow-y: auto` — the behavior the cap was designed for. Only rows whose copy wraps could reproduce this, which is why the recorded scenario now asks a question with long option descriptions; the web e2e asserts at three squeezed seat heights that every row's children stay inside its border box, guarded against holding vacuously by requiring a wrapped row and a scrolling list.
DeepSeek Harness
English | 中文
DeepSeek Harness (dsh) is an open-source coding agent built on the DeepSeek Harness SDK.
It uses an architecture where everything is a plugin.
Install
Install dsh with one command:
curl -fsSL https://raw.githubusercontent.com/deepseek-harness/deepseek-harness/master/scripts/install.sh | sh
The installer requires git and Node ^22.19 || >=24, offers to install pnpm when it is missing, and prompts for a DeepSeek API key.
The installer clones DeepSeek Harness to ~/.dsh/source, links dsh into ~/.local/bin, and launches it. Re-running the command updates the checkout. See scripts/install.sh for alternate install locations and other options.
Use DeepSeek Harness
Web UI
For the recommended local interface, build the frontend after installation and after each update, then start the Web UI:
pnpm --dir ~/.dsh/source run build && pnpm --dir ~/.dsh/source run build:web
dsh web
The Web UI is served at http://127.0.0.1:3080 by default.
TUI
Start the full-screen terminal interface:
dsh
Headless
Run one task, print the final answer, and exit:
dsh -p "summarize this workspace"
Why DeepSeek Harness
Built-in capabilities cover file reading, editing, and search; shell execution; reusable skills; task tracking; subagents and workflows; persistent sessions; and context compaction. The TUI also includes Plan Mode.
- Everything is a plugin. Models, tools, policies, storage, context management, and interfaces are composable Cordis plugins, so deployments can extend or replace behavior without forking the agent loop. See the architecture for the underlying design.
- Code Mode (opt-in). It exposes a
run_codetool and a generated TypeScript SDK; only program output re-enters model context. See Code Mode. - Self-referential Cordis tools are opt-in. They let the agent inspect its live runtime and mount or unmount plugins while it runs. See the Cordis tools.
Community
Follow DeepSeek Harness on Twitter for project updates.
Development
pnpm install
pnpm run test:coverage
Start with the development guide and read the architecture before changing packages.
For agents, follow AGENTS.md.
DeepSeek Harness is currently pre-release.