v0.51.7
Ouroboros now installs into DeepSeek Harness in one command
Ouroboros already spoke to DeepSeek in one direction: --llm-backend dsh points the interview/Seed/QA pipeline at DeepSeek's own models. This release answers the other direction — how a DeepSeek Harness user mounts Ouroboros — and replaces the hand-copied --patch overlay with a real, installable bundle:
dsh plugin --profile <your-profile> add "github:Q00/ouroboros#main&path:integrations/dsh-plugin"Type ooo interview <goal> or ooo auto <goal> in a dsh chat afterward and the model finds the matching tool on its own — all 36 Ouroboros MCP tools register as mcp__ouroboros__*. The bundle ships no plugin code: it is one @deepseek-ai/dsh-mcp-client row spawning uvx --from 'ouroboros-ai[mcp]' ouroboros mcp serve over stdio, so uv on PATH is the only prerequisite.
Three boundary facts the bundle gets right, each traced into a running dsh rather than assumed:
- Credentials do not travel implicitly. dsh scrubs every credential-shaped name (
/KEY|PASSWORD|SECRET|TOKEN/i) out of a child process by design, and a plugin's explicitenvlayer merges after that scrub. The bundle names a short allowlist (ANTHROPIC_API_KEY,DEEPSEEK_API_KEY) instead of a wildcard passthrough, and documents how to forward one more from your own profile. OUROBOROS_LLM_BACKEND=dshis not a one-variable switch. Ouroboros spawns its owndsh-acp-demochild, which fails closed unlessOUROBOROS_DSH_CONFIG_PATHnames an absolute composition. Both prerequisites now reach the child, and the full procedure is documented rather than implied.- Startup recovery is honest. A machine without
uvstill boots dsh with every other plugin working — but the published mcp-client has no reconnect loop, and the current one gives up after a bounded attempt budget, so the README says "reload the plugin or restart dsh" instead of promising backoff.
ooo update refreshes both hosts together
--runtime all upgrades the Ouroboros Codex marketplace and refreshes the Claude plugin in one pass, then runs ouroboros setup refresh for the installed artifacts. Your configured execution backend is preserved rather than silently reassigned to whichever host was refreshed last. The restart contract is documented too: Claude reloads plugins in place, while an active Codex session has to restart.
What's Changed
- feat(update): refresh Claude and Codex integrations together by @dj-wishket in #2112
- feat(integrations): add installable dsh plugin for Ouroboros by @Q00 in #2158
Full Changelog: v0.51.6...v0.51.7