{"_id":"qianshou","_rev":"36-13c60da63d7c52645e8cccbc5f2c203b","name":"qianshou","dist-tags":{"latest":"3.2.6"},"versions":{"3.2.0":{"name":"qianshou","version":"3.2.0","_id":"qianshou@3.2.0","maintainers":[{"name":"zytech","email":"youkpan@gmail.com"}],"bin":{"qianshou":"qianshou.js"},"dist":{"shasum":"dda04bd9983c0e4b5144e0002840836e5bbae57c","tarball":"https://registry.npmjs.org/qianshou/-/qianshou-3.2.0.tgz","fileCount":18,"integrity":"sha512-e/WgjBJLQWVJIbDeU4/GxRHxSR0KRMk5tAPh/AD80OPHesfhLr+nXbFKM6x4Xfx4bEVkR6UC+XekQKc6lEGk9w==","signatures":[{"sig":"MEUCIFlv4qBruXnEIlofgMNtTMxKEGVYaBF2gXA5dFClupVRAiEAq369zFCYovZ1S4430rhkyvDos24wTSu79iaTjWiVfbY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45660919},"type":"module","engines":{"bun":">=1.3.11"},"gitHead":"80801454b1beb1b7e4cc4767a1c6566bd17fcbdd","scripts":{"dev":"bun run ./src/entrypoints/cli.tsx","build":"bun run ./scripts/build.ts","compile":"bun run ./scripts/build.ts --compile","build:dev":"bun run ./scripts/build.ts --dev","build:dev:full":"bun run ./scripts/build.ts --dev --feature-set=dev-full"},"_npmUser":{"name":"zytech","email":"youkpan@gmail.com"},"_npmVersion":"11.6.2","description":"Qianshou - AI 助手 /Chinese","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ws":"^8.20.0","ajv":"^8.18.0","ink":"^6.8.0","xss":"^1.0.15","zod":"^4.3.6","diff":"^8.0.4","yaml":"^2.8.3","axios":"^1.14.0","chalk":"^5.6.2","execa":"^9.6.1","p-map":"^7.0.4","plist":"^3.1.0","react":"^19.2.4","sharp":"^0.34.5","fflate":"^0.8.2","ignore":"^7.0.5","marked":"^17.0.5","qrcode":"^1.5.4","semver":"^7.7.4","undici":"^7.24.6","bidi-js":"^1.0.3","cacache":"^20.0.4","figures":"^6.1.0","fuse.js":"^7.1.0","chokidar":"^5.0.0","turndown":"^7.2.2","auto-bind":"^5.0.1","cli-boxes":"^4.0.1","env-paths":"^4.0.0","lodash-es":"^4.17.24","lru-cache":"^11.2.7","picomatch":"^4.0.4","tree-kill":"^1.2.2","type-fest":"^5.5.0","wrap-ansi":"^10.0.0","@types/bun":"^1.3.11","asciichart":"^1.5.25","strip-ansi":"^7.2.0","typescript":"^6.0.2","emoji-regex":"^10.6.0","shell-quote":"^1.8.3","signal-exit":"^4.1.0","stack-utils":"^2.0.6","usehooks-ts":"^3.1.1","xxhash-wasm":"^1.1.0","@smithy/core":"^3.23.13","code-excerpt":"^4.0.0","highlight.js":"^11.11.1","jsonc-parser":"^3.3.1","cli-highlight":"^2.1.11","indent-string":"^5.0.0","vscode-jsonrpc":"^8.2.1","@azure/identity":"^4.13.1","proper-lockfile":"^4.1.2","react-reconciler":"^0.33.0","@anthropic-ai/sdk":"^0.80.0","https-proxy-agent":"^8.0.0","@anthropic-ai/mcpb":"^2.1.2","@opentelemetry/api":"^1.9.1","@aws-sdk/client-sts":"^3.1020.0","@opentelemetry/core":"^2.6.1","google-auth-library":"^10.6.2","supports-hyperlinks":"^4.4.0","get-east-asian-width":"^1.5.0","@growthbook/growthbook":"^1.6.5","@aws-sdk/client-bedrock":"^3.1020.0","@opentelemetry/api-logs":"^0.214.0","@opentelemetry/sdk-logs":"^0.214.0","@alcalzone/ansi-tokenize":"^0.3.0","@anthropic-ai/vertex-sdk":"^0.14.4","@opentelemetry/resources":"^2.6.1","@anthropic-ai/bedrock-sdk":"^0.26.4","@anthropic-ai/foundry-sdk":"^0.2.3","@modelcontextprotocol/sdk":"^1.29.0","@smithy/node-http-handler":"^4.5.1","@opentelemetry/sdk-metrics":"^2.6.1","@commander-js/extra-typings":"^14.0.0","vscode-languageserver-types":"^3.17.5","@anthropic-ai/sandbox-runtime":"^0.0.44","@aws-sdk/credential-providers":"^3.1020.0","@opentelemetry/sdk-trace-base":"^2.6.1","@anthropic-ai/claude-agent-sdk":"^0.2.87","vscode-languageserver-protocol":"^3.17.5","@aws-sdk/client-bedrock-runtime":"^3.1020.0","@aws-sdk/credential-provider-node":"^3.972.28","@opentelemetry/exporter-prometheus":"^0.214.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-logs-otlp-grpc":"^0.214.0","@opentelemetry/exporter-logs-otlp-http":"^0.214.0","@opentelemetry/exporter-logs-otlp-proto":"^0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"^0.214.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-trace-otlp-proto":"^0.214.0","@opentelemetry/exporter-metrics-otlp-grpc":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.214.0"},"_npmOperationalInternal":{"tmp":"tmp/qianshou_3.2.0_1779087483219_0.606291797275339","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"qianshou","version":"3.2.2","_id":"qianshou@3.2.2","maintainers":[{"name":"zytech","email":"youkpan@gmail.com"}],"bin":{"qianshou":"qianshou.js"},"dist":{"shasum":"207e42c2bdad3dc93d33f7751aa629e64b14b62b","tarball":"https://registry.npmjs.org/qianshou/-/qianshou-3.2.2.tgz","fileCount":18,"integrity":"sha512-4j5ClM1vok6vXGjP2msC+7QwUG423WAxSy5O+Dx93inXzo1nvANrMW3N6jJT7dM8tna9dN/Hq+Jb02C8qMn16w==","signatures":[{"sig":"MEUCIQD3Wf6CoYvWJCeNdJE97Ib7pl9lOKVmKWzIGCxLzLgRUwIgKqDS5PVbPNsXHluaUuwPIVSo4lFRnxIvwtqR0JJOXVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDBO25GOftfa5cXYMGhbBY9KNmgUyl+J2K7W5BBIEOJyAiApCO4xY0Q8DSIzRLgSnJzyM0L1O+qwVMZcXAam/R2TAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45656743},"type":"module","engines":{"bun":">=1.3.11"},"gitHead":"f71a02dcf70e68226a06887b033278fbd81b8248","scripts":{"dev":"bun run ./src/entrypoints/cli.tsx","build":"bun run ./scripts/build.ts","compile":"bun run ./scripts/build.ts --compile","build:dev":"bun run ./scripts/build.ts --dev","build:dev:full":"bun run ./scripts/build.ts --dev --feature-set=dev-full"},"_npmUser":{"name":"zytech","email":"youkpan@gmail.com"},"_npmVersion":"11.5.1","description":"Qianshou - AI 助手 /Chinese","directories":{},"_nodeVersion":"25.9.0","_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ws":"^8.20.0","ajv":"^8.18.0","ink":"^6.8.0","xss":"^1.0.15","zod":"^4.3.6","diff":"^8.0.4","yaml":"^2.8.3","axios":"^1.14.0","chalk":"^5.6.2","execa":"^9.6.1","p-map":"^7.0.4","plist":"^3.1.0","react":"^19.2.4","sharp":"^0.34.5","fflate":"^0.8.2","ignore":"^7.0.5","marked":"^17.0.5","qrcode":"^1.5.4","semver":"^7.7.4","undici":"^7.24.6","bidi-js":"^1.0.3","cacache":"^20.0.4","figures":"^6.1.0","fuse.js":"^7.1.0","chokidar":"^5.0.0","turndown":"^7.2.2","auto-bind":"^5.0.1","cli-boxes":"^4.0.1","env-paths":"^4.0.0","lodash-es":"^4.17.24","lru-cache":"^11.2.7","picomatch":"^4.0.4","tree-kill":"^1.2.2","type-fest":"^5.5.0","wrap-ansi":"^10.0.0","@types/bun":"^1.3.11","asciichart":"^1.5.25","strip-ansi":"^7.2.0","typescript":"^6.0.2","emoji-regex":"^10.6.0","shell-quote":"^1.8.3","signal-exit":"^4.1.0","stack-utils":"^2.0.6","usehooks-ts":"^3.1.1","xxhash-wasm":"^1.1.0","@smithy/core":"^3.23.13","code-excerpt":"^4.0.0","highlight.js":"^11.11.1","jsonc-parser":"^3.3.1","cli-highlight":"^2.1.11","indent-string":"^5.0.0","vscode-jsonrpc":"^8.2.1","@azure/identity":"^4.13.1","proper-lockfile":"^4.1.2","react-reconciler":"^0.33.0","@anthropic-ai/sdk":"^0.80.0","https-proxy-agent":"^8.0.0","@anthropic-ai/mcpb":"^2.1.2","@opentelemetry/api":"^1.9.1","@aws-sdk/client-sts":"^3.1020.0","@opentelemetry/core":"^2.6.1","google-auth-library":"^10.6.2","supports-hyperlinks":"^4.4.0","get-east-asian-width":"^1.5.0","@growthbook/growthbook":"^1.6.5","@aws-sdk/client-bedrock":"^3.1020.0","@opentelemetry/api-logs":"^0.214.0","@opentelemetry/sdk-logs":"^0.214.0","@alcalzone/ansi-tokenize":"^0.3.0","@anthropic-ai/vertex-sdk":"^0.14.4","@opentelemetry/resources":"^2.6.1","@anthropic-ai/bedrock-sdk":"^0.26.4","@anthropic-ai/foundry-sdk":"^0.2.3","@modelcontextprotocol/sdk":"^1.29.0","@smithy/node-http-handler":"^4.5.1","@opentelemetry/sdk-metrics":"^2.6.1","@commander-js/extra-typings":"^14.0.0","vscode-languageserver-types":"^3.17.5","@anthropic-ai/sandbox-runtime":"^0.0.44","@aws-sdk/credential-providers":"^3.1020.0","@opentelemetry/sdk-trace-base":"^2.6.1","@anthropic-ai/claude-agent-sdk":"^0.2.87","vscode-languageserver-protocol":"^3.17.5","@aws-sdk/client-bedrock-runtime":"^3.1020.0","@aws-sdk/credential-provider-node":"^3.972.28","@opentelemetry/exporter-prometheus":"^0.214.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-logs-otlp-grpc":"^0.214.0","@opentelemetry/exporter-logs-otlp-http":"^0.214.0","@opentelemetry/exporter-logs-otlp-proto":"^0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"^0.214.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-trace-otlp-proto":"^0.214.0","@opentelemetry/exporter-metrics-otlp-grpc":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.214.0"},"_npmOperationalInternal":{"tmp":"tmp/qianshou_3.2.2_1789964386658_0.4577230429352235","host":"s3://npm-registry-packages-npm-production"}},"3.2.5":{"name":"qianshou","version":"3.2.5","_id":"qianshou@3.2.5","maintainers":[{"name":"zytech","email":"youkpan@gmail.com"}],"bin":{"qianshou":"qianshou.js"},"dist":{"shasum":"6d3d8e8b305e635a26d5f7a4e8d5b4eecd21c7df","tarball":"https://registry.npmjs.org/qianshou/-/qianshou-3.2.5.tgz","fileCount":18,"integrity":"sha512-HyGMuuBrK1ODOChsVvFrSefXQm/8mLn5sDvLBjlCYX+D8IiKOSej3E9hcDbRbBotTFyNJuqxuIZE2vEfjxQatw==","signatures":[{"sig":"MEUCICNPwu/PUmh59YRQBhHr69b3JHcZ8yQr1m9SCLOdPciFAiEArfm1rO+AGDs8YldZSsyeS+cateUSrVzk5zsUpvtKXI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDvUVYxbealIvb+z5/MnV4lIonV4kPdB+A7bZYV0UKZRAiBjyCi8aUbeOQfk2H6aKQuZ/mZLcP832AOE88xSLczvmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45657423},"type":"module","engines":{"bun":">=1.3.11"},"gitHead":"43534af105324be1dc160673a651896d40defbf7","scripts":{"dev":"bun run ./src/entrypoints/cli.tsx","build":"bun run ./scripts/build.ts","compile":"bun run ./scripts/build.ts --compile","build:dev":"bun run ./scripts/build.ts --dev","build:dev:full":"bun run ./scripts/build.ts --dev --feature-set=dev-full"},"_npmUser":{"name":"zytech","email":"youkpan@gmail.com"},"_npmVersion":"11.5.1","description":"Qianshou - AI 助手 /Chinese","directories":{},"_nodeVersion":"25.9.0","_hasShrinkwrap":false,"packageManager":"bun@1.3.11","readmeFilename":"README.md","devDependencies":{"ws":"^8.20.0","ajv":"^8.18.0","ink":"^6.8.0","xss":"^1.0.15","zod":"^4.3.6","diff":"^8.0.4","yaml":"^2.8.3","axios":"^1.14.0","chalk":"^5.6.2","execa":"^9.6.1","p-map":"^7.0.4","plist":"^3.1.0","react":"^19.2.4","sharp":"^0.34.5","fflate":"^0.8.2","ignore":"^7.0.5","marked":"^17.0.5","qrcode":"^1.5.4","semver":"^7.7.4","undici":"^7.24.6","bidi-js":"^1.0.3","cacache":"^20.0.4","figures":"^6.1.0","fuse.js":"^7.1.0","chokidar":"^5.0.0","turndown":"^7.2.2","auto-bind":"^5.0.1","cli-boxes":"^4.0.1","env-paths":"^4.0.0","lodash-es":"^4.17.24","lru-cache":"^11.2.7","picomatch":"^4.0.4","tree-kill":"^1.2.2","type-fest":"^5.5.0","wrap-ansi":"^10.0.0","@types/bun":"^1.3.11","asciichart":"^1.5.25","strip-ansi":"^7.2.0","typescript":"^6.0.2","emoji-regex":"^10.6.0","shell-quote":"^1.8.3","signal-exit":"^4.1.0","stack-utils":"^2.0.6","usehooks-ts":"^3.1.1","xxhash-wasm":"^1.1.0","@smithy/core":"^3.23.13","code-excerpt":"^4.0.0","highlight.js":"^11.11.1","jsonc-parser":"^3.3.1","cli-highlight":"^2.1.11","indent-string":"^5.0.0","vscode-jsonrpc":"^8.2.1","@azure/identity":"^4.13.1","proper-lockfile":"^4.1.2","react-reconciler":"^0.33.0","@anthropic-ai/sdk":"^0.80.0","https-proxy-agent":"^8.0.0","@anthropic-ai/mcpb":"^2.1.2","@opentelemetry/api":"^1.9.1","@aws-sdk/client-sts":"^3.1020.0","@opentelemetry/core":"^2.6.1","google-auth-library":"^10.6.2","supports-hyperlinks":"^4.4.0","get-east-asian-width":"^1.5.0","@growthbook/growthbook":"^1.6.5","@aws-sdk/client-bedrock":"^3.1020.0","@opentelemetry/api-logs":"^0.214.0","@opentelemetry/sdk-logs":"^0.214.0","@alcalzone/ansi-tokenize":"^0.3.0","@anthropic-ai/vertex-sdk":"^0.14.4","@opentelemetry/resources":"^2.6.1","@anthropic-ai/bedrock-sdk":"^0.26.4","@anthropic-ai/foundry-sdk":"^0.2.3","@modelcontextprotocol/sdk":"^1.29.0","@smithy/node-http-handler":"^4.5.1","@opentelemetry/sdk-metrics":"^2.6.1","@commander-js/extra-typings":"^14.0.0","vscode-languageserver-types":"^3.17.5","@anthropic-ai/sandbox-runtime":"^0.0.44","@aws-sdk/credential-providers":"^3.1020.0","@opentelemetry/sdk-trace-base":"^2.6.1","@anthropic-ai/claude-agent-sdk":"^0.2.87","vscode-languageserver-protocol":"^3.17.5","@aws-sdk/client-bedrock-runtime":"^3.1020.0","@aws-sdk/credential-provider-node":"^3.972.28","@opentelemetry/exporter-prometheus":"^0.214.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-logs-otlp-grpc":"^0.214.0","@opentelemetry/exporter-logs-otlp-http":"^0.214.0","@opentelemetry/exporter-logs-otlp-proto":"^0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"^0.214.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-trace-otlp-proto":"^0.214.0","@opentelemetry/exporter-metrics-otlp-grpc":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.214.0"},"_npmOperationalInternal":{"tmp":"tmp/qianshou_3.2.5_1790053028698_0.15473103581533132","host":"s3://npm-registry-packages-npm-production"}},"3.2.6":{"_id":"qianshou@3.2.6","bin":{"qianshou":"qianshou.js"},"dist":{"shasum":"ed6c03481a8b140482012bcca031ea655fa22e22","tarball":"https://registry.npmjs.org/qianshou/-/qianshou-3.2.6.tgz","fileCount":18,"integrity":"sha512-xK9RLC9KHIgNxd7q+ClIo+lW0vkX8vaohwIGRpCnQWlMz4XPD2clZhs0bGb96EA6LazPbZ5DUaC4LqfowYloow==","signatures":[{"sig":"MEUCIQCIVf7SPRFnFZueHKq8CpQ9FPc1o31NTTolsdp+LYw33QIgdmAIyZ9MYkkHiklEfbkV+pElywzSC2k/hIbd/WkBKpY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDwR6Y59NBWrLANbbo3SHYPw1Iinc0jQyKI8UMKCJSrQAiEA95rW8itfr9b5OyDgOA9FHlSqOSQeJ7molBQV0YTRY14="}],"unpackedSize":45657475},"name":"qianshou","type":"module","engines":{"bun":">=1.3.11"},"gitHead":"d8b1f237f0f32e8d9a41f294bee79e9fc6dc25fd","scripts":{"dev":"bun run ./src/entrypoints/cli.tsx","build":"bun run ./scripts/build.ts","compile":"bun run ./scripts/build.ts --compile","build:dev":"bun run ./scripts/build.ts --dev","build:dev:full":"bun run ./scripts/build.ts --dev --feature-set=dev-full"},"version":"3.2.6","_npmUser":{"name":"zytech","email":"youkpan@gmail.com"},"_npmVersion":"11.5.1","description":"Qianshou - AI 助手 /Chinese","directories":{},"maintainers":[{"name":"zytech","email":"youkpan@gmail.com"}],"_nodeVersion":"25.9.0","_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ws":"^8.20.0","ajv":"^8.18.0","ink":"^6.8.0","xss":"^1.0.15","zod":"^4.3.6","diff":"^8.0.4","yaml":"^2.8.3","axios":"^1.14.0","chalk":"^5.6.2","execa":"^9.6.1","p-map":"^7.0.4","plist":"^3.1.0","react":"^19.2.4","sharp":"^0.34.5","fflate":"^0.8.2","ignore":"^7.0.5","marked":"^17.0.5","qrcode":"^1.5.4","semver":"^7.7.4","undici":"^7.24.6","bidi-js":"^1.0.3","cacache":"^20.0.4","figures":"^6.1.0","fuse.js":"^7.1.0","chokidar":"^5.0.0","turndown":"^7.2.2","auto-bind":"^5.0.1","cli-boxes":"^4.0.1","env-paths":"^4.0.0","lodash-es":"^4.17.24","lru-cache":"^11.2.7","picomatch":"^4.0.4","tree-kill":"^1.2.2","type-fest":"^5.5.0","wrap-ansi":"^10.0.0","@types/bun":"^1.3.11","asciichart":"^1.5.25","strip-ansi":"^7.2.0","typescript":"^6.0.2","emoji-regex":"^10.6.0","shell-quote":"^1.8.3","signal-exit":"^4.1.0","stack-utils":"^2.0.6","usehooks-ts":"^3.1.1","xxhash-wasm":"^1.1.0","@smithy/core":"^3.23.13","code-excerpt":"^4.0.0","highlight.js":"^11.11.1","jsonc-parser":"^3.3.1","cli-highlight":"^2.1.11","indent-string":"^5.0.0","vscode-jsonrpc":"^8.2.1","@azure/identity":"^4.13.1","proper-lockfile":"^4.1.2","react-reconciler":"^0.33.0","@anthropic-ai/sdk":"^0.80.0","https-proxy-agent":"^8.0.0","@anthropic-ai/mcpb":"^2.1.2","@opentelemetry/api":"^1.9.1","@aws-sdk/client-sts":"^3.1020.0","@opentelemetry/core":"^2.6.1","google-auth-library":"^10.6.2","supports-hyperlinks":"^4.4.0","get-east-asian-width":"^1.5.0","@growthbook/growthbook":"^1.6.5","@aws-sdk/client-bedrock":"^3.1020.0","@opentelemetry/api-logs":"^0.214.0","@opentelemetry/sdk-logs":"^0.214.0","@alcalzone/ansi-tokenize":"^0.3.0","@anthropic-ai/vertex-sdk":"^0.14.4","@opentelemetry/resources":"^2.6.1","@anthropic-ai/bedrock-sdk":"^0.26.4","@anthropic-ai/foundry-sdk":"^0.2.3","@modelcontextprotocol/sdk":"^1.29.0","@smithy/node-http-handler":"^4.5.1","@opentelemetry/sdk-metrics":"^2.6.1","@commander-js/extra-typings":"^14.0.0","vscode-languageserver-types":"^3.17.5","@anthropic-ai/sandbox-runtime":"^0.0.44","@aws-sdk/credential-providers":"^3.1020.0","@opentelemetry/sdk-trace-base":"^2.6.1","@anthropic-ai/claude-agent-sdk":"^0.2.87","vscode-languageserver-protocol":"^3.17.5","@aws-sdk/client-bedrock-runtime":"^3.1020.0","@aws-sdk/credential-provider-node":"^3.972.28","@opentelemetry/exporter-prometheus":"^0.214.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-logs-otlp-grpc":"^0.214.0","@opentelemetry/exporter-logs-otlp-http":"^0.214.0","@opentelemetry/exporter-logs-otlp-proto":"^0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"^0.214.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/exporter-trace-otlp-proto":"^0.214.0","@opentelemetry/exporter-metrics-otlp-grpc":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.214.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/qianshou_3.2.6_1790070764223_0.22587100729539245"}}},"time":{"created":"2026-04-04T20:28:56.714Z","modified":"2026-09-22T09:52:44.874Z","2.1.87":"2026-04-04T20:28:58.137Z","3.0.1":"2026-04-04T21:57:01.537Z","3.0.3":"2026-04-04T22:30:37.897Z","3.0.5":"2026-04-05T09:44:51.475Z","3.0.6":"2026-04-05T09:47:42.607Z","3.0.7":"2026-04-05T10:12:04.934Z","3.0.8":"2026-04-10T05:22:24.115Z","3.1.0":"2026-04-17T05:52:36.969Z","3.1.1":"2026-04-17T06:15:07.700Z","3.1.2":"2026-04-17T14:02:27.455Z","3.1.3":"2026-04-17T14:10:53.514Z","3.1.5":"2026-04-17T16:12:35.244Z","3.1.6":"2026-04-17T16:17:29.201Z","3.1.7":"2026-05-17T17:11:54.761Z","3.1.8":"2026-05-17T18:30:30.474Z","3.2.0":"2026-05-18T06:58:03.784Z","3.2.2":"2026-09-21T04:19:46.967Z","3.2.3":"2026-09-22T04:18:54.990Z","3.2.5":"2026-09-22T04:57:09.082Z","3.2.6":"2026-09-22T09:52:44.522Z"},"description":"Qianshou - AI 助手 /Chinese","maintainers":[{"name":"zytech","email":"youkpan@gmail.com"}],"readme":"<h1 align=\"center\">千手</h1>\n\n<p align=\"center\">\n  <strong>面向办公人士的 AI 智能体应用。</strong><br>\n  理解项目文档、代码库。规划复杂任务。自主执行。<br>\n  你的终端 AI 队友。\n</p>\n\n<p align=\"center\">\n  <a href=\"https://zyinfo.pro/qianshou/\">📖 官方文档</a> •\n  <a href=\"#安装\">🚀 快速开始</a> •\n  <a href=\"#配置认证\">⚙️ 配置指南</a>\n</p>\n\n---\n\n## 目录\n\n- [什么是千手](#什么是千手)\n- [核心功能](#核心功能)\n- [安装](#安装)\n- [配置认证](#配置认证)\n- [快速开始](#快速开始)\n- [使用方法](#使用方法)\n- [实验性功能](#实验性功能)\n\n---\n\n## 什么是千手\n\n千手是一款运行在终端中的**智能体编码工具**。与传统的代码补全工具不同，千手能够理解你的整个代码库，规划复杂的多步骤任务，并自主执行。\n\n把它当作一个 AI 队友，它可以：\n- 阅读并理解大规模项目\n- 将复杂需求分解为可执行的步骤\n- 编写、修改和重构跨多个文件的代码\n- 运行终端命令并管理 Git 工作流\n- 解释代码逻辑并生成文档\n\n**了解更多：** [https://zyinfo.pro/qianshou/](https://zyinfo.pro/qianshou/)\n\n---\n\n## 核心功能\n\n### 🧠 智能体编码\n\n千手作为一个**自主智能体**运行，而不仅仅是一个被动的助手。当你给它一个高层次的目标，比如\"添加 OAuth 用户认证\"时，它会：\n\n1. **理解意图** - 分析你的自然语言请求\n2. **扫描上下文** - 阅读相关文件并理解项目结构\n3. **制定计划** - 将任务分解为清晰、可执行的步骤\n4. **执行** - 在你的批准下实施每个步骤\n5. **迭代** - 报告进度并在需要时寻求澄清\n\n### 📚 代码库级理解\n\n支持 **200K+ token 上下文窗口**，千手可以一次性分析整个项目。它理解：\n- 项目结构和模块依赖关系\n- 编码模式和设计约定\n- 跨文件关系和架构决策\n\n### 🔧 深度代码分析\n\n- **解释复杂代码** - 获取函数、算法和逻辑流的详细说明\n- **追踪函数调用** - 跟踪代码库中的执行路径\n- **识别问题** - 检测性能瓶颈、安全漏洞和潜在错误\n- **智能重构** - 执行大规模、跨文件的代码转换\n\n### ⚡ 工作流自动化\n\n千手与你的开发工作流无缝集成：\n\n- **运行终端命令** - 执行 `npm install`、运行测试、构建 Docker 镜像\n- **Git 集成** - 搜索提交历史、解决合并冲突、生成提交信息\n- **测试生成** - 自动创建全面的单元测试和集成测试\n- **文档生成** - 生成 API 文档、代码注释和 README 文件\n\n### 🔌 可扩展架构\n\n- **MCP 协议** - 通过模型上下文协议连接外部工具和 API\n- **自定义技能** - 编写自己的命令和工作流\n- **插件系统** - 通过社区插件扩展功能\n- **IDE 无关** - 适用于任何编辑器（VS Code、JetBrains、Vim 等）\n\n### 🌐 浏览器自动化\n\n千手支持浏览器自动化功能，可以与 Chrome 浏览器深度集成：\n\n- **网页交互** - 自动点击元素、填写表单、捕获截图\n- **标签页管理** - 读取和控制浏览器标签页\n- **控制台日志** - 读取浏览器控制台日志和网络请求\n- **OAuth 认证** - 支持需要登录状态的网站操作\n\n**启用方式：**\n```bash\n# 使用 --chrome 参数启动\nqianshou --chrome\n\n# 或设置环境变量\nexport QS_ENABLE_CFC=1\nqianshou\n```\n\n**前提条件：**\n- 需要安装 [千手 Chrome 扩展程序](https://clau.de/chrome)\n- 支持 Chrome、Brave、Edge 等 Chromium 浏览器\n\n---\n\n## 安装\n\n> **详细安装指南：** [https://zyinfo.pro/qianshou/](https://zyinfo.pro/qianshou/)\n\n### Windows 安装\n\n打开 Windows 终端中的 PowerShell 终端（右键按 Windows 按钮，点击「终端」），然后依次执行：\n\n```powershell\n# 安装 Git（或参考 https://git-scm.com/install/windows 用其他办法安装）\nwinget install --exact --source winget --id Git.Git\n\n# 安装 Node.js（或参考 https://nodejs.org/zh-cn/download 用其他办法安装）\nwinget install --exact --source winget --id OpenJS.NodeJS\n\n# 设置脚本执行策略\nSet-ExecutionPolicy -Scope CurrentUser RemoteSigned\n\n# 关闭终端窗口，新开一个终端窗口，然后安装千手\nnpm install -g qianshou --registry=https://registry.npmmirror.com\n\n# 初始化配置\nnode --eval \"\nconst homeDir = os.homedir();\nconst filePath = path.join(homeDir, '.claude.json');\nif (fs.existsSync(filePath)) {\n  const content = JSON.parse(fs.readFileSync(filePath, 'utf-8'));\n  fs.writeFileSync(filePath, JSON.stringify({ ...content, hasCompletedOnboarding: true }, null, 2), 'utf-8');\n} else {\n  fs.writeFileSync(filePath, JSON.stringify({ hasCompletedOnboarding: true }), 'utf-8');\n}\"\n```\n\n### macOS/Linux 安装\n\n```bash\nnpm install -g qianshou\n```\n\n### 系统要求\n\n- **运行时**: [Node.js](https://nodejs.org/) 或 [Bun](https://bun.sh) >= 1.3.11\n- **操作系统**: macOS、Linux 或 Windows（推荐使用 WSL）\n- **认证**: 所选提供商的 API 密钥\n\n---\n\n## 配置认证\n\n> **更多配置示例：** [https://zyinfo.pro/qianshou/](https://zyinfo.pro/qianshou/)\n\n千手原生支持多个 AI 提供商。设置相应的环境变量即可切换提供商。\n\n### 智谱 GLM（推荐）\n\n```bash\nexport QS_AUTH_TOKEN=\"你的智谱API密钥\"\nexport QS_BASE_URL=https://open.bigmodel.cn/api/anthropic\nexport API_TIMEOUT_MS=\"3000000\"\nexport QS_DISABLE_NONESSENTIAL_TRAFFIC=1\nexport QS_SMALL_MODEL=\"glm-4.5-air\"\nexport QS_MIDDLE_MODEL=\"glm-4.7\"\nexport QS_BIG_MODEL=\"glm-5.1\"\nexport QS_MODEL=\"glm-5.1\"\nexport ENABLE_TOOL_SEARCH=false\n\n# 进入你的工作目录\ncd 你的工作目录\n\n# 启动千手（bypassPermissions 模式自动批准所有操作）\nqianshou --permission-mode bypassPermissions\n```\n\n### 阿里云通义千问\n\n```bash\nexport QS_AUTH_TOKEN=\"你的阿里云API密钥\"\nexport QS_BASE_URL=\"https://coding.dashscope.aliyuncs.com/apps/anthropic\"\nexport API_TIMEOUT_MS=600000\nexport QS_MODEL=\"qwen-max\"\nexport QS_BIG_MODEL=\"qwen-max\"\nexport QS_MIDDLE_MODEL=\"qwen-plus\"\nexport QS_SMALL_MODEL=\"qwen-turbo\"\n\nqianshou --permission-mode bypassPermissions\n```\n\n### DeepSeek\n\n```bash\nexport QS_BASE_URL=https://api.deepseek.com/anthropic\nexport QS_AUTH_TOKEN=sk-你的DeepSeek密钥\nexport API_TIMEOUT_MS=600000\nexport QS_MODEL=deepseek-chat\nexport QS_SMALL_FAST_MODEL=deepseek-chat\nexport QS_DISABLE_NONESSENTIAL_TRAFFIC=1\n\nqianshou --permission-mode bypassPermissions\n```\n\n### 桌面办公版\n\n如需处理 Word、Excel、PDF 等办公文档，添加以下配置：\n\n```bash\nexport QS_OFFICE=1\nqianshou --permission-mode bypassPermissions\n```\n\n### 创建启动脚本\n\n建议保存为启动脚本（Linux/macOS: `.sh`，Windows: `.bat`）方便使用：\n\n**Linux/macOS (qianshou.sh):**\n```bash\n#!/bin/bash\nexport QS_AUTH_TOKEN=\"你的密钥\"\nexport QS_BASE_URL=\"https://open.bigmodel.cn/api/anthropic\"\nexport QS_MODEL=\"glm-5.1\"\nexport QS_BIG_MODEL=\"glm-5.1\"\nexport QS_MIDDLE_MODEL=\"glm-4.7\"\nexport QS_SMALL_MODEL=\"glm-4.7\"\ncd \"$1\"\nqianshou --permission-mode bypassPermissions\n```\n\n**Windows (qianshou.bat):**\n```batch\n@echo off\nset QS_AUTH_TOKEN=你的密钥\nset QS_BASE_URL=https://open.bigmodel.cn/api/anthropic\nset QS_MODEL=glm-5.1\nset QS_BIG_MODEL=glm-5.1\nset QS_MIDDLE_MODEL=glm-4.7\nset QS_SMALL_MODEL=glm-4.7\ncd /d %1\nqianshou --permission-mode bypassPermissions\n```\n\n### AGENTS.md 配置\n\n你可在项目根目录创建 `AGENTS.md` 文件，帮助 AI 更好地了解你的项目。\n\n---\n\n## 快速开始\n\n### 三步启动\n\n**第一步：安装千手**（见上方[安装](#安装)章节）\n\n**第二步：配置认证**（见上方[配置认证](#配置认证)章节）\n\n**第三步：启动使用**\n\n```bash\n# 进入你的工作目录\ncd 你的工作目录\n\n# 启动千手\nqianshou --permission-mode bypassPermissions\n\n# 或使用自动确认模式\nqianshou --permission-mode bypassPermissions\n```\n\n### 常用启动参数\n\n| 参数 | 说明 |\n|------|------|\n| `--permission-mode bypassPermissions` | 自动批准所有操作（适合日常使用） |\n| `--auto-run` | 自动运行模式，无需确认每个命令 |\n| `--chrome` | 启用浏览器自动化模式 |\n| `-p \"提示词\"` | 单次执行模式，直接运行命令 |\n\n### 使用技巧\n\n**粘贴多行内容：**\n- 按 `Ctrl+G` 打开文本框，粘贴内容后保存关闭\n- 或将内容写入文件，使用 `@文件名` 引用\n\n**参考文档：** [https://zyinfo.pro/qianshou/](https://zyinfo.pro/qianshou/)\n\n---\n\n## 使用方法\n\n### 交互式 REPL\n\n```bash\nqianshou --permission-mode bypassPermissions\n```\n\n### 对话示例\n\n**实现新功能：**\n```\n你: 添加一个用户注册的 REST API 端点\n\nQianshou: 我来帮你添加用户注册端点。让我先检查你的项目结构...\n\n[阅读文件，分析代码库]\n\n我将创建以下内容：\n1. POST /api/users/register 端点\n2. 用户验证模式\n3. 用户的数据库模型\n4. 端点的单元测试\n\n我可以继续吗？\n```\n\n**调试问题：**\n```\n你: 上传文件时出现 500 错误。这是堆栈跟踪...\n\nQianshou: 查看错误和你的代码，问题似乎出现在文件上传处理程序中。\n问题在第 42 行，缓冲区大小处理不当。让我修复这个问题...\n```\n\n**重构代码：**\n```\n你: 重构认证模块以使用 JWT 令牌\n\nQianshou: 我将重构你的认证模块以使用 JWT。这需要：\n1. 安装 jsonwebtoken 包\n2. 创建 JWT 工具函数\n3. 更新登录/登出处理程序\n4. 添加令牌验证中间件\n\n[继续重构]\n```\n\n---\n\n## 实验性功能\n\n`build:dev:full` 构建启用了 54 个实验性功能标志。亮点包括：\n\n### 交互与 UI\n- **ULTRAPLAN** - 远程多智能体规划\n- **ULTRATHINK** - 用于复杂推理的深度思考模式\n- **VOICE_MODE** - 按住说话语音输入\n- **TOKEN_BUDGET** - 使用跟踪和警告\n- **HISTORY_PICKER** - 交互式提示历史\n- **QUICK_SEARCH** - 快速提示搜索\n\n### 智能体、记忆与规划\n- **BUILTIN_EXPLORE_PLAN_AGENTS** - 内置智能体预设\n- **VERIFICATION_AGENT** - 任务验证\n- **AGENT_TRIGGERS** - 后台自动化\n- **EXTRACT_MEMORIES** - 自动记忆提取\n- **TEAMMEM** - 团队记忆文件\n\n### 工具与基础设施\n- **BRIDGE_MODE** - IDE 远程控制桥接\n- **BASH_CLASSIFIER** - 智能权限决策\n- **MCP_RICH_OUTPUT** - 增强的 MCP 输出\n\n### 浏览器集成\n- **Claude in Chrome** - Chrome 浏览器自动化\n  - 支持自动点击、表单填写、截图等功能\n  - 可读取控制台日志和网络请求\n  - 适用于需要登录状态的网站操作\n  - 需要 [Chrome 扩展程序](https://clau.de/chrome) 支持\n\n**启用浏览器模式：**\n```bash\n# 方式一：使用 --chrome 参数\nqianshou --chrome\n\n# 方式二：设置环境变量\nexport QS_ENABLE_CFC=1\nqianshou\n```\n\n---\n\n## 相关链接\n\n- **官方文档：** [https://zyinfo.pro/qianshou/](https://zyinfo.pro/qianshou/)\n- **GitHub 仓库：** [https://github.com/yourusername/qianshou](https://github.com/yourusername/qianshou)\n\n---\n\n**用 ❤️ 构建，为想要从 AI 工具中获得更多功能的开发者服务。**\n","readmeFilename":"README.md"}