DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-agent-team-presets

Agent Team Presets

Reusable Agent Team presets for DeepSeek Harness: a captain plus members with their own prompt, model, reasoning effort, and tools.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-agent-team-presets@0.1.8
READMECompatibilityVersions
Team list in SettingsMember model settings

Compatibility and provenance

Agent Team Presets is published as dsh-agent-team-presets and currently resolves to version 0.1.8. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
10/27/2026

Versions

0.1.8stable
10/27/2026
0.1.7stable
10/24/2026
0.1.6stable
10/19/2026
Show 5 more versionsCollapse versions
0.1.5stable
10/16/2026
0.1.4stable
10/15/2026
0.1.3stable
10/10/2026
0.1.2stable
10/10/2026
0.1.0stable
10/9/2026

Related plugins

Loading related plugins…

Latest
0.1.8
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
3.7 MB
Files
111
Surface
web
License
MIT
Source
npm
GitHub
★ 8
Weekly downloads
0
Last push
10/27/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in agents-orchestration.

Hindsight Coding Agents@vectorize-io/hindsight-coding-agentsReflect-only Hindsight long-term memory for coding agents (harness-pluggable: opencode, …), with automatic background ingestion (no setup CLI).Ds Botds-botDS Bot: a team of long-lived Bots for DeepSeek Harness, with Main Bots, Bot-to-Bot messages and group chatsSkills Manager@michengai/dsh-skills-managerDSH Skills Manager — 在 DeepSeek Harness 中统一加载并安全管理本机 Agent Skills · Load and safely manage local Agent Skills in DSHArisdsh-arisARIS research-workflow skills as a DeepSeek Harness bundle: 82 skills plus cross-model adversarial review through Codex.

README

dsh-agent-team-presets

Reusable Agent Team presets for DeepSeek Harness

Concept illustration. See Screenshots for the plugin interface; the captain uses the conversation's selected model.

English | 中文

Community plugin v0.1.8 · Release

Requires a compatible DeepSeek Harness deployment with Agent Teams enabled. This version supports DSH rc.2 and 0.2.1-rc.2 APIs; see Requirements. Prebuilt artifacts are included, so installation does not require a source build.

Overview

dsh-agent-team-presets is a visual Team preset and private skill manager for DeepSeek Harness. Configure a Team once, assign per-agent isolated skills, then select it from the conversation composer whenever you need it.

A Team contains a captain and any number of member roles:

  • The captain uses the conversation's selected model, with its own role description, system prompt, and tool policy.
  • Each member can have an independent provider, model, reasoning effort, system prompt, tool policy, and assigned Team Skills.
  • The captain summons members through spawn_team_member; native Agent Teams provides messaging, the shared task board, and runtime coordination.

This is a community plugin, not the Harness's bundled @deepseek-ai/dsh-experimental-agent-team-presets development package.

Why this plugin?

DeepSeek Harness already ships Agent Teams with multi-agent collaboration. In the Harness versions this plugin supports, per-Team configuration, skill isolation, and reuse are still left to the user, which is what this plugin addresses:

  • Teams are hard to reuse. In those versions, native teams focus on runtime creation and collaboration, with no visual preset management; this plugin saves, duplicates, categorizes, and reuses named presets.
  • Role setup is repetitive. Each role's name, description, system prompt, and tool policies are configured once instead of re-described every time.
  • Splitting work across models is awkward. Every member picks its own model and reasoning effort, so one Team combines models by task, while the captain keeps leading on the Session's model.
  • Tool permissions have no fine-grained entry point. In those versions the native tool surface offers no per-role allow-list; here the captain and each member carry their own, so roles differ in what they may use.
  • Skills lack per-agent scope isolation. Shipped or user skills are typically registered globally, making all skills visible to every agent; this plugin provides a private Team Skill library where skills are discovered only by the specific Agent they are assigned to.
  • Switching teams is inconvenient. Pick a preset Team directly from the composer instead of rebuilding roles by hand.

Design principle: native Agent Teams owns collaboration at runtime; this plugin owns configuring, managing, isolating, and reusing teams and their skills.

