DeepSeek Harness Plugin

magian1127/deepseek-harness-zhipu_plan_tools

Stars ★ 1 Downloads (30d) 762 Category Browser & Web Added 2026-09-02 npm deepseek-harness-zhipu_plan_tools

Zhipu (GLM Coding Plan) web suite as native DSH providers and tools: rebinds the built-in web_search and web_fetch to Zhipu web search and Markdown page reading, optionally registers github_search_doc / github_get_repo_structure / github_read_file repo tools, and adds a settings card with toggles and a credential-ref field.

Install

# from npm (prebuilt)

dsh plugin --profile web add deepseek-harness-zhipu_plan_tools

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:magian1127/deepseek-harness-zhipu_plan_tools

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

Zhipu MCP suite · DeepSeek Harness plugin

中文 · English

Brings three Zhipu GLM Coding Plan MCP services into DSH as native providers and tools: it replaces the built-in web_search and web_fetch backends, and optionally adds three github_* repository tools. A bilingual settings card applies changes live.

Features and settings order

Expand Zhipu Tools under DSH Settings → Plugins → Plugin configuration. The rows below follow the card from top to bottom:

Setting Plugin default Summary
Enable Zhipu tools on Master switch; off enters search/reader compatibility fallbacks and unregisters repo tools and related guidance while keeping the card
Web search (takes over web_search) on Routes search through Zhipu web_search_prime and replaces the model-visible built-in search guidance
Web reader (takes over web_fetch) on Routes reads through Zhipu webReader; DSH still keeps the web_fetch tool itself off by default
Repository tools off Adds github_search_doc, github_get_repo_structure, and github_read_file
Chinese prompts off Switches plugin-injected guidance and tool descriptions from the default English to Chinese; tool names stay unchanged
Credential reference ZAI_CODING_CN_API_KEY Stores only the credential reference name, never the API key

The card starts collapsed and ends with Restore defaults / Discard changes / Save. Search and reader are provider swaps, so model-facing web tool names stay unchanged; repository tools are registered natively and disappear from the model catalog when disabled. The web_search shadow is never registered under the minimal preset (the "persistent shell + str_replace_editor" two-tool composition), preserving that preset's promise. See the behavior contract for query guidance, data boundaries, and errors.

Requirements

  • DeepSeek Harness Web GUI, profile web, ≥ 0.1.2-alpha.1
  • Node.js ^22.19.0 || >=24.0.0
  • A Zhipu GLM Coding Plan API key referenced by ZAI_CODING_CN_API_KEY by default

Install

Published package:

dsh plugin --profile web add deepseek-harness-zhipu_plan_tools
# Hot-install into a running DSH instance:
npx -y deepseek-harness-zhipu_plan_tools install --profile web

Local source development:

npm install
node bin/dsh-zhipu.mjs install --profile web --link <project-path>

This package patch includes web.config, so it is not compatible with dsh-zh's simple manifest reconcile. The CLI uses this project's bridge/temporary-entry strategy; after it reports completion, confirm status, the live provider/tool registries, and the existing GUI:

npx -y deepseek-harness-zhipu_plan_tools status --profile web

First use: add zai-coding-cn

Before calling the tools:

  1. Open DSH Settings → Models.
  2. Add the China-region provider zai-coding-cn, not the overseas zai.
  3. Ensure ZAI_CODING_CN_API_KEY exists in the environment or ${DSH_HOME:-~/.dsh}/.credentials.yaml.

The provider and this plugin then use the same credential reference. If your key uses a different environment-variable name, set that name as credentialRef in the plugin card. Resolution order and security guarantees are defined in Credentials and data boundaries.

Enable web_fetch

DSH normally keeps the web_fetch tool off. This plugin supplies its backend but does not change that independent switch. Enable it in the profile patch:

- id: tool-web
  config:
    fetch: true

Once enabled, web_fetch automatically uses the Zhipu reader. See the authoritative enablement boundary.

Settings and data

The six fields shown above are stored in that same order in the dsh-zhipu namespace of DSH settings.yaml and apply live; the API key itself is never stored there. Switching search/reader off enters compatibility fallbacks at runtime (the DSH DeepSeek request shape via DEEPSEEK_API_KEY; a bounded HTTP(S) text fetch), without restarting DSH. The HTTP fallback validates URLs, follows same-origin redirects only, and caps transfer and decoded output; its exact limits and residual DNS-rebinding boundary are documented in the behavior contract, together with credential lookup, failure codes, and telemetry boundaries.

Uninstall

dsh plugin --profile web remove deepseek-harness-zhipu_plan_tools
# or
npx -y deepseek-harness-zhipu_plan_tools remove --profile web

Removal clears the plugin's mount/dependency and hot-unloads it. Existing values under the dsh-zhipu settings namespace may remain for a later reinstall.

Development

Use Development for repository structure, hot paths, invariants, and test strategy. Use Release for the complete pre-publish checklist. The common local checks are:

npm run typecheck
npm run build
npm test
npm run verify

Do not restart DSH for development or verification; follow the documented hot path and refresh the existing GUI only when needed.

Documentation index

  • Behavior contract — defaults, settings, credentials, boundaries, errors
  • Architecture — runtime structure, module contracts, decisions, research, roadmap
  • Development — repository layout, hot paths, invariants, tests
  • Troubleshooting — symptom-driven diagnosis and runtime observation
  • Release — validation, version notes, npm publishing

Roadmap

The technical roadmap is maintained in Architecture; release state belongs in Release.

License

MIT

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.