← Browse

@shenjingnan/xiaozhi-client

A

MCP server package xiaozhi-client

mcp_servermcp

Install

agr install @shenjingnan/xiaozhi-client --target claude

This artifact does not publish files for Claude.

Document

{ "name": "xiaozhi-client", "version": "2.4.0-beta.3", "description": "小智 AI 客户端 命令行工具", "repository": { "type": "git", "url": "https://github.com/shenjingnan/xiaozhi-client.git" }, "author": "shenjingnan sjn.code@gmail.com", "license": "MIT", "engines": { "node": ">=22.0.0" }, "keywords": [ "xiaozhi", "mcp", "websocket", "ai" ], "type": "module", "main": "dist/cli/index.js", "files": [ "dist", "template", "README.md", "LICENSE" ], "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org" }, "bin": { "xiaozhi": "dist/cli/index.js", "xiaozhi-client": "dist/cli/index.js" }, "scripts": { "build": "pnpm run clean:dist && pnpm run build:server && pnpm run build:cli && pnpm run build:web", "build:server": "cd src/server && tsdown --config-loader unrun", "build:cli": "cd src/cli && tsdown --config-loader unrun", "build:web": "cd src/web && vite build", "dev": "concurrently "cd src/server && tsdown --config-loader unrun --watch" "cd src/cli && tsdown --config-loader unrun --watch" "cd src/web && vite" --prefix "[{name}]" --names "SERVER,CLI,WEB"", "dev:cli": "cd src/cli && tsdown --config-loader unrun --watch", "dev:backend": "cd src/server && tsdown --config-loader unrun --watch", "dev:frontend": "cd src/web && vite", "dev:docs": "cd docs && npm run dev", "test": "vitest run --config src/vitest.config.ts", "test:coverage": "vitest run --coverage --config src/vitest.config.ts", "lint": "biome check src/", "lint:fix": "biome check --write src/", "typecheck": "tsc --noEmit", "check:all": "pnpm run lint && pnpm run typecheck && pnpm run spellcheck && pnpm run check:cpd", "spellcheck": "cspell .", "check:cpd": "jscpd src/", "release": "release-it", "release:beta": "release-it --preRelease=beta --ci", "release:dry": "release-it --dry-run --ci", "release:patch": "release-it patch --ci", "release:minor": "release-it minor --ci", "release:major": "release-it major --ci", "clean:dist": "rimraf dist || rm -rf dist", "link": "pnpm link --global", "unlink": "pnpm unlink --global", "docker:update-version": "node docker/scripts/update-version.js", "prepare": "husky" }, "dependencies": { "@coze/api": "^1.3.9", "@discordjs/opus": "^0.10.0", "@hono/node-server": "^1.19.10", "@modelcontextprotocol/sdk": "^1.26.0", "ajv": "^8.18.0", "chalk": "^5.6.0", "cli-table3": "^0.6.5", "commander": "^14.0.0", "consola": "^3.4.2", "dayjs": "^1.11.13", "dotenv": "^17.2.1", "eventsource": "^4.0.0", "express": "^5.1.0", "hono": "^4.12.7", "node-cache": "^5.1.2", "openai": "^6.24.0", "ora": "^8.2.0", "pino": "^10.3.1", "pino-pretty": "^13.1.1", "prism-media": "^1.3.5", "univoice": "^0.11.0", "ws": "^8.14.2", "zod": "^4.3.6" }, "devDependencies": { "@biomejs/biome": "1.9.4", "@commitlint/cli": "^20.5.0", "@commitlint/config-conventional": "^20.5.0", "@release-it/conventional-changelog": "^10.0.6", "@types/node": "^24.10.0", "@types/semver": "^7.7.1", "@vitejs/plugin-react": "^5.1.2", "@vitest/coverage-v8": "^3.2.4", "concurrently": "^9.2.1", "cross-env": "^10.0.0", "cspell": "^9.2.1", "esbuild": "^0.27.3", "execa": "^9.6.0", "glob": "^11.0.3", "husky": "^9.1.7", "jscpd": "^4.0.5", "jsdom": "^29.0.2", "lint-staged": "^16.4.0", "release-it": "^20.0.0", "rimraf": "^6.1.2", "semver": "^7.7.2", "ts-node": "^10.9.2", "tsdown": "^0.21.9", "tsx": "^4.20.5", "typescript": "^5.9.2", "vite": "^7.1.11", "vite-tsconfig-paths": "^6.1.0", "vitest": "^3.2.4" }, "lint-staged": { ".{ts,tsx,json}": [ "biome check --write --no-errors-on-unmatched", "./scripts/typecheck-staged.sh" ], ".{md,mdx,sh}": [ "cspell --no-must-find-files --no-progress" ] }, "packageManager": "pnpm@10.30.3", "pnpm": { "overrides": { "tar": ">=7.5.11", "@xmldom/xmldom": ">=0.9.10", "lodash-es": ">=4.18.0", "uuid": ">=14.0.0" } } }

Trustgrade A

  • passBody integrity

    Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.

  • warnType matchbest-effort: server code not analyzed

    Whether the artifact is really the kind of thing its metadata claims it is.

  • passFreshness

    How long since the source repository was last pushed to.

  • passPrompt injection

    Scans the artifact's own text for instructions aimed at your agent rather than at you.

  • passLicense

    Whether the source repository declares an SPDX license permissive enough to redistribute.

How the grade is calculated

Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:

  • Aevery check passed
  • Bone warning
  • Ctwo warnings
  • Dprompt injection or body integrity failed, or three warnings
  • Fone of those failed, and something else is wrong

These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.

Versions

  • git-c3b5ebc2d8a42026-08-06