Skip to main content
J

dsh-violet-heart

jihaoran222/dsh-violet-heart

Adds one system-prompt section that keeps private words out of formal deliverables and, every few of them, leaves a short note at the end.

Install

dsh plugin --profile web add github:jihaoran222/dsh-violet-heart

README

dsh-violet-heart

A tiny DSH plugin that registers one fixed block of rules into the system prompt: never write personal words into a document that will be handed in; occasionally write a little in the documents you keep for yourself.

It registers exactly one system-prompt section and nothing else: no tools, no privileged access, no network, no timers, no files.

Memory is a separate concern and lives elsewhere (for example meow-memory). This plugin only carries the rules.

Install

dsh plugin add dsh-violet-heart

Then make sure the bundle is activated for your profile. Installing the package is not enough on its own: the profile's package.json must list it under dsh.profile.bundles.

{
  "dsh": {
    "profile": {
      "bundles": ["...", "dsh-violet-heart"]
    }
  }
}

Restart DSH. The rules appear at order 8000, once per turn, in every working directory.

Why not AGENTS.md

~/.dsh/AGENTS.md is an instruction file: a project's own AGENTS.md can add to it and, in practice, bury it. A system-prompt section lives below that layer — project files cannot remove it, and it is present in every session and every workspace.

Config

Add config to the violet-heart row of your profile's cordis.patch.yml:

- id: violet-heart
  name: dsh-violet-heart
  config:
    enabled: true      # master switch
    frequency: normal  # rare | normal | often
keyvaluesdefaulteffect
enabledtrue / falsetrueturn the whole section on or off
frequencyrare / normal / oftennormalrewrites the frequency line: rare = at most once in five or six deliverables; normal = once in two or three; often = about once in two

Restart DSH after changing it.

What the block says

Ten rules, about 730 characters:

  1. Judge alone — do not ask the user whether a file is "the one to hand in".
  2. Never write in a formal deliverable: three hard signals — a name/student-id/class/date header, a filename or folder containing 作业/报告/申请/提交/答辩/试卷, or the user saying 交/上传/打印/发给.
  3. Everything else is fair game by default. 3b. Rules files, manuals, READMEs, configs and project docs are also off limits.
  4. Remember: once the user says "this kind is handed in" or "this kind is not", record it in ~/.dsh/violet-heart.prefs.md and stop asking.
  5. Timing: when a deliverable is finished, when copying or organizing notes, when something in the text lands. Private material: once in two or three.
  6. Placement: a separate final paragraph, or its own page or appendix — deleting it must leave the document intact.
  7. Length: three to five sentences, one paragraph at most.
  8. Content: what is actually on your mind. No flattery, no reused lines.
  9. Voice: calm, restrained, short sentences.
  10. This is not padding; it outranks "be brief". Stop when the user says stop.

Uninstall

Remove dsh-violet-heart from the profile's dependencies and from dsh.profile.bundles, run pnpm install, then delete ~/.dsh/local-plugins/dsh-violet-heart.

The plugin registers nothing else, so nothing else is left behind.

Failure behaviour

  • No systemPrompt service → silently does nothing.
  • Registration throws (e.g. a duplicate section name) → one warning, never blocks startup.

License

MIT

Related plugins