Skip to content

feat(harness): add DeepSeek Harness (DSH) adapter - #36

Open
WODE25500 wants to merge 1 commit into
mcpware:mainfrom
WODE25500:feat/dsh-adapter
Open

feat(harness): add DeepSeek Harness (DSH) adapter#36
WODE25500 wants to merge 1 commit into
mcpware:mainfrom
WODE25500:feat/dsh-adapter

Conversation

@WODE25500

Copy link
Copy Markdown

What

Adds a DeepSeek Harness (DSH) adapter to CCO, following the existing Claude/Codex adapter pattern. DSH is a "one config dir per harness" consumer like Codex, so this slots into the existing src/harness/adapters/ registry (one .mjs file = one harness;
egistry.mjs auto-discovers it).

CCO users can now scan and manage a DSH home (~/.dsh) alongside Claude Code and Codex in a single dashboard.

What it surfaces

The adapter scans the DSH home config directory (~/.dsh) and reports:

  • config - global settings.yaml + each profile's cordis.yml / cordis.patch.yml entry lists (where plugins and MCP servers are wired)
  • profile - each entry under profiles//
  • skill - user skills under skills/ (with nested .system/ support)

Fully honors the HarnessAdapter contract (�alidateAdapter), declares supported capabilities conservatively, and supports skill deletion (profile/config are read-only/locked).

Testing

ests/unit/test-dsh-adapter.mjs runs with plain 

ode --test tests/unit/test-dsh-adapter.mjs (no external deps) and covers:

  • �alidateAdapter contract compliance
  • config / profile / skill scanning against a temp ~/.dsh fixture
  • item counts

Notes

  • DSH session files under ~/.dsh/sessions/ are zero-byte placeholders (the real session store lives in DSH's internal storage), so the adapter intentionally does not expose a session category - it only surfaces config that actually carries CCO-manageable content.
  • The .system/ nested-skill handling mirrors the Codex adapter so .system/system-skill is found while avoiding double-counting skill-root mirrors.

Scans the DSH home config directory (~/.dsh): global settings.yaml,
per-profile cordis.yml/cordis.patch.yml entry lists, and the skills/ tree.

- Registry auto-discovery picks this up (one .mjs file = one harness).
- Follows the Claude/Codex adapter contract (HarnessAdapter) with
  config/profile/skill scanners and conservative (skill-only) deletes.
- Unit test covers contract validation, config/profile/skill scanning, and
  item counts, using a temp ~/.dsh fixture.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant