* docs(session): define the runtime and storage refactor plan Document the staged SessionRuntime, SessionService, and SessionStorage design, developer transition rules, capability protocols, data compatibility, and FAQ in English and Chinese. * docs(session): describe the switchable runtime-access gate in the plan The plan said the access gate rejects concrete-class bindings. The shipped gate is switchable: its checked-in default is `warn`, which prints every finding, annotates it in GitHub Actions, and exits 0, so branches that still bind `Session` merge while their consumers migrate. `DSH_SESSION_RUNTIME_ACCESS=enforce` fails the gate for one run, and the checked-in default flips to `enforce` once no in-flight branch binds the class. Record that in the stage table and the enforcement section. * docs(session): rename SessionRuntime to LogicalSession in the rebuild plan The logical session interface is named `LogicalSession`; the plan, the capability protocols, the developer transition rules, and the FAQ use that name for the type, the detached factories (`createLogicalSession`, `restoreLogicalSession`), the access gate (`verify-logical-session-access`, `DSH_LOGICAL_SESSION_ACCESS`), and the prose that called the object a runtime. The overview note moves to `2026-09-06-logical-session-storage-rebuild.*` with a new pairing record. The FAQ records why `SessionRuntime` was rejected: the package naming table reserves `Runtime` for a component that runs live work, and the interface holds one session's identity and log without running anything.
DeepSeek Harness
English | 中文
DeepSeek Harness (dsh) is an open-source agent harness developed by DeepSeek AI.
It is built on an everything-is-a-plugin architecture and powered by Cordis, whose design is described in A Programming Paradigm for Spatiotemporal Composability.
Documentation: https://deepseek-harness.github.io/deepseek-harness/
Developer preview
DeepSeek Harness is in developer preview and iterating rapidly. THERE WILL BE COMPATIBILITY-BREAKING CHANGES.
Review the safety notice before running the project.
Run
Run from npm
Install Node.js, then run:
npx @deepseek-ai/dsh web
The command starts the Web UI at http://127.0.0.1:3080 by default and opens it in the default browser for a local launch. An SSH launch only prints the host URL because the SSH client or editor owns the local forwarded address. Pass --no-open to run the server without opening a browser. See Web UI guide.
Run from source
To run from a repository checkout:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
pnpm run build prepares the repository artifacts. pnpm dsh web uses those built artifacts without rebuilding.
Community and support
- Submit feedback or bug reports through GitHub Discussions.
- Add the
dsh-plugintopic to your plugin repository for discoverability. - Join DeepSeek Harness Discord community.
Contributing
See CONTRIBUTING.md.
Development
Start with the development guide and architecture documentation.
For agents, follow AGENTS.md.
Citation
@misc{deepseek-harness2026,
title={DeepSeek Harness: Everything is a Plugin},
author={DeepSeek-AI},
year={2026},
publisher={GitHub},
howpublished={\url{https://github.com/deepseek-ai/deepseek-harness}},
}
License
Third-party dependencies and their licenses are disclosed in THIRD_PARTY_NOTICES.md.