插件目录 / Developer / dsh-plugin-structured-output
dsh-plugin-structured-output
已验证 · 实测可装 royenheart
功能简介
deepseek harness plugin structured output
可用 — 实测通过,早期项目
deepseek harness plugin structured output 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
@royenheart/dsh-plugin-structured-output
opencode-style json_schema structured output for dsh agents, built entirely
on native dsh seams (no dsh source changes):
- visibility is per agent preset (mode) and is opt-in: Settings →
结构化输出工具 / Structured output chooses which modes expose it; - in enabled modes,
/json-schema <json>stores an object-rooted JSON Schema
for the receiving session and theStructuredOutputtool is registered; - the next prompt receives opencode's instruction to return the final answer
throughStructuredOutputinstead of plain text; - the tool validates the output with the native dsh JSON Schema subset
(@deepseek-ai/dsh-tools) and rejects malformed values.
Install
lib/ is generated locally and is not committed. install.py always builds
the repository's own toolchain first (npm install when the toolchain is
missing, then npm run build) and only reports an error when npm itself is
missing.
Install/uninstall idempotently with the bundled script (stdlib-only
Python). The package ships its own cordis.patch.yml (idstructured-output) and declares dsh.bundle.patch, so the script only links
the package into the profile node_modules, adds the link: dependency, and
appends the package to dsh.profile.bundles. The profile's owncordis.patch.yml is never modified:
python3 install.py install --profile web # install
python3 install.py uninstall --profile web # remove
python3 install.py install --profile web --home "$DSH_HOME" # explicit home
Manual alternative:
dsh plugin --profile web add link:/path/to/dsh-plugin-structured-output
dsh plugin reconciles dsh.profile.bundles from the installed package'sdsh.bundle declaration, so no profile patch edit is needed either.
Per-mode visibility
No mode is enabled by default. After installing, open Settings →
结构化输出工具 (Structured output) and toggle the agent presets that should
see StructuredOutput and /json-schema. Disabled modes see neither surface;
the choice applies to sessions created after the change.
Usage
/json-schema {"type":"object","properties":{"answer":{"type":"string"}},"required":["answer"],"additionalProperties":false}
What is the answer to life, the universe, and everything?
The model must then call StructuredOutput with a valid object.
Supported schemas follow dsh's enforced JSON Schema subset: any JSON root,
object properties/required/boolean additionalProperties, array items,
scalar enum/const, and exact-one oneOf. Unsupported keywords are
rejected at /json-schema time.
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-plugin-structured-output」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:royenheart/dsh-plugin-structured-output Headless(CLI)profile:
dsh plugin --profile headless add github:royenheart/dsh-plugin-structured-output 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。