2.6 KiB
omp-advisor
oh-my-pi's advisor for the DeepSeek Harness (DSH). A second model reads every step the main agent takes and adds notes inline: a quiet aside, a concern, or a hard blocker. It runs on its own context and can use its own model, so it catches what the main agent misses while focused on the task.
How it works
- When it reviews: after each completed step (the agent's message, tool calls and tool results). It gets a compact digest of the conversation: the task at the head, the latest steps at the tail, and long tool output clipped. The digest also lists the advice it already gave, so it doesn't repeat itself.
- What it answers:
{"verdict": "ok" | "note" | "concern" | "blocker", "message": "…"}.okis the common case, and nothing is shown. - How advice reaches the agent:
- note / concern is appended to the agent's next request as a system reminder.
- blocker gets the same reminder, marked stop and address this. If it arrives as the agent tries to end its turn, the advisor steers the agent into one more step to deal with it.
- Cost to the main loop: reviews run in the background and add no latency, unless you set
blocking: true. - Subagents: skipped by default (
skipSubagents).
Blockers are for real damage or clear wrong turns: destructive commands, secret leaks, pushing broken code, ignoring explicit instructions, going in circles. Concerns cover likely bugs, wrong assumptions, unverified claims, or a much better approach.
Installation
dsh plugin --profile web add git+https://git.rizzy.dev/DSH-Plugins/omp-advisor.git
Or in the Web UI, go to Settings → Plugins → Install. For development, use link: to a clone. Restart DSH afterwards; new sessions are advised automatically.
Configuration
- id: omp-advisor
config:
enabled: true
provider: '' # advisor model route; empty = same as the agent
model: '' # e.g. provider: omni, model: claude-haiku-4-5 for a cheap fast reviewer
reasoningEffort: '' # optional effort for the advisor model
minLevel: note # lowest verdict delivered: note | concern | blocker
everyNSteps: 1 # review every Nth step
blocking: false # true = wait for each review before the next request
maxDigestChars: 24000
maxToolResultChars: 1500
timeoutMs: 60000
skipSubagents: true
To pause it, disable the plugin in Settings → Plugins → OMP Advisor.
Tests
npm test: verdict parsing, injection, ok-silence, blocker steering, minLevel and duplicate suppression (mocked model).