From f02ef7d620c71d38770eaa3269e3e2c4e1fb7378 Mon Sep 17 00:00:00 2001
From: esengine <359807859@qq.com>
Date: Sat, 17 Oct 2026 21:34:45 -0700
Subject: [PATCH] feat(integrations): DeepSeek Harness plugin market index for
the Reasonix bundle
The index pins the commit that last changed the package; scripts/dsh-market-index.mjs
pins it and validates it with DSH's own validator. docs/DSH.md explains Discover
and the Studio release runbook gains a precondition that keeps the pin current.
---
docs/DSH.md | 17 ++++++
docs/STUDIO_RELEASE.md | 1 +
integrations/dsh-plugin/market-index.json | 73 +++++++++++++++++++----
3 files changed, 81 insertions(+), 10 deletions(-)
diff --git a/docs/DSH.md b/docs/DSH.md
index 6ef40f8f1b..e39f5731a0 100644
--- a/docs/DSH.md
+++ b/docs/DSH.md
@@ -10,6 +10,8 @@ reviewed: 2026-10-17
ACP
·
DSH subagent-acp
+ ·
+Reasonix website
## Purpose
@@ -65,6 +67,21 @@ dsh plugin --profile add github:esengine/DeepSeek-Reasonix#path:/integ
The bundle pins `@deepseek-ai/dsh-subagent-acp` and `dsh` to the same version (`0.2.1-rc.2` today) and uses `permission: reject`. Change the policy in your own `cordis.patch.yml`, never in the package.
+## Finding it in Discover
+
+DSH ships an optional "Custom plugin markets" feature with no default index; a user adds index URLs themselves. This repository publishes one:
+
+1. In the DSH Web UI open Plugins, select More beside Experimental plugins and switch on Custom plugin markets.
+2. In the Discover tab add this index URL:
+
+```text
+https://raw.githubusercontent.com/esengine/DeepSeek-Reasonix/studio/integrations/dsh-plugin/market-index.json
+```
+
+3. Select "Reasonix subagent" and install. The entry page shows the author, the website, the source repository and the exact pinned commit.
+
+The index entry pins a commit, so it is re-pinned whenever the package changes (see the Studio release runbook).
+
## Configuration reference
| Key | Where | Meaning |
diff --git a/docs/STUDIO_RELEASE.md b/docs/STUDIO_RELEASE.md
index 24cd3f66f0..ad9a0743c3 100644
--- a/docs/STUDIO_RELEASE.md
+++ b/docs/STUDIO_RELEASE.md
@@ -25,6 +25,7 @@ Workflow: `.github/workflows/release-studio.yml`. Trigger: push of a `studio-vX.
| P3 | `release-notes/studio/X.Y.Z.md` is in that commit and passes `make check`. | `git cat-file -e :release-notes/studio/X.Y.Z.md` |
| P4 | The version is valid semver and above the latest tag. | `git tag -l 'studio-v*' --sort=-v:refname \| head -1` |
| P5 | The Windows signing mode is known. `true` signs with Certum and blocks the release if signing fails; anything else ships unsigned and the body says so. | `gh variable list \| grep STUDIO_SIGNING` |
+| P6 | The DeepSeek Harness market index pins the current `integrations/dsh-plugin`. On failure run `node scripts/dsh-market-index.mjs --pin` and commit the index with the release notes. | `node scripts/dsh-market-index.mjs --check` |
## 3. Steps
diff --git a/integrations/dsh-plugin/market-index.json b/integrations/dsh-plugin/market-index.json
index 54fe99afd1..9c5cecb70d 100644
--- a/integrations/dsh-plugin/market-index.json
+++ b/integrations/dsh-plugin/market-index.json
@@ -1,6 +1,9 @@
{
"format": 1,
- "title": { "en": "Reasonix", "zh": "Reasonix" },
+ "title": {
+ "en": "Reasonix",
+ "zh": "Reasonix"
+ },
"description": {
"en": "Run Reasonix as a subagent from DeepSeek Harness.",
"zh": "在 DeepSeek Harness 中把 Reasonix 作为子智能体运行。"
@@ -8,23 +11,73 @@
"plugins": [
{
"name": "dsh-plugin-reasonix",
- "title": { "en": "Reasonix subagent", "zh": "Reasonix 子智能体" },
+ "title": {
+ "en": "Reasonix subagent",
+ "zh": "Reasonix 子智能体"
+ },
"description": {
"en": "Delegate tasks to Reasonix over the Agent Client Protocol. Configuration only, no code.",
"zh": "通过 Agent Client Protocol 把任务委派给 Reasonix。只有配置,没有代码。"
},
"author": "Reasonix",
- "homepage": "https://github.com/esengine/DeepSeek-Reasonix/blob/studio/docs/DSH.md",
- "repository": { "url": "https://github.com/esengine/DeepSeek-Reasonix", "directory": "integrations/dsh-plugin" },
- "metadata": { "keywords": ["reasonix", "acp", "subagent", "deepseek"] },
+ "homepage": "https://reasonix.io",
+ "repository": {
+ "url": "https://github.com/esengine/DeepSeek-Reasonix",
+ "directory": "integrations/dsh-plugin"
+ },
+ "metadata": {
+ "category": "agents",
+ "labels": [
+ "reasonix",
+ "deepseek"
+ ],
+ "keywords": [
+ "reasonix",
+ "acp",
+ "subagent",
+ "deepseek",
+ "delegation"
+ ]
+ },
"versions": [
{
- "version": "0.0.0",
- "publishTimestamp": 0,
- "source": { "type": "git", "url": "https://github.com/esengine/DeepSeek-Reasonix", "commit": "0000000000000000000000000000000000000000", "path": "integrations/dsh-plugin" },
- "engines": { "dsh": "0.0.0" }
+ "version": "0.1.0",
+ "publishTimestamp": 1792315829,
+ "source": {
+ "type": "git",
+ "url": "https://github.com/esengine/DeepSeek-Reasonix",
+ "commit": "79430cf8cf978505a2a8f433e4dc29a6def5e3cf",
+ "path": "integrations/dsh-plugin"
+ },
+ "engines": {
+ "dsh": "0.2.1-rc.2"
+ }
}
]
}
- ]
+ ],
+ "metadata": {
+ "categories": {
+ "agents": {
+ "title": {
+ "en": "Agents and orchestration",
+ "zh": "智能体与编排"
+ }
+ }
+ },
+ "labels": {
+ "reasonix": {
+ "title": {
+ "en": "Reasonix",
+ "zh": "Reasonix"
+ }
+ },
+ "deepseek": {
+ "title": {
+ "en": "DeepSeek",
+ "zh": "DeepSeek"
+ }
+ }
+ }
+ }
}