Features

  • Reusable Teams: create, duplicate, edit, select, and delete named presets.
  • Per-member model routes: assign models and reasoning effort to individual roles without changing the captain's model.
  • Independent tool policies: choose all available tools or a custom allow-list for the captain and each member.
  • Nine built-in presets across two series: three software development scale teams (Lightweight, Standard, Full-Stack) and six specialized work-mode teams (Discovery, Planning, Workflow, Engineering, Security Audit, Research).
  • Display metadata: attach summary, tags, use cases, quick prompts (suggested tasks), and notes per Team. Strictly presentation-only: never injected into the runtime LLM context, saving context tokens.
  • Local categories and search: organize presets into custom categories via a dedicated category manager; instantly search over name, summary, tags, and use cases in both Settings and the Composer picker.
  • Private Team Skill library: import skill folders or ZIP archives into a plugin-owned store (~/.dsh/team-skills), completely isolated from global host skills.
  • Per-agent skill isolation: a 3-column assignment grid on member pages assigns skills to specific roles. Assigned skills are registered strictly in that Agent's scope when summoned—never leaked globally.
  • Official built-in skills & local overrides: ships two delivery skills (github-repository-presentation, git-release-hygiene) and two method skills (grilling, research), materialized into the private library and pre-bound to engineering, discovery, and research roles. Create local editable overrides and one-click restore them to the built-in copy (恢复为插件内置版本).
  • Guarded deletion with blocker modal: deleting a skill bound to any role, in use by an active member, or required as a dependency is refused, with a confirmation modal detailing every blocking holder.
  • Dependency verification & MCP boundaries: checks declared CLI executables against host PATH (flags found/missing and refuses assignment when absent) and reports declared MCP servers (declarative display; never auto-connected or hard-blocking).
  • Agent-facing tools: root sessions provide list_team_skills, assign_team_skill, unassign_team_skill, and remove_team_skill alongside get_team_preset and update_team_preset.

Contents

  • Overview
  • Why this plugin?
  • Features
  • Screenshots
  • Requirements
  • Install and upgrade
  • Configure and use a Team
  • Display metadata, categories, and search
  • Private Team Skills and per-agent isolation
  • Share presets
  • Agent-facing tools
  • Tool permissions and security
  • Troubleshooting and limitations
  • How it works
  • Development and contributing
  • Related resources
  • License

Screenshots

The screenshots illustrate the v0.1.8 settings interface, Team Skill management, and composer workflow. Example provider and model names depend on your deployment.

Manage Teams: tabs, search, source and series filters

Team list in Settings

Choose a Team in the composer with search and source filters

Composer Team picker

Private Team Skill library with origin badges and actions

Team Skill library

Assign Team Skills to a member role

Member Team Skill assignment grid

Skill details: file tree, editor, and local copy actions

Team Skill detail view

Guarded skill deletion with blocking holders modal

Skill delete blocker dialog

Manage custom preset categories

Team preset categories page

Team editor: display metadata, category picker, and status notices

Team editor

More screenshots (model routing, custom dropdowns, prompts, and tool policies)

Category dropdown in Team editor

Category select popup

Filter Teams by custom source

Custom source filter

Configure member models and reasoning effort

Member model settings

Model picker

Model picker

Captain and member system prompts

Captain system prompt

Member system prompt

Tool policy controls

Default tool policy

Custom tool policy

Requirements

  • DeepSeek Harness with the required rc.2 APIs. Supported versions: >=0.2.0-rc.2 <0.3.0. The plugin manager enforces the declared engines.dsh range and refuses to install or activate the plugin outside it; the @deepseek-ai/dsh-* peer ranges serve package managers and are ignored by that check. This release was verified against 0.2.1-rc.2; 0.2.0-rc.2 was not re-run for 0.1.8. See package.json.
  • Agent Teams enabled in the target profile. The standard integration is @deepseek-ai/dsh-experimental-agent-team-profile, which supplies the Team service, tools, and Web roster. This plugin configures and manages Teams; it does not replace that subsystem.
  • A Web or Desktop profile with Settings and the required client services. Install into the profile you actually use, typically web for the Web GUI or desktop for Desktop.
  • Durable storage and a continuable subagent backend for member execution. Member creation is refused if the storage domain or selected execution backend is unavailable. The default backend names are spawn and fork.

The plugin version (0.1.8) and the Harness version (0.2.1-rc.2, for example) are separate version lines.

Install and upgrade

One-click install in the GUI (Add plugin)

Open Global panels → Plugins → Add plugin, paste the line below into Package name or address, and click Install:

