OpenViking
volcengine
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:walkinglabs/awesome-deepseek-harness-plugins
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
English | 简体中文
A curated index of plugins, starters, tools, and primary resources for DeepSeek Harness (DSH).
DeepSeek Harness is DeepSeek AI's open-source, plugin-first agent harness: models, tools, skills, sessions, sandboxes, filesystems, loops, orchestration, and UI can all be composed as plugins.
Developer preview — DSH is changing quickly and may introduce breaking changes. This independent community list is not endorsed by DeepSeek AI or walkinglabs. Review source code and pin a DSH version/commit before installing any third-party plugin. 中文说明
flowchart LR
User["Developer / User"] --> Web["DSH Web UI or CLI"]
Web --> Runtime["DeepSeek Harness runtime"]
Runtime --> Agent["Agent loop"]
Agent --> Model["Model provider"]
Agent --> Tools["Tools & skills"]
Runtime -. loads .-> Plugins["Plugins"]
Plugins --> Tools
Plugins --> UI["Web UI extensions"]
Plugins --> State["Sessions, settings & services"]
classDef core fill:#0b65c2,color:#fff,stroke:#084c94;
classDef plugin fill:#e6f4ff,color:#083b66,stroke:#4fa3e3;
class Runtime,Agent core;
class Plugins,UI,State plugin;
Install a current Node.js release, then run:
npx @deepseek-ai/dsh web
Open http://127.0.0.1:3080. In Settings → Models, add a DeepSeek API key; then select a workspace before starting a session. The official Web UI guide explains the next steps.
Plugin development currently starts from an official DSH checkout:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
mkdir -p scratch-plugin/src
Create scratch-plugin/src/hello-plugin.ts:
import type { Context } from '@deepseek-ai/cordis'
export const name = 'hello-plugin'
export function apply(ctx: Context) {
console.log('[hello-plugin] loaded')
}
Then create scratch-plugin/cordis.yml. Replace the path with the absolute path printed by pwd in the DSH checkout:
- insert:
- id: hello
name: '/absolute/path/to/deepseek-harness/scratch-plugin/src/hello-plugin.ts'
Run the development overlay:
pnpm dsh web --patch ./scratch-plugin/cordis.yml
When DSH starts, the terminal should show [hello-plugin] loaded. This is the smallest valid DSH plugin: export apply(ctx) and register capabilities through the Cordis context. To add an agent-callable tool, declare export const inject = ['tools'] and register it with the documented DSH tool API. Follow the official first plugin and tool-plugin tutorials for the complete, current API.
flowchart TD
Overlay["cordis.yml overlay"] -->|loads| Module["Plugin module"]
Module --> Contract["name · inject · apply(ctx, config)"]
Contract --> Inject["inject: wait for required services"]
Contract --> Config["Config schema: validate settings and defaults"]
Contract --> Apply["apply: register capabilities"]
Apply --> Capabilities["Tools · commands · events · UI · services"]
Capabilities --> Runtime["Cordis / DSH runtime"]
Runtime --> Effects["Lifecycle-managed effects"]
Effects --> Cleanup["Unload or HMR: registrations are cleaned up"]
DSH is built on Cordis, a runtime composition framework. A plugin is not merely an npm dependency: it is a module that DSH loads into a live context. The plugin declares a name, optionally declares inject dependencies such as ['tools'], and exports apply(ctx, config). Cordis waits until injected services are ready, validates any exported Config schema and defaults, then invokes apply.
Inside apply, the plugin can register a tool for the agent, a human command, a settings schema, event listeners, Web UI components, or a service for other plugins. Registrations are lifecycle-managed effects: on unload or hot replacement after a config edit, Cordis removes old registrations automatically. Use ctx.effect() only when your plugin owns a resource needing explicit cleanup, such as a timer or network connection. See the official configuration guide, service guide, and capability seams.
flowchart TB
Discover["GitHub discovery\n(recent public candidates)"] --> Verify["Source-level DSH verification"]
Verify -->|"Manifest/package + documented DSH seam"| Plugin["Verified DSH plugin"]
Verify -->|"Explicit, inspectable DSH integration"| Resource["Client, launcher, example, or dev resource"]
Verify -->|"Topic/name/claim only"| Exclude["Excluded\n(not a DSH plugin)"]
Plugin --> List["Plugin categories in this list"]
Resource --> List
List --> Daily["Daily review\nOnly real changes are committed"]
The list distinguishes verified DSH plugins from useful but non-plugin resources such as launchers, clients, and ecosystem directories. See the full inclusion policy for the evidence required before a new entry is added.
DSH profiles are plugin compositions rather than separately maintained products. The official base bundle includes model adapters, tools, persistence, sandbox and approval policy, settings, credentials, and telemetry; Web and headless bundles add different entry surfaces. An agent preset can then give a session a different capability set.
flowchart TB
Base["dsh-base\nmodels · tools · persistence · sandbox\napproval · settings · telemetry"]
Base --> WebProfile["Web profile\nbrowser application"]
Base --> HeadlessProfile["Headless profile\none-shot runner"]
Base --> Preset["Agent preset\nper-session capability composition"]
Preset --> Loop["Agent loop"]
Preset --> Toolset["Toolset"]
Preset --> Providers["LLM / filesystem / subagent providers"]
Preset --> Policy["Permission & sandbox policy"]
This makes a “mode” primarily a selected plugin graph and policy set. It does not guarantee that every composition is stable or suitable for every task; DSH is still a developer preview.
flowchart LR
Call["Model emits tool call"] --> LoggedCall["Log tool/call"]
LoggedCall --> Pre["tools/pre-execute\nhooks · permission · sandbox"]
Pre --> Ask{"Approval needed?"}
Ask -->|approved| Guards["Monotonic guards"]
Ask -->|denied / unavailable| Denied["Skip tool body"]
Guards --> Execute["tools/execute\ntimeout · retry · metrics"]
Execute --> Body["Tool execute()"]
Body --> Post["tools/post-execute\naccept · block · replace"]
Denied --> Post
Post --> Result["Finalize & log tool/result"]
Result --> UI["UI result card"]
Result --> Next["Next model request"]
Plugins can insert policy, observability, timeout, or result-handling behavior at documented stages without editing the Agent Loop. The official pipeline also routes Code Mode's dispatched sub-calls through this same path, preserving the approval, sandbox, and logging boundaries.
sequenceDiagram
participant U as User
participant A as Agent loop
participant P as Prompt assembler
participant M as Model
participant T as Tool pipeline
participant L as Append-only session log
U->>A: followup(message)
A->>L: turn/start + user/message
A->>P: assemble prompt sections + tool schemas
P->>M: request
M-->>L: assistant/chunk*
M-->>L: assistant/message
M->>T: tool/call*
T-->>L: tool/result*
A->>L: step/end
alt more input or tool results are owed
A->>P: next step
else no pending work
A->>L: turn/end
end
The session log is the model-context source of truth: durable events record turns, messages, tool calls/results, and raw stream chunks. Forking, resuming, replay, transcripts, telemetry, and persistence derive from that stream; model-visible content must be reconstructable from it.
flowchart TB
Parent["Parent agent\nplans, delegates, aggregates"] --> Subagent["Subagent capability seam"]
Subagent --> Fresh["Fresh child agent"]
Subagent --> Fork["Forked / continued session"]
Subagent --> External["External product provider\n(e.g. ACP-backed)"]
Parent --> Workflow["Workflow capability"]
Workflow --> Parallel["Parallel branches"]
Workflow --> Pipeline["Pipeline stages"]
Workflow --> Background["Background work"]
Fresh --> Events["subagent/* + session/event"]
Fork --> Events
External --> Events
Workflow --> Events
Events["Durable session events + live agent events"] --> Inspect["UI, trajectory, replay, telemetry"]
DSH provides a hierarchy-oriented delegation surface and workflow components; providers behind the subagent seam can vary. The key architectural point is replaceability and shared observability, not a claim that DSH has invented a new multi-agent paradigm.
npx @deepseek-ai/dsh web.dsh-plugin - The official recommended GitHub topic for DSH plugin repositories.make-dsh-plugin development guide.The dsh-plugin topic, a dsh- repository name, or a README claim alone is not enough for an entry in this list. Every new plugin must meet the source-level verification policy in INCLUSION_POLICY.md: a real DSH plugin manifest/package or a verifiable, official DSH extension seam. Discovery runs daily over projects from the previous 48 hours; candidates also undergo static security triage of scripts, dependencies, entrypoints, workflows, and sensitive operations. Only candidates that pass both checks are added. This is not a complete security audit or a compatibility guarantee.
/worktree, and per-repository manifests.@file mentions that search a workspace and attach file contents to prompts./loop command, tool, and activity bar.context_query, context_slice, and context_grep tools over persisted session history, using the official session-query and subprocess seams.ctx.tools plus a memory:co-engram prompt section re-evaluated at every assembly; ships a dsh.bundle manifest so dsh plugin add @co-engram/dsh activates with zero manual config; process-lock coexistence with its Claude Code (MCP) and OpenClaw hosts; verified against DSH 0.1.0-rc.6.session-telemetry/record copy without changing the canonical session log; audited against DSH commit 47f943859bef60e4160492346772ded9b24f765a and tested with dsh-session-telemetry rc.6.47f943859bef60e4160492346772ded9b24f765a and tested with dsh-session rc.6.dhicoc/dsh-reverse-skill - Complete reverse-skill pack (85 SKILL.md) as a DeepSeek Harness Cordis plugin: reverse engineering, authorized pentesting and security-research skill router.
dsh-custom-tool - Create and manage sandboxed JavaScript tools with a Monaco-based editor.
dsh-tool-search - On-demand tool discovery and progressive schema disclosure.
dsh-ssh - Remote execution, SFTP filesystem, ProxyJump, subprocess, and PTY support over SSH.
dsh-openmaic - OpenMAIC classrooms, slides, interactive widgets, and Socratic teaching.
dsh-deep-research - Adaptive deep-research orchestration workflow.
dsh-openai-codex-auth - OpenAI Codex OAuth login and usage-card integration.
dsh-plugin-claude-bridge - Bring Claude Code memory, skills, and configuration into DSH.
dsh-acp-for-bitfun - BitFun and DSH ACP integration.
DSH design plugins can connect an agent's planning and tool use to visual inspection, canvas editing, generated UI, and image workflows. As with every listing here, install only after reviewing the source and its permissions.
flowchart LR
Brief["Design brief\nor source change"] --> Agent["DSH agent"]
Agent --> Vision["Visual understanding\nimage · OCR · UI grounding"]
Agent --> Canvas["Design canvas\npreview · edit · inspect"]
Agent --> GenUI["Generated UI\ncomponents · charts · forms"]
Vision --> Feedback["Structured visual feedback"]
Canvas --> Feedback
GenUI --> Feedback
Feedback --> Agent
Agent --> Output["Updated design, code, or artifact"]
dsh.bundle manifest with a Cordis patch.These are community indexes rather than individual plugins; use them as secondary discovery sources and verify entries yourself.
Contributions are welcome. Please read CONTRIBUTING.md before opening a pull request.
To the extent possible under law, the maintainers have waived all copyright and related rights to this work under CC0 1.0.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: skill-generator、digital-persona、dshpersona。