Skip to content

omdsh-dev/dsh-advisor

112Last commit Aug 16, 2026

dsh-advisor DSH plugin

dsh-advisor ports the omp 'advisor' subsystem into DSH, providing a separate model call that reviews each stepped turn of the primary agent. It injects severity-ranked advice (nit, concern, blocker) back into the session without polluting or recursively reviewing itself. The advisor is off by default and requires explicit provider and model configuration.

How to install the dsh-advisor DSH plugin

dsh plugin --profile web add dsh-advisor      # web profile (Settings → Advisor card

Copying does not run this command. Review the repository and version before installing the dsh-advisor DSH plugin.

dsh-advisor DSH plugin data source

dsh-advisor DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-advisor DSH plugin can do

  • Independent reviewer per session: a separate model call observes the primary transcript, with advisor messages excluded from later deltas.
  • Severity-ranked advice: delivers nit (minor suggestion), concern (material risk), or blocker (fundamentally unsound) via inject/steer semantics.
  • Explicit model gate: enabled defaults to off; enabled: true without provider+model never starts a model call, with a clear disabled-with-reason status.
  • No-stall failure policy: a failing or quota-limited advisor only drops its bounded backlog, never parking or polluting the primary loop.
  • Session-scoped controls: /advisor on|off|status|config commands work per session, with ephemeral toggles that never persist to config.

Where the dsh-advisor DSH plugin fits

  • Catching logical errors or contradictions in the primary agent's responses before they are sent to the user.
  • Providing style and clarity suggestions to improve the quality of AI-generated messages.
  • Acting as a second pair of eyes in complex multi-turn conversations to prevent the agent from going in circles.
  • Enforcing compliance with explicit user instructions by flagging deviations as blockers.

Who the dsh-advisor DSH plugin is for

  • DSH users who want an automated quality review layer in their AI sessions.
  • Developers and power users who need to ensure AI outputs meet specific standards without manual oversight.

dsh-advisor DSH plugin limitations

  • Single advisor per session: no parallel advisor roster or WATCHDOG-style file discovery.
  • No advisor tools: the reviewer is an independent model call only; it cannot verify claims itself.
  • No in-session advisor panel: advice surfaces only as tagged injected messages; the web Advisor card is a config surface, not a session view.
  • No transcript persistence or cost stats: no resumable advisor history or cost observability.
  • No secret obfuscation of delta content: secrets present in the transcript can reach the advisor model.
  • No quarantine of unsafe advisor output: a misbehaving note can carry directive text; the JSON frame + validation + advisory-only framing are the only mitigation.
  • No syncBacklog catch-up wait: a far-behind advisor does not wait for the primary loop; its backlog is bounded and dropped, so notes may arrive after the next primary turn started.
  • Bounded advisor context: long-session full replays are truncated (maxDeltaMessages), so the advisor may lose early context after compaction.

dsh-advisor DSH plugin: from the repository README

Quoted from the omdsh-dev/dsh-advisor README, the upstream source of the dsh-advisor DSH plugin. Copyright remains with the original authors.

A standalone dsh (DeepSeek Harness) plugin bundle porting the omp "advisor" subsystem: a per-session independent reviewer model that observes the primary transcript, reviews each stepped turn with an explicitly configured model (provider + model are required), and injects severity-ranked advice (nit / concern / blocker) back into the session — without polluting or recursively reviewing itself. **Advisory only.** The advisor never approves or rejects the primary agent's actions, and never issues commands as if it were the primary agent. Every delivered message is self-described advisory content, and a misbehaving reviewer is bounded end to end (emission guard, immuneTurns cooldown, failure policy) so it can never stall or pollute the primary loop. Works in both dsh front ends: the **web** profile (Settings → 插件配置 → Advisor card) and the **dsh-tui** terminal profile (`/advisor` + `/advisor config`). ## Quick start ### Install ```sh dsh plugin --profile web add dsh-advisor # web profile (Settings → Advisor card) dsh plugin --profile dsh-tui add dsh-advisor # dsh-tui terminal profile ``` Same plugin, either front end — the only difference is the `--profile` flag. Pin a vers

Read the full READMERepository license: MIT

dsh-advisor DSH plugin questions

How do I enable the advisor in my DSH session?

First install the plugin with `dsh plugin --profile web add dsh-advisor` (or the TUI profile). Then add an `advisor` section to your `$DSH_HOME/settings.yaml` with `enabled: true`, `provider`, and `model`. You can also use the `/advisor on` command in-session to enable it temporarily.

What happens if I don't set provider and model?

The advisor will not start a model call. When `enabled: true` is set without both `provider` and `model`, the status reports as disabled-with-reason. This is a hard gate to prevent accidental misconfiguration.

Can the advisor modify the session or execute commands?

No. The advisor is advisory only. It never approves or rejects actions, and never issues commands. It only injects advisory messages with severity labels (nit, concern, blocker). The deliver mechanisms are inject/steer which are non-destructive.

Does the advisor review its own advice?

No. Advisor messages are excluded from later deltas, so the advisor never reads its own advice back. This prevents recursive self-review and pollution of the primary loop.

How do I check the advisor status in my session?

Use the `/advisor status` command. It will show the current state (enabled/disabled), model in use, runtime status, pending advisory count, and last activity. You can also toggle it with `/advisor on` or `/advisor off`.