BrucePayton/dsh-plugin-graphgpt ↗★ 0
dsh-plugin-graphgpt
将经过验证的 GraphGPT YAML 工作流作为原生 DeepSeek Harness 工具运行的插件。
AI 分析
核心用途是在 DSH 中原生运行和验证 GraphGPT 工作流。适合需要在 AI 代理任务中引入结构化图工作流的开发者。必要条件是需在环境中安装 graphgpt-builder 并配置工作流路径。
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-plugin-graphgpt
Expose validated GraphGPT YAML workflows as a native model-facing tool in DeepSeek Harness.
The plugin registers one narrowly scoped tool, graphgpt_workflow, with three actions:
validatechecks a workflow and returns GraphGPT's JSON diagnostics.inspectreturns its normalized graph structure.runexecutes it with JSON state input.
Why this integration
DeepSeek Harness supplies the agent runtime and tool protocol. GraphGPT supplies declarative, versionable LangGraph generation and execution. Together, a Harness agent can invoke reusable graph workflows without receiving arbitrary shell access.
Requirements
- Node.js
^22.19.0or>=24 - DeepSeek Harness / Cordis
- Python 3.11+
graphgpt-builder==0.8.0
Install
Install GraphGPT and this plugin in the environment that runs DeepSeek Harness:
python -m pip install graphgpt-builder==0.8.0
pnpm add dsh-plugin-graphgpt
Until the npm package is published, install directly from GitHub:
pnpm add github:BrucePayton/dsh-plugin-graphgpt#v0.1.0
Add the plugin to your Cordis patch/configuration:
- id: graphgpt-workflow
name: dsh-plugin-graphgpt
config:
root: /absolute/path/to/graphgpt/workflows
command: [graphgpt]
timeoutMs: 120000
maxOutputChars: 50000
The command is an argument array, not a shell string. For an isolated runner it can also be configured as, for example, [uvx, --from, graphgpt-builder==0.8.0, graphgpt].
Copy examples/workflow.yaml and examples/nodes.py into the configured root for a minimal end-to-end example. A Harness agent can then call:
{
"action": "run",
"workflow": "workflow.yaml",
"input": { "message": "DeepSeek Harness" }
}
The structured result contains ok, action, workflow, exitCode, stdout, stderr, and truncated.
Security model
The tool intentionally does not accept commands or CLI flags from the model. Deployment owners configure the executable, root, timeout, and combined output limit. Each requested workflow must:
- be a relative path beneath the configured root;
- resolve beneath that root after symlink resolution;
- be a regular
.yamlor.ymlfile.
The child process uses shell: false, propagates Harness cancellation, and enforces time/output bounds. GraphGPT's own module allowlist remains the execution-policy boundary for Python nodes. Only deploy reviewed workflows and dependencies. See SECURITY.md.
Development
pnpm install
pnpm run check
pnpm test
GRAPHGPT_E2E=1 pnpm test
pnpm run pack:check
The regular suite uses a fake executable to verify exact argv and working-directory behavior. The opt-in end-to-end test runs the included workflow with the real public GraphGPT package.
Compatibility
| Component | Tested version |
|---|---|
| DeepSeek Harness tool API | @deepseek-ai/dsh-tools@0.1.1-rc.2 |
| Cordis | @deepseek-ai/cordis@4.0.1 |
| GraphGPT | graphgpt-builder==0.8.0 |
| Node.js | 22.19.0 |
Contributing
Issues and pull requests are welcome. Please read CONTRIBUTING.md. This independent community plugin is not an official DeepSeek product.
License
MIT