Skip to content

feat(baizhi-agent-toolkit): add Baizhi MCP plugin - #85

Draft
ct-jaryn wants to merge 1 commit into
zai-org:mainfrom
ct-jaryn:feat/baizhi-agent-toolkit
Draft

ct-jaryn wants to merge 1 commit into
zai-org:mainfrom
ct-jaryn:feat/baizhi-agent-toolkit

Conversation

@ct-jaryn

@ct-jaryn ct-jaryn commented Oct 12, 2026 •

Copy link
Copy Markdown

Plugin type (required) / 插件类型(必填)

  • UI Plugin / 是 UI 插件 — provides MCP Apps interactive pages
  • Standard plugin / 普通插件(非 UI) — does not provide MCP Apps interactive pages
  • Not applicable / 不适用 — repository-only changes

Affected plugin name(s) / 涉及的插件名称:baizhi-agent-toolkit

What / 改动内容

Add a community Baizhi MCP plugin and its English/Chinese marketplace entry so ZCode users can discover an optional integration for web search, webpage reading, and structured extraction. This adds five plugin files and only its own catalog entry, without hooks, commands, UI pages, local executables, automatic approvals, or host changes.

The remote Streamable HTTP configuration uses https://agent-toolkit.app.baizhi.cloud/mcp and Authorization: Bearer ${ZCODE_BAIZHI_API_KEY}. Users supply their own nonempty key through the environment that launches ZCode; this does not add a password form or keychain. ZCode may enable a newly installed marketplace plugin automatically; installation with a configured key can therefore initialize the remote connection and discover tools. The equivalent bilingual READMEs document setup, unset versus empty variables, automatic connection/discovery, data destinations, service quota/costs, permissions, and the limits of disabling/uninstalling. This is a community contribution by ct-jaryn, without a certification or partnership claim.

为 ZCode 插件市场增加可选的“百智云 / Baizhi MCP”条目及最小远程 MCP 插件。用户自行配置 Key;双语说明明确网络、费用和验证边界,不宣称产品核心内置或官方认证。

Verification / 验证

Draft / not ready for review: Complete repository build/distribution has not been verified on this final head. This update resolves the original catalog conflict; it does not request review or claim plugin completion, merge readiness, or publication.

On 2026-10-16, rebased the original PR onto the actual latest main f254999a67b446f9aa26fb60c0028e929ff8e073. A final pre-publication fetch detected this upstream advance and stopped the previous candidate before any public write. All 46 latest upstream entries, including the three newly updated UI-plugin versions, remain unchanged and in order; only this PR's own Baizhi entry is added (47 total). No removed upstream entries, generic scripts or host changes are introduced.

All five installable files remain byte-for-byte equal to the preceding public PR head b7ec524ba13550ec4db0a65163f7c11c93d27f8a. The proposed initial version remains 0.1.0 in both manifests; no artifact is published by this update. The current generator classifies this package as publisherType: community, usage category utilities, component mcp. Its deterministic five-file ZIP is unchanged: 10381 bytes, SHA-256 69d1de0ea875fab102022aa8c1d005b837f0ad491b409b4485442910c6bd958d.

Current checks rerun on this final base/head (2026-10-16, Node 24.21.0 / pnpm 10.33.2):

  • pnpm install --frozen-lockfile succeeded using an isolated package store.
  • python3 scripts/validate.py passed for all 47 catalog entries.
  • python3 -m unittest tests.test_catalog_classification passed: 7 tests.
  • pnpm exec vitest run tests/local-marketplace.test.ts passed: 19 tests.
  • git diff --check f254999a...HEAD passed, and the worktree is clean. Only the six intended paths differ from main.
  • The current repository's build_zip and index classifier generated the Baizhi archive; all five members match the source files and original ZIP exactly. This is a targeted artifact check, not a passing full-marketplace build.

Earlier attempt retained, not extrapolated to this final head: On the prior local candidate 851418ea based on 239a4203, pnpm build exceeded the pre-set 20-minute local limit while building the unchanged OpenPencil UI plugin. The local runner classified the timeout as 124; the native pnpm exit code was not observed. Its remaining owned build descendants were stopped. That candidate's subsequent python3 scripts/build_dist.py actually exited 1 with UnsafeTree: openpencil: incomplete build; run pnpm build first. Exact timeout output and later descendant output were preserved separately. Those implicated inputs were byte-identical to that main, which is source comparison, not a separately reproduced full-main build. The final rebase changes upstream UI setup code; the expensive whole-repository build/distribution was not rerun, remains unverified and is not reported green. No unrelated UI repair is included.

The following actual-host evidence remains 2026-10-13 historical evidence, not a repeated runtime suite on this final head:

  • On 2026-10-13, a separate harness imported the actual ZCode plugin/marketplace/MCP adapter modules from source aac4755666d09fdcd70272fcf063c077a639015f (source version 3.15.1), using Node 24.21.0 and locked MCP client/server SDK 2.0.0. Forty-eight module checks passed, covering localized catalog parsing, registration, installation and exact cached files, discovery, unset/empty keys, native initialization/list/call, replacement credentials, disabled configuration, rediscovery, and uninstall. Nineteen HTTP requests went exclusively to a synthetic loopback MCP fixture; the unchanged vendor URL was mapped at the test transport boundary, and non-loopback requests were blocked.

Limits: These are local build and actual module/SDK checks, not a full desktop GUI or product CLI run, a released-host compatibility claim, remote CI, official market publication, or a live Baizhi/model test. No real service or model request was sent. The host's static marketplace validator uses an empty environment and reports plugin_variable_missing for this configuration even when the test process has the synthetic variable; this diagnostic is retained rather than reported as a passing validator. Runtime discovery using the supplied environment was tested separately. Desktop installation, environment inheritance and user approvals still need product-level validation.

Self-check / 自查清单

  • Plugin name is unique kebab-case; new external plugin directory is external_plugins/<name>/
  • Usage category is utilities, independent of community publisher classification
  • Plugin type and affected names are declared above
  • version is synchronized in BOTH plugin.json and marketplace.json (new plugin: initial 0.1.0)
  • README.md (EN) and README_CN.md (中文) both updated and equivalent
  • description_i18n has both en and zh-CN
  • No secrets, machine-specific paths, or private dependencies
  • Model/API/network dependencies documented
  • python3 scripts/validate.py and python3 scripts/build_dist.py both pass locally — current validator passes; complete build/distribution remains unverified as disclosed above

@panda920

Copy link
Copy Markdown
Collaborator

✅ Internal validation passed. A ZCode maintainer will review the change next; after acceptance, release checks run separately and this PR is closed automatically.

@ct-jaryn
ct-jaryn force-pushed the feat/baizhi-agent-toolkit branch from 4c142c9 to b7ec524 Compare October 13, 2026 10:18
@panda920

Copy link
Copy Markdown
Collaborator

✅ Internal validation passed. A ZCode maintainer will review the change next; after acceptance, release checks run separately and this PR is closed automatically.

@ct-jaryn
ct-jaryn marked this pull request as draft October 16, 2026 10:31
@ct-jaryn
ct-jaryn force-pushed the feat/baizhi-agent-toolkit branch from b7ec524 to dde247a Compare October 16, 2026 10:31

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants