{"_id":"@baiducloud/qianfan-cli","_rev":"2-b046333732b4fcdeb2c81734159a9ca4","name":"@baiducloud/qianfan-cli","dist-tags":{"latest":"1.0.0"},"versions":{"0.1.0":{"name":"@baiducloud/qianfan-cli","version":"0.1.0","license":"Apache-2.0","_id":"@baiducloud/qianfan-cli@0.1.0","maintainers":[{"name":"siddenly","email":"siddenly@live.com"},{"name":"daxiongz","email":"zxxself@126.com"},{"name":"xinc123","email":"xinc12358@gmail.com"},{"name":"bce-cfc-dev","email":"bce-cfc-dev@baidu.com"},{"name":"yangwei9012","email":"yangwei9012@163.com"},{"name":"lurunze","email":"lurunze@hotmail.com"},{"name":"leophen","email":"leophen@foxmail.com"},{"name":"mingliuyiming","email":"aaa919938949@gmail.com"},{"name":"wangyuzhen01","email":"wangyuzhen01@baidu.com"},{"name":"willghy","email":"390816673@qq.com"},{"name":"howie126313","email":"howie126313@gmail.com"},{"name":"sanderhoff","email":"zhangchi951221@gmail.com"},{"name":"kaloklxc-pixel","email":"kaloklxc@gmail.com"},{"name":"chenxuejin","email":"chenxuejin512@gmail.com"},{"name":"tjdl102306","email":"tjdl102306@gmail.com"}],"homepage":"https://github.com/baidubce/qianfan-cli#readme","bugs":{"url":"https://github.com/baidubce/qianfan-cli/issues"},"bin":{"qianfan":"scripts/run.js"},"dist":{"shasum":"130b483660ecdfd0dced4b9e859c9f89e855ace9","tarball":"https://registry.npmjs.org/@baiducloud/qianfan-cli/-/qianfan-cli-0.1.0.tgz","fileCount":6,"integrity":"sha512-hMbt2N7Wcw4pG+vQDox/l5Ra/nETbk3097NMxF/7NnqZqSidNduZsxFS649lyVwLJ3lqJ1iJUsrUjQ4vjaoOWg==","signatures":[{"sig":"MEYCIQD2vLneO9RmjNpAgX4ll2JS9xjlZB5Z/VbxwvWUFpJimwIhAPncpg60BmubenMtPMVgQVr7MuJJb5lG+sGz1nDTh0zN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26027},"engines":{"node":">=16"},"gitHead":"243074b4e38e4edda48232cbc94d44055e7083a5","scripts":{"postinstall":"node scripts/postinstall.js"},"_npmUser":{"name":"mingliuyiming","email":"aaa919938949@gmail.com"},"repository":{"url":"git+https://github.com/baidubce/qianfan-cli.git","type":"git"},"_npmVersion":"11.19.0","description":"Qianfan CLI - 千帆 MaaS 命令行工具","directories":{},"_nodeVersion":"26.8.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/qianfan-cli_0.1.0_1788958962041_0.3695399855803827","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@baiducloud/qianfan-cli","version":"1.0.0","description":"Qianfan CLI - 千帆 MaaS 命令行工具","license":"Apache-2.0","bin":{"qianfan":"scripts/run.js"},"scripts":{"postinstall":"node scripts/postinstall.js"},"engines":{"node":">=16"},"repository":{"type":"git","url":"git+https://github.com/baidubce/qianfan-cli.git"},"gitHead":"243074b4e38e4edda48232cbc94d44055e7083a5","_id":"@baiducloud/qianfan-cli@1.0.0","bugs":{"url":"https://github.com/baidubce/qianfan-cli/issues"},"homepage":"https://github.com/baidubce/qianfan-cli#readme","_nodeVersion":"26.8.1","_npmVersion":"11.19.0","dist":{"integrity":"sha512-FV+EJgGTZH2S/CFHNpdegjYdmMENcKLvzJDZuM5MsbS1GvjXaA4G8ZJhIdKnk689gBKYgnbyzTizTPU9cK9/Cw==","shasum":"018480a782e8c32b7d647e53801e3070942c2fd5","tarball":"https://registry.npmjs.org/@baiducloud/qianfan-cli/-/qianfan-cli-1.0.0.tgz","fileCount":6,"unpackedSize":27574,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCtUzF9yjzBzSKX7b9Z5blppBsXxEQ728n6jyYeEKmtHQIgfW67NQAlqTcy3UytZCn1MUuL+ojEQ/NNTvzvYH7uduI="}]},"_npmUser":{"name":"mingliuyiming","email":"aaa919938949@gmail.com"},"directories":{},"maintainers":[{"name":"siddenly","email":"siddenly@live.com"},{"name":"daxiongz","email":"zxxself@126.com"},{"name":"xinc123","email":"xinc12358@gmail.com"},{"name":"bce-cfc-dev","email":"bce-cfc-dev@baidu.com"},{"name":"yangwei9012","email":"yangwei9012@163.com"},{"name":"lurunze","email":"lurunze@hotmail.com"},{"name":"leophen","email":"leophen@foxmail.com"},{"name":"mingliuyiming","email":"aaa919938949@gmail.com"},{"name":"wangyuzhen01","email":"wangyuzhen01@baidu.com"},{"name":"willghy","email":"390816673@qq.com"},{"name":"howie126313","email":"howie126313@gmail.com"},{"name":"sanderhoff","email":"zhangchi951221@gmail.com"},{"name":"kaloklxc-pixel","email":"kaloklxc@gmail.com"},{"name":"chenxuejin","email":"chenxuejin512@gmail.com"},{"name":"tjdl102306","email":"tjdl102306@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/qianfan-cli_1.0.0_1788967976173_0.5956933798383517"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-09T13:02:41.752Z","modified":"2026-09-09T15:32:56.489Z","0.1.0":"2026-09-09T13:02:42.183Z","1.0.0":"2026-09-09T15:32:56.313Z"},"bugs":{"url":"https://github.com/baidubce/qianfan-cli/issues"},"license":"Apache-2.0","homepage":"https://github.com/baidubce/qianfan-cli#readme","repository":{"type":"git","url":"git+https://github.com/baidubce/qianfan-cli.git"},"description":"Qianfan CLI - 千帆 MaaS 命令行工具","maintainers":[{"name":"siddenly","email":"siddenly@live.com"},{"name":"daxiongz","email":"zxxself@126.com"},{"name":"xinc123","email":"xinc12358@gmail.com"},{"name":"bce-cfc-dev","email":"bce-cfc-dev@baidu.com"},{"name":"yangwei9012","email":"yangwei9012@163.com"},{"name":"lurunze","email":"lurunze@hotmail.com"},{"name":"leophen","email":"leophen@foxmail.com"},{"name":"mingliuyiming","email":"aaa919938949@gmail.com"},{"name":"wangyuzhen01","email":"wangyuzhen01@baidu.com"},{"name":"willghy","email":"390816673@qq.com"},{"name":"howie126313","email":"howie126313@gmail.com"},{"name":"sanderhoff","email":"zhangchi951221@gmail.com"},{"name":"kaloklxc-pixel","email":"kaloklxc@gmail.com"},{"name":"chenxuejin","email":"chenxuejin512@gmail.com"},{"name":"tjdl102306","email":"tjdl102306@gmail.com"}],"readme":"<div align=\"center\">\n\n# Qianfan CLI\n\n**给你的 AI Agent 赋予千帆平台的能力**\n\n[![npm](https://img.shields.io/npm/v/@baiducloud/qianfan-cli?color=brightgreen&label=npm)](https://www.npmjs.com/package/@baiducloud/qianfan-cli)\n[![license](https://img.shields.io/badge/license-Apache--2.0-blue)](./LICENSE)\n[![node](https://img.shields.io/badge/node-%3E%3D16-brightgreen)](https://nodejs.org)\n\n千帆的模型发现、文本推理、套餐与默认模型绑定、用量统计和诊断能力，都可以通过 Qianfan CLI + Skills\n交给 Comate、Claude Code 等本地 Agent 调用。\n\n```shell\nnpm i -g @baiducloud/qianfan-cli@latest\n```\n\n</div>\n\n---\n\n## Qianfan CLI 能做什么\n\n- **模型调用**：文本对话、SSE 流式输出、system 提示与采样参数\n- **模型发现**：列出当前账号可绑定的模型，拿到 modelId\n- **套餐与绑定**：查看和切换套餐 profile，为模型类型绑定默认模型\n- **Agent 接入**：安装千帆 Skills，让本地 Agent 用自然语言调用千帆能力\n- **用量统计**：按模型与时间粒度查调用次数、成功失败数与 token 消耗\n- **体检诊断**：一条命令检查登录态、套餐、模型绑定与推理连通性\n\n## 为什么需要 Qianfan CLI\n\nQianfan CLI 不是让你记住更多命令，而是把千帆平台能力变成 Agent 可以调用的工具箱。\n\n```text\n使用链路:\n登录\n  -> 选择模型\n  -> 绑定默认模型\n  -> 接入本地 Agent\n  -> 调用推理\n  -> 查看用量和体检结果\n```\n\n## 安装与初始化\n\n```shell\n# 1. 安装 CLI\nnpm i -g @baiducloud/qianfan-cli@latest\nqianfan --version\n\n# 2. 登录千帆（系统浏览器完成授权）\nqianfan auth login\nqianfan auth status\n\n# 3. 把千帆 Skills 装到本机 Agent\nqianfan +connect\n```\n\n安装期开关：`QIANFAN_SKIP_POSTINSTALL=1` 跳过平台二进制下载（离线环境使用）。\n\n当前发布版本支持 macOS 与 Windows（x64 / arm64）。\n\n## 一次完整任务可以这样开始\n\n你可以直接告诉 Agent 一个目标：\n\n```text\n帮我挑一个可用的 chat 模型绑成默认，用它回答一个问题，\n再告诉我这周的调用量和 token 消耗。\n```\n\nAgent 可以通过 Qianfan CLI 串起完整流程：\n\n```text\nqianfan models list\n  -> qianfan profile set-default --model-type chat <modelId>\n  -> qianfan +chat \"...\"\n  -> qianfan service usage --startTime ... --endTime ...\n  -> qianfan doctor\n```\n\n用户描述目标，Agent 负责选择命令、调用千帆能力、汇总结果。\n\n## 常用任务\n\n### 选择并调用模型\n\n```shell\nqianfan models list --format json\nqianfan models list --refresh\n\nqianfan +chat \"总结一下 RAG 的核心思想\"\nqianfan +chat --stream --system \"你是资深后端工程师\" \"解释一下 MVCC\"\nqianfan +chat --model <modelId> --temperature 0.2 --max-tokens 512 \"...\"\n```\n\n### 套餐与默认模型\n\n```shell\nqianfan profile list\nqianfan profile show [profile]\nqianfan profile use <profile>\nqianfan profile set-default --model-type chat <modelId>\n```\n\n### 接入本地 Agent\n\n```shell\nqianfan +connect list        # 查看各 Agent 目录已安装的 qianfan-* 技能包\nqianfan +connect --dry-run   # 预演将要写入的目录\nqianfan +connect             # 安装到所有检测到的 Agent 技能目录\nqianfan +connect uninstall   # 移除本 CLI 装的、且未被本地修改的技能包\n```\n\n### 查用量和体检\n\n```shell\nqianfan service usage --startTime \"2026-09-01 00:00:00\" --endTime \"2026-09-08 00:00:00\"\nqianfan service usage --interval 3600 --modelIds <id1>,<id2> --format json\n\nqianfan doctor\nqianfan doctor --check chat --format json\n```\n\n`doctor` 是只读诊断，不会改动任何资源。\n\n## 命令入口\n\n| 任务 | 命令 |\n|---|---|\n| 登录、登出、查看登录态 | `qianfan auth` |\n| 文本推理与流式输出 | `qianfan +chat` |\n| 查询可绑定模型 | `qianfan models` |\n| 套餐切换与默认模型绑定 | `qianfan profile` |\n| 调用量与 token 消耗 | `qianfan service usage` |\n| 体检与连通性诊断 | `qianfan doctor` |\n| 安装 / 卸载 Agent Skills | `qianfan +connect` |\n\n每个命令都自带帮助：\n\n```shell\nqianfan auth --help\nqianfan +chat --help\nqianfan models list --help\nqianfan profile --help\nqianfan service usage --help\nqianfan doctor --help\n```\n\n## 认证\n\n通过系统浏览器完成授权：\n\n```shell\nqianfan auth login\n```\n\n登录后 CLI 会自动完成身份、套餐 profile 与 API Key 配置，你不需要手动复制密钥。\n\n```shell\nqianfan auth status\nqianfan auth logout\n```\n\nCLI 同时只保存一个登录账号，换账号先执行 `qianfan auth logout`。本地状态默认位于 `~/.qianfan`，\n`auth login` 时可用 `QIANFAN_HOME` 指定其他目录。\n\n## 配置\n\n```shell\n# 查看当前套餐 profile\nqianfan profile show\n\n# 列出所有 profile\nqianfan profile list\n\n# 切换 profile\nqianfan profile use <profile-name>\n\n# 为模型类型绑定默认模型\nqianfan profile set-default --model-type chat <modelId>\n```\n\n更多 profile 管理能力可查看 `qianfan profile --help`。\n\n除 `profile use` 与 `profile set-default` 外，所有命令支持 `--format text|json`（默认 `text`），\nJSON 输出用于 Agent 与脚本解析；会改动本地状态的命令支持 `--dry-run` 预演与 `-y/--yes` 免交互确认。\n\n## AI Agent Skills\n\n本仓库的 [`skills/`](https://github.com/baidubce/qianfan-cli/tree/main/skills) 收录了 Qianfan CLI\n内置的 Agent Skills。执行：\n\n```shell\nqianfan +connect\n```\n\nQianfan CLI 会把这些 Skills 安装到本机 Agent（Comate / Claude Code 等），使 Agent 能通过自然语言调用\n千帆能力，包括登录、模型查询、套餐与默认模型绑定、文本推理、用量统计和体检诊断。技能包只编排 CLI 命令，\n不读取本地凭证、不直接调用千帆 HTTP 接口。\n\n### 贡献 Skills\n\nCLI 本身闭源发布，`skills/` 下的 Agent Skills 文档开放贡献。每个 skill 是一个 `skills/qianfan-xxx/` 目录，\n`SKILL.md` 为必须项，`references/` 存放可选的参考资料。新增或修改时以现有 `skills/qianfan-*/SKILL.md` 为\n模板（frontmatter 含 `name` / `version` / `description` / `license` / `metadata`，正文含「何时使用本 skill」\n与「命令一览」），新增 skill 还需在 `skills/embed.go` 的 embed 指令中登记。\n\n```shell\n# Fork 本仓库并创建分支\ngit checkout -b feat/improve-skill-xxx\n\n# 修改 skills/ 下的文档，然后提交推送\ngit commit -am \"docs(skills): 说明改动内容\"\ngit push -u origin feat/improve-skill-xxx\n```\n\n提交 PR 时说明改动内容和原因。Skills 文档必须与实际命令行为保持一致——Agent 会照着文档执行，\n描述与实现不符会直接导致误用。\n\n## 反馈与支持\n\n使用问题、Bug 与需求请提交 [GitHub Issues](https://github.com/baidubce/qianfan-cli/issues)。可稳定复现的\n问题建议附上执行的命令、`--format json` 输出与 `qianfan doctor` 结果，便于定位。\n\n请勿在 Issue 或任何公开渠道发送 API Key、AK/SK、Token 等敏感信息。\n\n## 链接\n\n- 千帆大模型平台：<https://console.bce.baidu.com/qianfan/>\n- npm：<https://www.npmjs.com/package/@baiducloud/qianfan-cli>\n- GitHub Releases：<https://github.com/baidubce/qianfan-cli/releases>\n- 内置 Skills：<https://github.com/baidubce/qianfan-cli/tree/main/skills>\n\n## Changelog\n\nRelease notes live in [GitHub Releases](https://github.com/baidubce/qianfan-cli/releases).\n\n## License\n\n[Apache-2.0](./LICENSE)\n","readmeFilename":"README.md"}