dsh-agent-team-presets@0.1.8
  • Registry selects which npm source the download comes from. Default registry uses pnpm's own configuration. Pick Official npm registry to bypass a mirror, or Custom address for an internal or cloud mirror.
  • @0.1.8 pins the version; omit it to install the latest published package.
  • The field accepts package names, name@version, github:owner/repo, tarball URLs, or absolute filesystem paths.
  • This package declares dsh.bundle, so the plugin manager automatically registers it as a profile bundle layer; do not add a loader entry by hand.
  • Once installed, reinstalling the same package identity is blocked. To switch sources (e.g. from GitHub to npm), uninstall first, then install the new spec.
  • After installation, reload or restart as prompted.

Install from GitHub

To receive repository update notifications:

dsh plugin --profile <profile> add github:bloodarea/dsh-agent-team-presets

Replace <profile> with your active profile (e.g. web or desktop):

dsh plugin --profile web add github:bloodarea/dsh-agent-team-presets

To pin the v0.1.8 release tag:

dsh plugin --profile <profile> add github:bloodarea/dsh-agent-team-presets#v0.1.8

npm release channel

GitHub and npm are separate release channels. Verify the published version on npm before installing:

npm view dsh-agent-team-presets version
dsh plugin --profile <profile> add dsh-agent-team-presets

Verify and upgrade safely

After installation, follow the plugin manager's reload/restart prompts and navigate to Settings → Agent team presets. Verify that details display dsh-agent-team-presets, version 0.1.8, and a running component.

  • Back up profile settings, Team definitions, and Session selections before upgrading.
  • When migrating from a development link, remove @deepseek-ai/dsh-experimental-agent-team-presets first before enabling the community package.
  • Restart Harness after switching package identities, then refresh the GUI.

Install the bundle; do not add a second loader declaration. The package already supplies its own bundle patch. Duplicate hand-written declarations in profile patches can prevent settings from saving. See Configuration writes are overridden.

Configure and use a Team

  1. Open Settings → Agent team presets.
  2. Select a built-in Team, duplicate an existing one, or click New Team.
  3. Configure its name, purpose, display metadata, category, captain, and member roles.
  4. For each member, configure its provider/model route, reasoning effort, tool policy, and assigned Team Skills.
  5. Press Save in the shared footer. Edits remain staged drafts until saved.
  6. Select the Team from the conversation composer's Team control, then prompt the captain to coordinate the task.

Example prompt for a Team with execution and review roles:

Use the selected Team. Have the executor implement the agreed changes and regression tests, then ask the reviewer to inspect them independently. Summarize changes, test results, and remaining risks.

A preset role is a template. Summoning creates an instance with a unique target such as executor or executor-2. Use send_message with the returned target to continue working with an existing instance rather than spawning a new one.

Selecting No team disarms the Team application once the captain and teammates become idle, restoring standard session contributions without changing the active model.

Fields

FieldPurpose
Team name and purposeIdentify the preset and explain what work it handles.
CategoryAssign the Team to a local category for organization in lists and picker.
Display metadataSummary, tags, use cases, quick prompts, and notes. Purely presentation-only; never injected into LLM context tokens.
CaptainThe lead agent. A nonempty captain prompt replaces its persona prefix; the captain keeps the conversation's model.
MembersReusable role templates the captain can summon.
NameRole display name and target base. ASCII letters/digits and hyphens (max 64 chars, not lead).
DescriptionRole responsibilities for the captain to select appropriate members (max 200 chars).
ColorAccent color distinguishing the role in settings and the roster.
Provider / ModelMembers only. Route from the deployment's model catalog.
Reasoning effortMembers only. Options depend on model support; empty uses route default.
Allowed toolsIndependent all-tools or custom allow-list policy.
Team SkillsAssigned private skills, registered exclusively in this Agent's scope upon creation.
System promptStanding role instructions. {{variable}} denotes prompt template variables.

Built-in presets

A fresh installation seeds nine editable Teams across two series:

研发规模系列 (Classic Development Scale)

PresetRolesIntended use
轻量研发团队
builtin-lightweight
Captain, fullstack-advisor, executorSmall features and module iterations. Captain plans and verifies, architecture advisor handles cross-layer technical contracts on demand, executor writes code, tests, and debugs. Pre-bound with official delivery skills.
标准研发团队
builtin-standard
Captain, system-architect, executor, code-reviewerStandard software projects. Captain coordinates, system architect establishes interface contracts and module boundaries, executor develops and tests, independent code reviewer inspects quality. Pre-bound with official delivery skills.
全栈软件研发团队
builtin-fullstack
Captain, backend-architect, ui-designer, executor, reviewerComplex full-stack engineering across Web, Desktop, and Android. Captain leads, backend architect and UI designer provide technical/UX contracts, reviewer enforces quality gates, executor implements. Pre-bound with official delivery skills.

