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" + } + } + } + } }