Learns what you leave unsaid in your prompts from messy turns and your own corrections, and injects the learned directives into the system prompt of every new conversation; the directives are editable in Settings and a composer button rewrites the current draft with them.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-tacit
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:hackernotfound/dsh-tacit
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
You keep writing prompts the way you already do. Tacit watches how each turn actually went — retries, tool errors, and above all the message you send when the agent got it wrong — and turns your habits into a few directives the agent follows in every new conversation. No clicks, $0.001–0.003 per lesson.
you: "make the login page better"
agent: …stumbles…
you: "no, I meant the Next.js app under apps/web"
Tacit: learns → "The user often omits which app they mean — check apps/web first."
injects it into every later conversation's system prompt.
You never have to say it again.
Install — 30 seconds
npx @deepseek-ai/dsh plugin --profile web add dsh-tacit
If dsh is already installed globally, dsh plugin --profile web add dsh-tacit
is the equivalent shorthand.
Start (or restart) with npx @deepseek-ai/dsh web, then refresh the page.
Optional kick-start: Settings → Tacit →
Learn from my last 20 turns (≈ $0.02–0.05, once).
Requires DeepSeek Harness >= 0.1.1-rc.1, Node >= 22, and a DeepSeek API key
already configured in the harness (Tacit never reads it).
What you get
| What | Cost | |
|---|---|---|
| Zero-click learning | messy turns and your own corrections are analyzed in the background, with the previous turn as context; automatic analyses are capped per day (30 by default) | $0.001–0.003 each |
| Directives that earn their place | learned directives are injected as a short system-prompt section you can read, edit, toggle or delete; a new one goes on trial (one per scope at a time) and is retired if you start correcting the agent more often | free |
| ✨ Improve | a composer button that rewrites your current draft using what Tacit has learned, with a before/after preview and 👍/👎 | $0.001–0.002 per click |
| Measured, not guessed | Settings shows your real trend — how often you correct the agent, messy-turn rate and tokens per turn, first 20 turns vs. latest 20 — and Tacit's own spend: every call metered and priced at list price, shown in Settings | free |
How it works
- Tacit keeps a small, bounded digest of every turn: the prompt, what tools ran, what went wrong, how it ended.
- When a turn ends messy, or your next message reads as a correction, one small
deepseek-v4-flashcall analyzes that prompt and records what was missing. - Every few analyses, one more call distills the findings into 1–4 one-sentence directives for the agent. Each new directive is on trial for 10 turns.
- The directives become a ~300-token section of the system prompt in every new conversation. The exact text is visible in Settings; only clipped digests of your turns ever leave the machine.
The full walkthrough with every number and a diagram: How it works.
Privacy & cost, in one paragraph
Tacit never sees your API key (every call goes through the harness's own model
service), only calls the allowlisted official models over your session's own
provider route, keeps reports and directives in ~/.dsh/storages/tacit/, refuses
cross-site requests to its own routes, and never deletes anything but its own
reports and expired usage files. Credential-shaped strings in what it captures —
API keys, tokens, JWTs, private-key blocks — are masked before anything is
stored or sent. Dollar figures are estimates at list price; a cost plugin such as
dsh-cost-meter shows the real number. The full data-flow and cost tables, and
the honest list of limitations:
Privacy, cost & limitations.
Help shape Tacit
Tacit works and I use it every day — but so far it has learned from one person's prompts. It gets better with more of them.
- Try it and say what feels wrong. A directive that misfires, a cost that surprised you, a label that reads oddly: open an issue. Two minutes of your time beats a week of my guessing.
- Pick up a task. Issues tagged
good first issueare small and come with acceptance criteria;help wantedones are bigger and I will pair on the design. - Ask anything in Discussions.
PRs are welcome — the fork → branch → PR walkthrough is in CONTRIBUTING.md. No API key is needed to run the tests.
Documentation
| Getting started | install, check it's on, bootstrap, where things are in the UI, troubleshooting |
| How it works | the pipeline step by step, with a diagram and a glossary |
| Privacy, cost & limitations | what stays local, what is sent, what each call costs, what it can't do yet |
| Configuration | every setting, defaults and ranges |
| Architecture | for contributors: modules, hooks, routes, storage |
| Contributing · Changelog |
MIT © hackernotfound
Links
More in this category
loopx-project/loopx#dsh-loopx-plugin★ 6265
LoopX, a provider-neutral, local-first state kernel and control plane for long-horizon agents: keeps Goal, Todo, gate, evidence, quota, recovery, and handoff state above DeepSeek Harness, while the plugin bootstraps the CLI and skills, admits bounded same-session continuation, and adds a loopback GoalBar for the exact bound loop.
Q00/ouroboros#integrations/dsh-plugin★ 6211
Config-only bundle that mounts Ouroboros through the DSH MCP client, exposing 36 interview, Seed, execution, evaluation, and evolution workflow tools in DSH.
chuspeeism/dashi-taskboard#deepseek-harness★ 3339
Embeds the active installed Codex Taskboard runtime in the DeepSeek Harness sidebar, using its launcher runtime descriptor instead of a fixed port.
NanmiCoder/dsh-agent-teams★ 2064
AgentTeams multi-agent teams.
EthanYoQ/AI-Novel-Writer#dsh-ai-novel-writer★ 1426
Installs a dedicated AI novel-writing preset and workbench: revisioned local project assets, a compact side drawer, and native approval-gated single-file changes.
tong-io/tongflow#dsh-tongflow★ 1045
TongFlow film-crew studio for image, voice, music and video production: the agent writes per-asset TongFlow workflow files (.tongflow.json) that run through TongFlow plugins, with an embedded workflow canvas, a shot/character/take project layout and a manga-drama template; sessions starting with @tongflow open the Studio view.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.