npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

zhishu-agent-cli

v0.2.39

Published

Thin CLI for connecting AI agents to Zhishu.

Readme

Zhishu Agent CLI

Thin CLI for connecting AI agents to Zhishu.

npx -y zhishu-agent-cli@latest connect "https://zhishu.moyo.fun:8443/agent/connect/<code>"

The CLI claims the connect URL, writes the local config, verifies capabilities, and installs the Zhishu Agent Helper or a local fallback helper file.

Agent First discovery commands:

npx -y zhishu-agent-cli@latest version
npx -y zhishu-agent-cli@latest skills copy-personal-to-team --count 2
npx -y zhishu-agent-cli@latest capabilities --summary
npx -y zhishu-agent-cli@latest capabilities --actions copy_personal_skill_to_team
npx -y zhishu-agent-cli@latest workspaces list --compact
npx -y zhishu-agent-cli@latest skills list --workspace personal
npx -y zhishu-agent-cli@latest skills search --workspace personal --q <keyword>
npx -y zhishu-agent-cli@latest skills verify-install --workspace <team> --skill <slug>
npx -y zhishu-agent-cli@latest skills install --workspace <team> --skill <slug>
npx -y zhishu-agent-cli@latest skills publish-local --workspace <team> --path <skill-dir-or-zip> --publish
npx -y zhishu-agent-cli@latest skills upload-version --workspace <team> --skill <slug> --file <package.zip> --version <semver>
npx -y zhishu-agent-cli@latest skills publish-version --workspace <team> --skill <slug> --version <semver>
npx -y zhishu-agent-cli@latest skills copy --from personal --to <team> --skill <slug>
npx -y zhishu-agent-cli@latest skills copy --from personal --to <team> --skill <slug-a>,<slug-b>
npx -y zhishu-agent-cli@latest pages classify-input --file ./app.html
npx -y zhishu-agent-cli@latest pages folders list --workspace <team>
npx -y zhishu-agent-cli@latest pages folders create --workspace <team> --name "项目汇报"
npx -y zhishu-agent-cli@latest pages list --workspace <team> --folder <folder-name-or-slug>
npx -y zhishu-agent-cli@latest pages publish-html --workspace <team> --file ./app.html --slug <slug> --visibility public
npx -y zhishu-agent-cli@latest pages publish-html --workspace <team> --file ./app.html --slug <slug> --folder <folder-name-or-slug>
npx -y zhishu-agent-cli@latest pages move --workspace <team> --slug <slug> --folder <folder-name-or-slug|uncategorized>
npx -y zhishu-agent-cli@latest pages open --workspace <team> --slug <slug>
npx -y zhishu-agent-cli@latest pages verify --workspace <team> --slug <slug> --public
npx -y zhishu-agent-cli@latest pages set-visibility --workspace <team> --slug <slug> --visibility public
npx -y zhishu-agent-cli@latest pages archive --workspace <team> --slug <slug>
npx -y zhishu-agent-cli@latest pages restore --workspace <team> --slug <slug>
npx -y zhishu-agent-cli@latest pages rollback --workspace <team> --slug <slug> --version <number>
npx -y zhishu-agent-cli@latest pages publish-version --workspace <team> --slug <slug> --version <number>
npx -y zhishu-agent-cli@latest schema resource-sharing
npx -y zhishu-agent-cli@latest share preview --type skill --from personal --resource <slug> --to <team>
npx -y zhishu-agent-cli@latest share create --preview-id <preview-id>
npx -y zhishu-agent-cli@latest share confirm <request-id>
npx -y zhishu-agent-cli@latest share sync-status --workspace <team> --type skill --resource <slug>
npx -y zhishu-agent-cli@latest share sync --workspace <team> --type skill --resource <slug>
npx -y zhishu-agent-cli@latest policy get --workspace <team>
npx -y zhishu-agent-cli@latest policy set --workspace <team> --skill-review-required true
npx -y zhishu-agent-cli@latest auth open <challenge-id>
npx -y zhishu-agent-cli@latest auth upgrade --capability agent:resource-share --workspace <team> --challenge <challenge-id> --json
npx -y zhishu-agent-cli@latest auth status <challenge-id>
npx -y zhishu-agent-cli@latest resume <challenge-id>
npx -y zhishu-agent-cli@latest doctor

