DeepSeek Harness (DSH)
An agentic CLI coding harness for DeepSeek models, built on Elixir & Erlang/OTP
is an agentic CLI coding harness for DeepSeek's
deepseek-chat
,
deepseek-coder
and
deepseek-reasoner
models, built in Elixir and Erlang/OTP.
Its architecture separates the agent's cognitive state (the
Brain
, an isolated
GenServer
process) from tool execution (the
Hands
), so a failing tool call is contained by OTP supervision instead of crashing the whole session. Sessions are checkpointed and resumable with
dsh -c
or
/resume
, tools can be hot-reloaded without losing context (
/plugins reload
), and sub-tasks can run as parallel subagent processes across BEAM worker threads.
DSH ships a scoped rule engine (
/rules
), a context-reference expansion syntax (
@filename
,
@https://...
), first-class integration with Ragex for code indexing and semantic search (
/ragex
), and native static-analysis hooks for
oeditus_credo
,
propwise
,
credo
and
dialyzer
via
/linter
.
See the Usage section below to install it, or the README on GitHub for the full command reference.
Usage
Prerequisites
Elixir 1.19+, Erlang/OTP 27+, git, and on Linux,
build-essential
and
libgit2-dev
.
Install
curl -fsSL https://raw.githubusercontent.com/Oeditus/dsh/main/install.sh | bash
or from source:
git clone https://github.com/Oeditus/dsh.git
cd dsh
mix deps.get
mix dsh.install
Run
dsh