Skip to content

feat(argo-zcode): add unified search, fetch, and evidence verification plugin - #120

Open
taxueseek wants to merge 1 commit into
zai-org:mainfrom
taxueseek:main
Open

taxueseek wants to merge 1 commit into
zai-org:mainfrom
taxueseek:main

Conversation

@taxueseek

Copy link
Copy Markdown

Plugin type

Standard plugin (skills / commands / agents / MCP / ui surface)

What it does

Argo 阿尔戈 — unified search, web fetching, and evidence verification over 272 sources (235 keyless), covering deep research, academic, social listening, WeChat articles, job aggregation, and local retrieval. Capability is provided by the open-source argo CLI (Apache-2.0); this plugin is its three-layer integration into ZCode:

Layer Form Notes
Model channel skills + commands + agents /argo for one-shot Q&A, /wide-research for multi-track orchestrated research with a source ledger and quality gate; the argo-researcher agent enforces worker tool allowlists mechanically via frontmatter
Control channel ui.surfaces side panel Toggles for all 272 engines, key management (write-only, never echoed), via callServerTool — page-to-server traffic costs zero model tokens
CLI channel skill-guided CLI Model follows skill discipline to call argo search/fetch/research etc.; the panel MCP server returns an empty tools/list, so no model-facing token cost

Engine toggles write to argo's own local override layer (config.local.yaml, gitignored) through a Python bridge that reuses argo's config loader; keys go to argo's env file (chmod 600). No build step needed — the panel is static HTML vendoring the official @modelcontextprotocol/ext-apps@2.0.0 browser bundle.

Validation

  • python3 scripts/validate.py → OK: 52 plugin(s) validated
  • tests/test_catalog_classification.py → 9 passed, 10 subtests passed
  • Local stdio protocol tests: initialize / tools/list (empty) / resources/list / resources/read (text/html;profile=mcp-app) / tools/call (get_panel returned all 272 engines + env key names)
  • py_bridge round-trip: set-engine writes a valid override file; invalid key names rejected at the MCP tool boundary
  • Runtime panel verification inside ZCode Desktop pending merge/install (manual acceptance steps are in the plugin README)

相关依赖 / Dependencies

Users need the argo CLI installed (the skill provides install guidance); pyyaml comes with argo. Node.js is provided by the ZCode Desktop host.

…n plugin

Three-layer integration of argo CLI (272 sources, 235 keyless):
- Model channel: skills (argo / argo-wide-research) + commands (/argo, /wide-research) + argo-researcher agent with tool allowlist
- Control channel: ui.surfaces panel for engine toggles (272) and key management; panel MCP server keeps tools/list empty so model-facing token cost stays zero
- Config bridge: reuses argo's own config loader (config.local.yaml override layer + env file, chmod 600)
@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.

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