dsh-tacit

workflowinstall failsnpmMIT

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.

下载量 / Downloads
764
测试时间 / Tested
2026-11-07
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add dsh-tacit

Sandbox test results

StageResult
1 install✗
2 list—
3 mount—
4 boot—
First error
dsh: initialized profile web at /home/node/.dsh/profiles/web

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

<h1 align="center">Tacit</h1>

<p align="center"><b>Learns what you leave unsaid in your prompts — and tells the agent for you.</b><br>

A plugin for <a href="https://www.npmjs.com/package/@deepseek-ai/dsh">DeepSeek Harness</a>.</p>

<p align="center">

<a href="https://www.npmjs.com/package/dsh-tacit"><img alt="npm" src="https://img.shields.io/npm/v/dsh-tacit"></a>

<a href="https://github.com/hackernotfound/dsh-tacit/actions/workflows/test.yml"><img alt="test" src="https://github.com/hackernotfound/dsh-tacit/actions/workflows/test.yml/badge.svg"></a>

<a href="https://github.com/hackernotfound/dsh-tacit/blob/main/LICENSE"><img alt="MIT" src="https://img.shields.io/badge/license-MIT-blue"></a>

<a href="https://github.com/hackernotfound/dsh-tacit/blob/main/docs/README.zh.md">中文</a>

</p>

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.

<p align="center">

<img alt="Install Tacit, open its conversation tab, review learning controls, and edit the directive it gives the agent" src="https://raw.githubusercontent.com/hackernotfound/dsh-tacit/main/docs/assets/tacit-demo.gif" width="960">

</p>

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

<p align="center">

<img alt="Settings → Tacit: the Overview card with automatic learning status and the Usage card with spend tiles, a daily spend chart, spend by operation and the run list" src="https://raw.githubusercontent.com/hackernotfound/dsh-tacit/main/docs/assets/tacit-settings.png" width="960">

</p>

<p align="center"><sub>Settings → Tacit with Overview and Usage expanded, captured from a clean local profile seeded with synthetic runs and directives.</sub></p>

How it works

1. Tacit keeps a small, bounded digest of every turn: the prompt, what tools ran,

what went wrong, how it ended.

2. When a turn ends messy, or your next message reads as a correction, one small

deepseek-v4-flash call analyzes that prompt and records what was missing.

3. 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.

4. 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 issue

are small and come with acceptance criteria;

help wanted

ones are bigger and I will pair on the design.

  • Ask anything in

[Discussions](https://github.com

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::9,最后更新 2026-09-01

Links

GitHub · Homepage · npm

Same category