2nd dokployH
Find a file
2026-07-23 15:20:47 +08:00
.agents Add web multimodal image attachments 2026-07-23 15:20:47 +08:00
.claude docs: accuracy sweep, architecture restructure, two ADRs, review skill 2026-06-13 22:05:34 +08:00
.github refactor(vitest): resolve every lane through the tsconfig.base.json facade 2026-07-23 03:59:06 +08:00
apps Add web multimodal image attachments 2026-07-23 15:20:47 +08:00
bin feat(cli): dsh CLI with personal config overlays from ~/.config/dsh 2026-07-22 14:29:28 +08:00
docs Add web multimodal image attachments 2026-07-23 15:20:47 +08:00
examples Merge remote-tracking branch 'origin/master' into worktree/pr468-retarget-latest-master 2026-07-22 23:17:02 +08:00
native docs(landlock-run): align source and release guidance 2026-07-20 12:25:43 +08:00
packages Add web multimodal image attachments 2026-07-23 15:20:47 +08:00
python Add web multimodal image attachments 2026-07-23 15:20:47 +08:00
scripts Add web multimodal image attachments 2026-07-23 15:20:47 +08:00
skills/create-dsh-sdk-project Remove the stdio agent 2026-07-20 19:26:04 +08:00
vendor chore: extract vendored Cordis hot-reload fix 2026-07-22 17:30:45 +08:00
website Merge commit 'refs/codex-unblock/2026-07-23/base-511' into HEAD 2026-07-23 10:14:06 +08:00
.editorconfig Declare LF and final-newline conventions in .editorconfig 2026-07-15 16:09:12 +08:00
.gitattributes Pin LF working trees via .gitattributes 2026-07-15 16:09:12 +08:00
.gitignore feat(gui): step1 skeleton — dsc web serves built web UI over booted harness host 2026-07-22 16:24:44 +08:00
.gitlab-ci.yml python: derive release version from repository 2026-07-13 17:49:01 +08:00
.jscpd.json chore: tighten TypeScript duplication lint 2026-07-14 00:24:04 +08:00
AGENTS.md docs(ts): document the solution-root TypeScript project layout 2026-07-23 03:59:35 +08:00
CLAUDE.md Initialize repo with README, AGENTS.md, and CLAUDE.md symlink 2026-06-10 22:58:56 +08:00
eslint.config.mjs refactor(vitest): resolve every lane through the tsconfig.base.json facade 2026-07-23 03:59:06 +08:00
knip.json Add web multimodal image attachments 2026-07-23 15:20:47 +08:00
lefthook.yml refactor(tsconfig): single root solution graph over host/client aggregates 2026-07-23 03:59:05 +08:00
LICENSE Initialize repo with README, AGENTS.md, and CLAUDE.md symlink 2026-06-10 22:58:56 +08:00
package.json refactor(tsconfig): single root solution graph over host/client aggregates 2026-07-23 03:59:05 +08:00
pnpm-lock.yaml Add web multimodal image attachments 2026-07-23 15:20:47 +08:00
pnpm-workspace.yaml Merge latest master through rfc/pty into feature/persistent-pty-sessions 2026-07-22 21:21:58 +08:00
pytest.ini Merge remote-tracking branch 'origin/master' into codex/trim-ai-prose 2026-07-14 00:40:36 +08:00
README.i18n.yaml docs: regenerate catalogs, graphs, and the README pairing record after the rebase 2026-07-22 14:30:01 +08:00
README.md Retire the readline front door and the repl-agent example 2026-07-22 14:29:27 +08:00
README.zh.md Retire the readline front door and the repl-agent example 2026-07-22 14:29:27 +08:00
tsconfig.base.client.json refactor(tsconfig): single root solution graph over host/client aggregates 2026-07-23 03:59:05 +08:00
tsconfig.base.json Add web multimodal image attachments 2026-07-23 15:20:47 +08:00
tsconfig.client.json refactor(tsconfig): single root solution graph over host/client aggregates 2026-07-23 03:59:05 +08:00
tsconfig.host.json refactor(tsconfig): single root solution graph over host/client aggregates 2026-07-23 03:59:05 +08:00
tsconfig.json refactor(tsconfig): single root solution graph over host/client aggregates 2026-07-23 03:59:05 +08:00
tsdown.config.ts refactor(tsconfig): single root solution graph over host/client aggregates 2026-07-23 03:59:05 +08:00
vitest.config.ts refactor(vitest): resolve every lane through the tsconfig.base.json facade 2026-07-23 03:59:06 +08:00
vitest.e2e.config.ts refactor(vitest): resolve every lane through the tsconfig.base.json facade 2026-07-23 03:59:06 +08:00
vitest.snapshot.config.ts refactor(vitest): resolve every lane through the tsconfig.base.json facade 2026-07-23 03:59:06 +08:00
vitest.web.config.ts refactor(vitest): resolve every lane through the tsconfig.base.json facade 2026-07-23 03:59:06 +08:00

DeepSeek Harness

English | 中文

The DeepSeek Harness SDK is a plugin-based SDK for building agent harnesses.

Install

Install the dsh coding agent with one line — it needs git and Node ^22.19 || >=24, and offers to install pnpm if it is missing:

curl -fsSL https://raw.githubusercontent.com/deepseek-harness/deepseek-harness/master/scripts/install.sh | sh

It clones the harness to ~/.dsh/source, runs pnpm install, symlinks dsh into ~/.local/bin (offering to add it to your PATH), prompts once for your DEEPSEEK_API_KEY, and launches dsh; re-running it updates an existing checkout. Run from inside a checkout (sh scripts/install.sh) it reuses that checkout and skips the clone. The overridable DSH_* variables are documented in scripts/install.sh.

Development

This monorepo is built on the Cordis framework (vendored as source under vendor/), microkernel-style: everything is a plugin.

pnpm install
pnpm run test          # vitest
# Agent demos require DEEPSEEK_API_KEY.
pnpm run demo:tui      # full-screen TUI coding agent
pnpm run demo:headless "task" # one-shot coding agent
pnpm run demo:cordis   # self-referential agent demo
pnpm run demo:acp      # ACP server agent demo

For humans, start with the development guide for local setup, hooks, environment variables, and quality gates, then read the architecture design and documentation graph index before package work. Local context lives in packages/ and vendor/.

For agents, follow AGENTS.md.