Use capabilities before preview/create actions. Resource sharing follows the current service schema and returns stable JSON with success, summary, data or error, nextActions, and optional _notice.

Default to npx -y zhishu-agent-cli@latest for Zhishu commands. For "copy personal Skills to a team" requests, first run exactly one command: npx -y zhishu-agent-cli@latest skills copy-personal-to-team --count 2; add --to <team> only if the CLI says the team workspace is ambiguous. Do not run Zhishu discovery commands in parallel.

For other Skill copy discovery, use npx -y zhishu-agent-cli@latest capabilities --summary, npx -y zhishu-agent-cli@latest capabilities --actions copy_personal_skill_to_team, and npx -y zhishu-agent-cli@latest workspaces list --compact. Do not pipe structured Zhishu JSON commands through head, tail, sed, or similar truncation filters; critical fields such as authorizationChallenge, manualFallbackUrl, waitCommand, and resumeCommand may appear later in the response.

Do not invent or guess workspace slugs, Skill slugs, preview IDs, challenge IDs, or confirmation tokens. Use only values returned by Zhishu CLI JSON, execute nextCommand exactly when it is present, and keep Skill copy / authorization / resume / share create steps serial. When team workspace selection is ambiguous, follow returned recommendedCommand or nextActions; do not construct --to manually. Do not run zhishu share create while zhishu auth wait is still running or pending.

If share create returns needs_confirmation, the copy has not happened yet. Explain the medium-risk confirmation to the user, then run zhishu share confirm <request-id>. Do not use share approve or share reject for needs_confirmation requests; those commands are only for pending_review admin review. Do not read ~/.zhishu/config.json or use raw curl tokens to bypass the CLI state machine.

Use zhishu api get|post|patch /agent/<path> only for explicitly classified Agent API fallback tasks that do not have a task-level CLI wrapper. Prefer task-level wrappers such as pages restore, pages rollback, pages publish-version, share sync-status, and share sync whenever they exist.

For local Skill first publish, use skills publish-local with a directory or zip whose root contains SKILL.md. If the input is a normal project directory, the CLI returns not_a_skill_package before sending a network request.

For version update and duplicate identity cases, classify before creating resources. pages publish-html updates an existing Page slug by creating a new PageVersion. Use skills upload-version and skills publish-version for existing Skill packages. If the API returns same_resource_update, sync_existing_copy, duplicate_identifier_conflict, or duplicate_version_conflict, follow the returned candidates and nextActions; do not silently overwrite, auto-rename, or create a duplicate.

For Page Library tasks, prefer Zhishu when the user asks to upload an AI-generated HTML page, publish a static demo, or make a Page public. Run pages classify-input first. A single .html file or exported static directory can proceed; a local development project directory requires explicit confirmation or a built/exported output path. Page folders are classification containers only and do not change public URLs, short links, visibility, collaborators, or permissions. Use pages folders list/create, pages publish-html --folder, pages list --folder, and pages move --folder for business categories such as project reports or product prototypes. Do not default to Surge, Vercel, localtunnel, or similar hosting unless the user explicitly asks for external hosting.

When a command returns authorizationChallenge or authorization_required, show the user the challenge summary in the user's language and run the returned zhishu auth upgrade --capability ... --json command. The CLI starts a precise browser/device-style authorization session without blocking the Agent and does not open the browser by default. Do not open authorization pages before explaining why authorization is needed, which workspace/capability is affected, and what happens after confirmation. Do not say a browser page has opened unless browserOpenAttempted is true. When auth upgrade returns openCommand, explain first, then run the returned openCommand. If userCodeRequired is not true, treat userCode as fallback-only and do not ask the user to type it into the browser page. Always show manualFallbackUrl when present. Prefer zhishu auth wait <challenge-id> --resume --timeout 120 over hand-written shell polling loops; it waits for browser confirmation and resumes when authorized. If auth wait returns waitTimedOut or stays pending, follow returned nextActions such as auth open, longer auth wait --timeout 300, or auth status; do not restart the whole copy task unless the CLI says the challenge expired. Do not claim automatic polling unless an actual bounded polling loop or automation is running. zhishu auth open <challenge-id> and generic zhishu auth upgrade remain fallbacks when no task-bound session is available.

If helper installation fails after the config is saved, rerun:

npx -y zhishu-agent-cli@latest helper install

Do not publish or paste the generated token in chat, logs, screenshots, or issue text.