dsh-plugin-yet-another-subagent: A Configurable Subagent Profile System for DeepSeek Harness

huanlinoto/dsh-plugin-yet-another-subagent

Skills & AgentsVerified
Listed on 2026-08-20
Page last updated 2026-08-20

Configurable subagent profile system for DSH plugin: single tool with profile param, Web UI settings and real-time progress.

Manage subagent definitions in DeepSeek Harness through a single subagent tool and profile parameter, with Web UI settings, real-time progress, and a subagent tree view.

install
dsh plugin --profile web add github:huanlinoto/dsh-plugin-yet-another-subagent
Category
Skills & Agents
Platform
DSH-Plugin
Author
huanlinoto
Distribution
Plugin

dsh-plugin-yet-another-subagent Key Features

Single subagent toolProfile param selectionWeb UI settingsReal-time progressSubagent tree view

dsh-plugin-yet-another-subagent Repository

huanlinoto
Publisher
huanlinoto
Repository
huanlinoto/dsh-plugin-yet-another-subagent
11
Stars
0
Forks
0
Watchers
0
Open issues
LanguageJavaScript
LicenseOther
Website
Repo last push2026-08-15 13:06:51
Repo created2026-08-10 01:20:11
Topics
dsh-plugin
Default branchmaster

dsh-plugin-yet-another-subagent Repo Summary

yet-another-subagent is an Agent core plugin (DSH plugin) for DeepSeek Harness (DSH), maintained by HuanLinOTO and written in JavaScript. It addresses the fragmentation of subagent configuration: instead of registering a separate tool for each subagent, it consolidates subagent definitions into a configurable profile system via a single subagent tool plus a profile parameter. It comes with Web UI settings, real-time progress display (tool calls/tokens/activity), and a subagent tree tab, making subagent creation, switching, and monitoring unified and intuitive.

What core features does the yet-another-subagent DSH plugin offer?

The plugin uses a single bundle with three entry points (host, invariant, client). The host side reuses the official spawn provider, supporting both foreground and background (continuable / one-shot) modes. Profile state is persisted to $DSH_HOME/settings.yaml via the DSH settings seam, and RPC CRUD operations (profiles.list / .add / .update / .remove) are provided over a dedicated /ya-subagent channel. The client side offers a profile editing page, a tool call card (SubagentCard), and a subagent tree view (SubagentTreeView), with click-to-navigate to child sessions.

How do you configure profiles in yet-another-subagent?

Profiles are defined in the profiles field of cordis.patch.yml. Each profile supports fields such as id, label, model.kind (auto inherits parent model or manual specifies), persona.kind (inherit or custom), toolFilter (none/allow/deny), maxDepth (default 3), and backgroundMode (continuable or one-shot). Runtime changes are written to the user layer via scope.replace(), and external YAML edits support hot reload via scope.watch.

How do you install yet-another-subagent?

Installation from npm is recommended. After installation, restart the dsh web process and hard-refresh the browser (Ctrl+Shift+R):

bash
dsh plugin --profile web add github:HuanLinOTO/dsh-plugin-yet-another-subagent

For local development with hot reload, you can use the link: protocol to reference a local path.

What are the development and check commands for yet-another-subagent?

The only runtime npm dependency is zod; the project uses pnpm. Type checking resolves DSH source via ../dsh, and tests use vitest.

bash
pnpm install          # install dependencies
pnpm run typecheck    # tsc --noEmit
pnpm test             # vitest run (55 tests passing)
pnpm run build        # outputs lib/index.js, lib/invariant.js, lib/client.js

How does persistence work in yet-another-subagent?

Profile state is persisted to the ya-subagent namespace in $DSH_HOME/settings.yaml via the DSH settings seam. The profiles field in cordis.yml serves as seed data on first launch; runtime changes are written to the user layer, and external edits support hot reload. Headless assemblies without a settings provider fall back to default behavior.

View more DSH plugins at dsh-plugin.org

DSH-Plugin FAQ