편집자 노트

tevenfeng/dsh-plugin-omoslim

DeepSeek Harness bundle: oh-my-opencode-slim style Orchestrator agent preset with model-pinned specialist subagents

이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.

업스트림에서 중국어 README를 제공하지 않아 저장소 원본 내용을 표시합니다.

dsh-plugin-omoslim

DeepSeek Harness (dsh) bundle that installs an Orchestrator agent preset in the style of oh-my-opencode-slim: the main agent plans and dispatches, and model-pinned specialist subagents do the work.

What you get

One agent preset, orchestrator:

  • Main agent = Orchestrator — a workflow manager persona (plan → dispatch → reconcile → verify), delegating instead of implementing.
  • 11 subagent tools, each with its own persona and pinned model (routed through the opencode-go pi-ai provider):
ToolRoleModel
subagentgeneric worker (background, continuable)inherit
subagent_forkforks parent contextinherit
subagent_explorerfast codebase navigation (read-only)deepseek-v4-flash
subagent_oraclearchitecture / review advisor (read-only)glm-5.2
subagent_librariandocs / external researchminimax-m2.7
subagent_designerfrontend UI/UXkimi-k2.6
subagent_fixerbounded implementationdeepseek-v4-flash
subagent_councillor_alpha/beta/gammaindependent multi-model reviewsglm-5.2 / kimi-k2.7-code / qwen3.7-max
subagent_councilmulti-model consensus synthesiskimi-k3

The models above mirror the OMO opencode preset found in ~/.config/opencode/oh-my-opencode-slim.json. The OMO council model gpt-5.6-luna is not in the opencode-go catalog, so kimi-k3 is used.

How it works

A dsh bundle is an npm package declaring "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }. This bundle's patch layer inserts one row: the preset-installer plugin. On boot the plugin installs/updates config/presets/* in the harness-home user preset root (~/.dsh/.agent-presets), which the agent-presets roster always scans.

Why install into the user root instead of registering a new root? The dsh launcher's composeProfile forcibly overwrites agent-presets.config.roots with the shipped root, so a bundle cannot contribute its own root. The user root is the supported extension path.

Model definitions are separated from the composition

Each subagent's model and persona live in different files on purpose — you are far more likely to tweak a model than a persona, and plugin updates should not clobber your model choices:

File (in the bundle)File (in ~/.dsh/.agent-presets/orchestrator/)What you edit
config/models.jsonmodels.jsonmodel mapping (copied on install; user-owned afterwards)
config/presets/orchestrator/agent.cordis.yml.tmplagent.cordis.yml (rendered)personas / tool wiring (generated from template)
.generatedrender stamp { renderedHash } (managed)

Every boot the plugin re-renders agent.cordis.yml from the current template

  • the current models.json. Rules:
  • Model change → edit models.json, restart dsh. Re-render happens.
  • Plugin update (new personas/wiring) → re-render happens on next boot; your models.json is never overwritten.
  • Hand-editing the composition → if you edit agent.cordis.yml directly, the plugin detects it (hash differs from the stamp) and leaves your file alone. You own it then; delete the preset directory to take plugin updates.

Install

# from the profile directory (web is the default profile)
dsh plugin --profile web add dsh-plugin-omoslim

dsh plugin forwards to pnpm and reconciles dsh.profile.bundles, so the package is both installed and activated as a bundle layer. Then restart the web app:

systemctl --user restart dsh-web
# or: restart your `dsh web` process

For local development instead of a published package:

# in ~/.dsh/profiles/web/
pnpm add file:/home/<you>/Coding/dsh-plugin-omoslim
# then add the package name to the "dsh.profile.bundles" array in package.json

Use

Open the web UI, start a new session and pick the orchestrator preset in Settings → General (it becomes the default only if you set it, or if ~/.dsh/settings.yaml has agent-presets.default: orchestrator). The main agent will plan and dispatch; the subagent tools appear in its tool catalog.

Uninstall / rollback

  1. Remove the bundle: dsh plugin --profile web remove dsh-plugin-omoslim (or drop the dependency + dsh.profile.bundles entry manually), restart.
  2. The preset files stay in ~/.dsh/.agent-presets/orchestrator/ — delete that directory to remove them, or keep it to keep using the preset without the plugin.

Customizing

  • Change a subagent's model → edit ~/.dsh/.agent-presets/orchestrator/models.json, restart dsh (or the dsh-web service). The plugin re-renders agent.cordis.yml on the next boot and your model mapping is never overwritten by plugin updates.

    { "oracle": "glm-5.2", "explorer": "deepseek-v4-flash", "...": "..." }
    
  • Change personas / tool wiring → edit the template in the bundle (config/presets/orchestrator/agent.cordis.yml.tmpl) and bump the plugin, or hand-edit the rendered ~/.dsh/.agent-presets/orchestrator/agent.cordis.yml — hand edits are detected (stamp mismatch) and left alone. To take plugin updates again, delete the preset directory first.

  • Reinstall the pristine presetrm -rf ~/.dsh/.agent-presets/orchestrator and restart dsh.

Layout

dsh-plugin-omoslim/
├── package.json            # dsh.bundle.patch declaration
├── cordis.patch.yml        # bundle patch layer (inserts the installer row)
├── config/
│   ├── models.json         # DEFAULT model mapping (independent file)
│   └── presets/orchestrator/
│       ├── preset.yml
│       └── agent.cordis.yml.tmpl   # composition template (@@models.<key>@@ slots)
└── lib/index.js            # Cordis plugin: idempotent installer + template renderer
REPOSITORY SIGNALS

보안 및 설치 증거

이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.

출처 추적 가능

공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.

라이선스

GitHub 메타데이터에서 라이선스가 감지되지 않았습니다.

유지보수 활동

최근 180일 내 코드 업데이트가 있습니다.

설치 증거

재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.

설치 라이프사이클 스크립트

검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.

주의 사항missing-license