工作模式系列 (Work Modes)

PresetRolesIntended use
需求探索
builtin-discovery
Captain, demand-analyst, solution-explorer, independent-challengerOpen-ended ideas where goal, technical path, or product direction is still exploratory; read-only research with independent challenge.
架构规划
builtin-planning
Captain, system-architect, technology-evaluator, compliance-auditorSettled goals where systems, module boundaries, and cross-module contracts must be designed.
既定工作流执行
builtin-workflow
Captain, workflow-coordinator, task-executor, delivery-verifierEstablished workflows where user specifies next task, and team implements, verifies, and delivers it.
工程研发协作
builtin-engineering
Captain, architect-advisor, executor, code-reviewer, repository-specialistFeature development, cross-layer implementation, UI/UX, and debugging, with a dedicated repository delivery specialist (repository-specialist). Pre-bound with official delivery skills.
独立代码与安全审计
builtin-audit
Captain, vulnerability-expert, security-auditor, compliance-inspectorIndependent read-only review of specified code, vulnerabilities, security configurations, and dependency compliance.
科研协作
builtin-research
Captain, domain-researcher, experiment-analyst, rigor-reviewerLiterature review, experiment design, scientific computing, data analysis, and academic rigor inspection.

Default presets are seeded once per profile. Deleting or editing a built-in preset is respected across restarts. Restore defaults restores shipped fields and official rosters while preserving local member model routes and tool policies.

Display metadata, categories, and search

Presentation-only display metadata

Each Team preset supports rich metadata:

  • Summary: One-line description shown on cards and intros.
  • Tags: Keyword chips for filtering and categorization.
  • Use cases: Recommended project scenarios.
  • Quick prompts: Ready-to-use task templates shown when selecting the Team.
  • Notes: Operational reminders or cautions.

Token economy: Display metadata is stored in the preset document and used by the UI for search, grouping, and cards, but is never injected into the runtime LLM prompt context.

Local categories and hierarchical filtering

  • Category manager: Click 管理团队预设分类 in the Settings list to open a dedicated management page. Create, rename, reorder, and delete categories, and inspect team counts per category.
  • Local isolation: Categories and team-category bindings are saved in profile settings and are never exported with shareable preset documents.
  • Two-level filters: The Teams list provides two independent filter rows:
    • 来源 (Source): 全部 (All), 插件内置 (Built-in), 自定义 (Custom).
    • 分类 (Category): For built-in teams, filters by official series (研发规模 / 工作模式); for custom teams, filters by user-created categories.
  • Instant search: A responsive search box searches team names, summaries, tags, use cases, and quick prompts with real-time matched count reporting.
  • Composer integration: The conversation composer's Team picker mirrors these source filters and search capabilities, with 不使用团队 pinned to the top.

Private Team Skills and per-agent isolation

Private store and scope isolation

Traditional skills in Harness are typically registered into the global environment, exposing every skill to every agent. This plugin introduces a Private Team Skill subsystem:

  1. Private library: Skills live in a plugin-managed directory (~/.dsh/team-skills or storage domain), isolated from host and profile skills.
  2. Per-Agent registration: When a Team member is summoned, its assigned skills are registered exclusively inside that member's Agent scope. Other members and the captain cannot see or invoke them unless explicitly assigned.
  3. Official built-in skills: four shipped skills: delivery (github-repository-presentation, git-release-hygiene) and method (grilling — clarify before acting; research — primary sources only). Default bindings: engineering executor/repository-specialist receive the delivery skills; the Discovery captain receives grilling, its technical-scout/product-scout and the Research evidence-scout receive research.
  4. Local overrides & one-click restore: Built-in skills are read-only by default. Users can create an editable local copy ("本地副本"). If the built-in skill updates in a new plugin version, an updateAvailable status is displayed, and users can restore to the built-in copy (恢复为插件内置版本) with one click.
  5. Origin labels and badges: Skills display clear color-coded origin tags across all views:
    • 插件内置 (Built-in, blue)
    • 自定义 (Custom, purple)
    • 本地副本 (Override, amber)

