跳到主要内容

dsh-simple-english

已验证

dsh-simple-english · v0.2.0 · MIT · Web 界面

DSH plugin: a global, persisted Simple English (ASD-STE100 pragmatic) toggle — composer chip + Settings > General row — that injects the writing rules into every model step.

安装

dsh plugin add dsh-simple-english

用 dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南。

源码

发布到 npm 但没有公开仓库。安装前请检查包内容。

标签

说明文档

DSH Simple English

A DSH plugin that adds a global, persisted Simple English toggle: when on, every model reply in every session of this machine is written in ASD-STE100 Simplified Technical English (pragmatic mode), adapted from the MIT-licensed AminBlg/SimpleEnglish agent skill.

Where the toggle lives

  • Composer (tool row, left) — a chip labeled Simple English: On/Off (conversation.input.left), always visible while typing.
  • Settings → General — a preference row with the same toggle (settings.general.item), beside Language and Appearance.

Both seats read and write the same persisted state, so they are always synchronized — with each other, across sessions, and across restarts.

How it works (v2 — static profile plugin)

Three host contributions and one browser half:

  1. Settings namespace simple-english (installSettingsSection) — the persisted owner of { enabled }, stored in ~/.dsh/settings.yaml. Layers schema defaults, the composition base, and the user document, in that order.
  2. Prompt section simple-english-mode (systemPrompt.section, order 10 — after the persona at 0, before tool guidance at 100+) — text is re-evaluated at each assembly: rules digest when on, empty string when off (renderPrompt drops empty sections, so "off" leaves no residue). Because the section lives in the host composition, it applies to every session of the process.
  3. Bridge routes /api/dsh-simple-english/{describe,mutate} (webServer.register) — loopback-guarded JSON surface the browser half polls.
  4. Client half (lib/client.js, a __ModuleLoader__ module) — the two toggle seats, sharing one bridge client. CSS ships through one <style data-plugin-css> tag; colors use the host's --dsw-alias-* tokens, so both themes render correctly.

Toggle flips re-shape the next model step of every session (assembly is per-step); they do not rewrite a response that is already in flight.

Install (into a DSH profile)

From this repository's directory, or after cloning it anywhere:

dsh plugin --profile web add dsh-simple-english

The command appends dsh-simple-english to dsh.profile.bundles and merges the package's cordis.patch.yml row. For a local checkout (this repo), keep the link: dependency that pnpm records — the workspace carries its own devDependencies so the peer imports resolve.

Files

  • lib/index.js — Host half: settings namespace, prompt section, bridge routes.
  • lib/client.js — Browser half: composer chip + Settings > General row.
  • cordis.patch.yml — the bundle patch row (id: simple-english).
  • dynamic/ — the earlier v1 dynamic-plugin bodies (host.js / client.js), kept for reference. The v1 toggle was session-local and process-local; v2 supersedes it (global + persisted). To re-run the v1 form, use cordis_define / cordis_run with those bodies.

Toggle the behavior on/off by hand

The state is a normal settings section — it can also be edited directly in ~/.dsh/settings.yaml:

simple-english:
  enabled: true

A settings change fires onChange, the prompt section re-registers, and the next model step picks up the new value.

Customize the digest

To use the full skill text (≈ 3 000 tokens per step) instead of the condensed digest, replace STE_RULES_DIGEST in lib/index.js with the body of skills/simple-english/SKILL.md and restart DSH.

Credits

Skill rules adapted under MIT License from AminBlg/SimpleEnglish (ASD-STE100 Issue 9, 2025-01-15).