# awesome-deepseek-harness

> DeepSeek Harness A curated collection of excellent plugins, with 4 runnable reference plugins included in the plugins/ directory: Charts, Slides, Code Review, and Auto Research Loop.

## Metadata

- Author: [@Dominic789654](https://github.com/Dominic789654)
- Repo: <https://github.com/Dominic789654/awesome-deepseek-harness.git>
- GitHub: [Dominic789654/awesome-deepseek-harness](https://github.com/Dominic789654/awesome-deepseek-harness)
- Stars: 168
- Language: TypeScript
- License: [NOASSERTION](https://spdx.org/licenses/NOASSERTION.html)
- Topics: `agent`, `agent-framework`, `ai-agent`, `ai-agents`, `awesome`, `awesome-list`, `coding-agent`, `deepseek`, `deepseek-ai`, `deepseek-harness`, `deepseek-harness-plugin`, `deepseek-harness-plugins`, `dsh`, `dsh-patch`, `dsh-plugin`, `dsh-plugins`, `llm`, `llm-agent`, `mcp`, `plugins`
- Forks: 112
- Open Issues: 7
- Last push: 2026-08-20T14:36:16.000Z
- Added: 2026-08-17T00:00:00.000Z

## Install

```bash
dsh plugin --profile web add github:Dominic789654/awesome-deepseek-harness
```

## Wiki

## One-Line Pitch
This is an awesome plugin listing repository curated around DeepSeek Harness (DSH): the root directory contains an index of community-worthy plugins, profiles, harnesses, UI and other resources, while the `plugins/` subdirectory comes with 4 runnable reference plugins (dsh-viz / dsh-slides / dsh-code-review / dsh-research-loop) that demonstrate the standard DSH plugin structure.

## Core Capabilities
- Provides a well-categorized DSH ecosystem list, covering nearly 20 categories including official repositories, profile/patch layer, harness/runtime, security & permissions, sessions & memory, IM bridging, visualization, slides, coding, agent, loop, MCP, UI, skills, etc.
- Ships 4 reference plugins with the repository in the `plugins/` subdirectory (dsh-viz / dsh-slides / dsh-code-review / dsh-research-loop), each written as a minimal viable skeleton following the mainstream layout observed in the community (`package.json#dsh` + `cordis.patch.yml` + `dsh.plugin.json` + `src/index.ts`)
- dsh-viz registers `chart_render` tool, writing structured data to self-contained ECharts HTML within workspace, supporting line / bar / pie / scatter charts
- dsh-slides registers `slides_generate` tool, rendering markdown outlines (`---` for slide breaks, `--` for vertical sub-page breaks) as reveal.js self-contained HTML presentations
- dsh-code-review registers `code_review_context` tool, deterministically collecting git diffs by three scopes (`worktree` / `staged` / `range`), with accompanying `code-review` skill providing severity-ranked review checklist
- dsh-research-loop registers `research_log` tool, appending findings for each research topic to JSONL log within workspace, with accompanying `auto-research-loop` skill driving bounded research loops

## Technical Implementation
- **Language**: TypeScript (ESM, `type: module`, target ES2022)
- **Key Dependencies**: `@deepseek-ai/cordis` (Cordis container, provides `Context` and plugin loading), `@deepseek-ai/dsh-tools` (`defineTool` factory and `ctx.tools.register`), `@deepseek-ai/schemastery` (`z.object` config schema, callable `Config({})` form applies defaults); runtime only depends on Node built-in modules (`node:fs` / `node:path` / `node:child_process`), no third-party runtime packages
- **Architecture Pattern**: host-only plugins (no client bundle). Each sub-plugin exports `name`, `inject=['tools']`, `Config` (schemastery schema), `apply(ctx, config)`, mounted at profile layer stack via `insert` in `cordis.patch.yml`; tool registration unified via `ctx.tools.register(defineTool({ name, description, parameters, output, async execute }))`
- **Entry Files**: each sub-plugin entry at `plugins/<name>/src/index.ts`; mounting manifest in `cordis.patch.yml` in same directory; metadata in `dsh.plugin.json` and `package.json#dsh`

## Use Cases
- When you want to know what plugins, profiles, MCPs, UIs are available in the DSH ecosystem, use this list as an index (README.md:31-52)
- When you want to write your own DSH plugin but lack official spec documentation, reference the directory structure, `cordis.patch.yml` patterns, config schemas and tool definition patterns of the 4 examples in `plugins/` (plugins/README.md:7-46)
- When you want a DSH agent to draw charts, make PPTs, run code reviews, or conduct bounded research in the workspace, directly install the corresponding sub-plugins from the 4 examples (README.md and plugins/README.md:51-55)

## Prerequisites & Compatibility
| Dependency | Min Version | Description |
|---|---|---|
| DeepSeek Harness (DSH) | >= 0.0.1 | Each sub-plugin declares `">=0.0.1"` in `dsh.plugin.json#engines.dsh`; no stricter version requirement for host |
| Node.js | Not declared | No `engines` field in repo; `@types/node` locks `^24.0.0`, sub-plugin scripts compiled via `pnpm install && pnpm build`, runtime uses only Node built-in modules |
| Platform | macOS / Windows / Linux | No native bindings; dsh-code-review calls system git via `execFileSync('git', args)`, requires git command present on host |
| Native Modules | None | No native binding, only uses `node:fs` / `node:path` / `node:child_process` |

## Installation
```bash
dsh plugin --profile web add github:Dominic789654/awesome-deepseek-harness
```

> The repository root is not an npm package; the installation command pulls the entire repository, but what actually takes effect are the 4 sub-plugins under `plugins/`. If you only want to install one or two, you can directly install the subdirectory: `dsh plugin --profile web add file:/absolute/path/plugins/dsh-viz` (plugins/dsh-viz/README.md:9-13). Each sub-plugin needs to run `pnpm install && pnpm build` in its directory before installation, compiling `src/index.ts` into `lib/index.js`, otherwise the Cordis Loader won't find the entry point.

## Configuration
The root of the repository has no configuration items; below are the individual configurations for the 4 sub-plugins, written in the `config` field of their respective profile patches:

### dsh-viz
| Config | Type | Description | Default |
|---|---|---|---|
| `outputDir` | string | Output directory for chart HTML, relative to current workspace root | `artifacts/charts` |
| `echartsSrc` | string | ECharts runtime script src (CDN address or self-hosted URL) | `https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js` |

### dsh-slides
| Config | Type | Description | Default |
|---|---|---|---|
| `outputDir` | string | Output directory for slide HTML, relative to current workspace root | `artifacts/slides` |
| `revealBase` | string | Base URL for reveal.js distribution | `https://cdn.jsdelivr.net/npm/reveal.js@5` |
| `theme` | string | reveal.js theme name (black/white/league/sky/moon/...) | `white` |

### dsh-code-review
| Config | Type | Description | Default |
|---|---|---|---|
| `maxDiffBytes` | number | Byte limit for single diff text return; exceeding triggers truncation with marker, forcing model to recollect by directory | `120000` |

### dsh-research-loop
| Config | Type | Description | Default |
|---|---|---|---|
| `logDir` | string | Research log directory; each topic generates `<slug>.jsonl` under this directory | `.dsh-research` |
| `maxReadEntries` | number | Max log entries per read (takes latest N from tail, oldest→newest order) | `200` |

## FAQ

**Q: What do I get by installing this repository?**

A: After installation, 4 independent plugins under `plugins/` (dsh-viz / dsh-slides / dsh-code-review / dsh-research-loop) will be mounted in the host, registering four tools: chart_render, slides_generate, code_review_context, and research_log; the repository root itself is an awesome-list index and does not play any role in DSH runtime.

**Q: What's the relationship between these 4 plugins and official DSH functionality?**

A: They are not official components, but "structurally faithful" reference skeletons reverse-engineered from highly-rated community plugins and `dsh-plugin-development` skill; the author explicitly states they have not been verified on real DSH instances, and all `@deepseek-ai/*` counterpart dependencies are loosely declared as `*`; they should be treated as examples rather than production plugins.

**Q: Can I install just one or two of them?**

A: Yes. Each sub-plugin is an independent npm package, installed by subdirectory path `dsh plugin --profile <name> add file:/absolute/path/plugins/<subdirectory>`, without needing to install the entire repository.

**Q: What needs to be done before installation?**

A: Must first run `pnpm install && pnpm build` in each sub-plugin directory, because the repository only contains `src/index.ts`, while the `main` in `dsh.plugin.json` points to the compiled product `lib/index.js`; without building, Cordis Loader won't find the entry point.

**Q: Where on my computer will these 4 plugins write files to?**

A: All are forcibly restricted to the current session's workspace root: dsh-viz writes chart HTML to `<workspace>/<outputDir>/`, dsh-slides writes slide HTML to `<workspace>/<outputDir>/`, dsh-research-loop appends JSONL to `<workspace>/.dsh-research/<topic>.jsonl`; dsh-code-review only runs `git diff` and writes no files. Absolute paths and relative paths escaping the workspace will be rejected.

**Q: How is the dsh-code-review review methodology passed to the model?**

A: The tool is only responsible for "fetching the same diff snapshot", the review checklist comes from the accompanying `code-review` skill, providing actionable review opinions in four layers: correctness → security → test → maintainability, and forcing read-only, not basing conclusions on truncated diffs.

**Q: Won't dsh-research-loop run infinitely?**

A: No. The skill specifies three stop conditions: all sub-questions have ≥2 independent source support, one consecutive search round yields no new information, or default 3-round limit is reached; each step persists via `research_log`, next iteration resumes from read, not continuing from memory.

**Q: How to uninstall?**

A: The repository has no built-in uninstall script; use standard DSH process `dsh plugin --profile web remove`, the cordis patch IDs for the 4 sub-plugins are dsh-viz / dsh-slides / dsh-code-review / dsh-research-loop, need to be removed one by one.

## Difficulty Level
Advanced — the repository's "browsing index" usage has zero barrier to entry, but to use the example plugins in `plugins/`, you need to first run `pnpm install && pnpm build` in each subdirectory, then understand the DSH plugin conventions of Cordis / schemastery / `ctx.tools.register`; if you want to use them as templates for writing your own plugins, you also need to read the community practice section explained in `plugins/README.md:7-46`.

## Known Issues & Limitations
- None of the 4 sub-plugins have been verified on real DSH instances; `@deepseek-ai/cordis` / `@deepseek-ai/dsh-tools` / `@deepseek-ai/schemastery` are all loosely declared as optional peer dependencies with `*`, production environment usage requires locking to the actual current DSH version (plugins/README.md:57-59)
- Repository provides no `lib/` compiled products, must run `pnpm install && pnpm build` in each sub-plugin directory before installation, otherwise Cordis can't find `main` pointing to `lib/index.js` (plugins/dsh-viz/package.json:7 / plugins/dsh-viz/README.md:9-13)
- dsh-code-review requires workspace to be a git repository and `git` command in PATH, otherwise `execFileSync('git', ...)` throws (plugins/dsh-code-review/src/index.ts:46-53)
- dsh-viz / dsh-slides / dsh-research-loop all get workspace root from `ctx.get('agents').currentInitiator().session.header.cwd`, throws directly when no active session, no fallback to default path (plugins/dsh-viz/src/index.ts:42-49)
- dsh-viz / dsh-slides introduce ECharts / reveal.js via CDN, opening generated HTML offline or under restricted network will lose charts and styles (plugins/dsh-viz/src/index.ts:33 / plugins/dsh-slides/src/index.ts:32-33)

---

This document is auto-generated by [deepseek-plugin.org](https://deepseek-plugin.org). HTML page: [awesome-deepseek-harness](https://deepseek-plugin.org/plugins/Dominic789654/awesome-deepseek-harness)
Wiki generated by AI (model: `MiniMax-M2.5`)