Import, directory scan, and dependencies

  • Folder and ZIP import: Import external skill folders or .zip packages directly in the Web GUI.
  • Directory scan: Scans candidate folders in the import path, reporting eligibility and reasons for any rejected folder. Users can copy the absolute library path with one click.
  • Dependency checks and MCP boundaries:
    • CLI executables: Declared CLI executables in SKILL.md are resolved against host PATH, using PATHEXT on Windows. Directories and non-executable files do not satisfy the dependency. Missing required executables are flagged and assignment is refused (dependency-missing).
    • MCP servers (declarative only, not auto-connected): Declared MCP servers are strictly declarative dependencies displayed in the UI (skillsDeclared). The plugin never connects, launches, or manages external MCP servers automatically (their lifecycle belongs to the Harness environment and profile). Because MCP connectivity is an environment-level fact, declared MCP servers are reported as unverified rather than hard-blocking role assignment. When an MCP server is configured and running in the Harness profile, its exposed tools (mcp__<server>__<name>) appear under the MCP tool group in the role's tool configuration and can be authorized via tool policies.
  • Guarded deletion: Deletion is strongly guarded. If a skill is currently bound to any team role, used by a running member, or required by another skill, deletion is blocked. The confirmation dialog explicitly lists every holding team and member role (e.g. 标准研发团队 → executor), keeping the confirm button disabled until bindings are cleared.

Share presets

Export saves one Team as a JSON document (format version 2). Import preset reads the document and stages it in the editor.

  • Shared fields: Team name, purpose, display metadata (summary, tags, use cases, quick prompts, notes), captain/member names, descriptions, prompts, and colors.
  • Local fields: Model routes, reasoning effort, tool permissions, and local category bindings are never exported. Documents containing them are rejected on import.
  • Name collisions: Choose between replacing the existing preset or creating a renamed copy. Replacement preserves local routes and tool policies on matched roles.
  • Review imported prompts before executing tasks, especially when using documents from third parties.

Agent-facing tools

Root sessions register tools allowing agents to inspect and update presets and skills programmatically, subject to tool policies:

Team preset tools

  • get_team_preset: Reads the active or specified Team preset, returning its purpose, role descriptions, prompts, roster, and settings revision.
  • update_team_preset: Updates team/captain descriptions and member prompts/descriptions using compare-and-set revision checks. Requires direct human turn and Host approval. Returns team-busy if affected members are currently active.

Team Skill tools

  • list_team_skills: Lists installed private Team Skills, origins, dependencies, and role assignment status.
  • assign_team_skill: Assigns one Team Skill to a role in a Team (isolated to that agent scope).
  • unassign_team_skill: Removes a Team Skill assignment from a role.
  • remove_team_skill: Deletes a Team Skill from the library, enforcing blocker checks.

Tool permissions and security

Policy modes

  • Default: all tools: No allow-list restriction beyond deployment permissions and role rules.
  • Custom allowed tools: Permits only selected tool names. Coordination tools (send_message, list_agents, team_task_*) must be explicitly allowed if needed.
  • Captain and member policies are independent. Granting a tool to the captain does not grant it to members.
  • The skill tool is always admitted, and is not offered as a choice. It publishes the catalog and loads instruction text rather than granting a capability, and the Host withholds that whole catalog from an Agent that cannot see it. A custom allow-list therefore cannot remove it, and the settings page does not list it: a checkbox for it would be a control that can never do anything. Documents written by an earlier version that still name it keep loading unchanged — the entry is admitted implicitly, never reported as unavailable, and never needs removing.

What a member's first turn guarantees

An assigned Team Skill is only useful if the member can load it on the turn that asks for it, so the plugin makes the registration part of member creation rather than a background step:

  • Members: the creation edge awaits that Agent's own registration before it completes. A role that holds assigned Team Skills but whose deployment cannot publish them — no skill service composed, the private library unreadable, or the registration refused — is refused at creation with the reason, instead of starting with an empty catalog while every surface says the skill is bound. Roles with no assignment keep working on deployments that compose no skill service.
  • The captain: the same registration is performed inside the Session's creation edge, after the Team application it depends on. A captain whose assignment cannot be published does not refuse the Team — a Session that is already running must not lose its capability policy — and the failure is reported at the Agent identity.
  • Unreadable library is not an empty library. When the private store cannot be opened the plugin cannot even enumerate a role's bindings, so it refuses member creation rather than reading the unknown as "no assignment". Repair the library path (or start again) to recover.

Known limitation: Windows verification

The path-separator and executable-resolution fixes are exercised by unit tests that normalize separators and by ENOTDIR cases, but no Windows machine was available here. Junction handling across volumes, PATHEXT resolution against a real PATH, and the full native build chain still need a Windows run before the release is described as Windows-verified.

Security boundaries

  • The allow-list is not a filesystem, process, or network sandbox. Allowed tools (such as bash) retain their native capabilities. Maintain appropriate Harness sandbox and approval policies.
  • Custom policy mode disallows general-purpose run_code and ordinary subagent / workflow delegation to preserve strict policy contracts. Use preset Team members for delegation.
  • Managed members require their durable configuration on resume. Missing or corrupted records are refused loud rather than falling back to unrestricted defaults.

Troubleshooting and limitations

Configuration writes are overridden

If saving or selecting a Team reports:

Configuration for "agent-team-presets" is overridden by a home patch or command-line overlay

Check profile patches, $DSH_HOME/cordis.patch.yml, and --patch overlays for duplicate hand-written agent-team-presets declarations. Remove duplicate declarations while preserving Host-managed settings rows.

Common issues

SymptomWhat to check
Settings page is absent or plugin pendingConfirm profile type, peer dependencies, Agent Teams enablement, and client services.
Skill deletion button is disabledThe skill is protected: inspect the blocker list in the modal (bound roles or dependencies must be unassigned first).
Skill assignment refused (dependency-missing)A required executable declared by the skill is absent from host PATH. Note that declared MCP servers are reported for visibility and do not block assignment; ensure MCP servers are configured in your profile.
Member creation refusedCheck storage domain availability, subagent execution backend (spawn/fork), model quota, and concurrency limits.
Model route display mismatchIn Harness rc.2, list_agents.model reports fallback metadata. Verify actual routing via spawn_team_member's configuredRoute or session request/header logs.

How it works

The plugin integrates via Cordis and Harness lifecycle extension points without patching host source code:

  1. Profile configuration: Stores Team presets, display metadata, local categories, and active session selections.
  2. Session application: Installs captain persona, tool policy, and spawn_team_member at Agent scope.
  3. Member creation & skill scoping: Validates route and delegation limits, persists an instance snapshot, and launches the subagent. The serial agent/created hook injects model selection, persona, tool filters, and assigned Team Skills strictly into that member's Agent scope.
  4. Private skill manager: Encapsulates skill storage (~/.dsh/team-skills), crash-recovery journaling, dependency resolution, and guarded deletion.

Source navigation

AreaSource
Plugin lifecycle and settings reconciliationsrc/index.ts, src/settings-reconcile.ts
Built-in team catalog and seriessrc/builtin-teams.ts, src/team-catalog.ts
Team application and member toolsrc/application.ts
Member snapshots and runtime injectionsrc/member-store.ts, src/member-identity.ts, src/member-runtime.ts
Private Team Skills subsystemsrc/team-skills/store.ts, src/team-skills/manager.ts, src/team-skills/service.ts, src/team-skills/tools.ts
Tool policies and presentationsrc/tool-policy.ts, src/presentation.ts
Preset tools and transfersrc/preset-tools.ts,

Development and contributing

Source development requires a compatible, dependency-installed Harness checkout with its Host types and generated Typert Remote artifacts built first (the Harness build:lib:host pipeline provides them):

export DSH_CHECKOUT=/absolute/path/to/deepseek-harness
npm test
npm run typecheck
npm run bundle

Bug reports and pull requests are welcome at GitHub Issues and Pull requests.

Thanks to 张灏焱 for contributing the grilling and research method Team Skills (PR #2), and to Matt Pocock for the upstream skills they adapt (MIT, see NOTICE).

Related resources

  • DeepSeek Harness — Host and plugin architecture.
  • Built-in preset documents — Shipped team JSON definitions for reference or custom imports.
  • Bundled skill documents — Shipped skills (SKILL.md bundles) materialized into the private library.
  • Method skill upstream — Source of grilling and research (MIT; pinned commit recorded in NOTICE).
  • GitHub Releases — Published release packages.

License

MIT. Bundled dependency notices are in THIRD-PARTY-NOTICES.txt; source and MIT attribution for the bundled method skills are in NOTICE.

  • Live settings feedback: see whether a Team is idle, busy, or awaiting an update in an online Session.
  • Theme integration: robust light and dark mode adaptation across all cards, dialogs, inputs, and dropdowns.
  • src/preset-transfer.ts
    Browser client UIsrc/client/