{"_id":"@apconw/aix-db-cli","_rev":"3-82178049ad832bbd49fb2f5605c68a28","name":"@apconw/aix-db-cli","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@apconw/aix-db-cli","version":"0.1.0","_id":"@apconw/aix-db-cli@0.1.0","maintainers":[{"name":"aix-db","email":"huan08303@gmail.com"}],"bin":{"aix-db-cli":"bin/aix-db-cli.js"},"dist":{"shasum":"3ac6525448759d0109e65b0382918941d5e6f156","tarball":"https://registry.npmjs.org/@apconw/aix-db-cli/-/aix-db-cli-0.1.0.tgz","fileCount":9,"integrity":"sha512-Yu+i8rOxKavRIxX7EwZvyABqYuCWIZNW3V4ORlkImEZfrIQzVVDFzcMDsxUw3yQXjhkU+ISx9uYRduKqNd/P2w==","signatures":[{"sig":"MEQCIAhFZuwT8lnTH0RgTzP8C6/de+/ijPvLiiNDNrBDP+2tAiArNB9hPwV0TIf5u7rtHi2XUAOmfXozYvm6ZHuFk+ZbQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23076},"type":"module","engines":{"node":">=18"},"gitHead":"935bfca9b39fd2bd2f3ad1660666cdfca573ab58","_npmUser":{"name":"aix-db","email":"huan08303@gmail.com"},"_npmVersion":"11.12.1","description":"CLI for Aix-DB data Q&A","directories":{},"_nodeVersion":"26.0.0","dependencies":{"open":"^10.0.0","echarts":"^6.1.0","commander":"^12.0.0","@resvg/resvg-js":"^2.6.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/aix-db-cli_0.1.0_1779614603665_0.9364961412772461","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@apconw/aix-db-cli","version":"0.1.1","_id":"@apconw/aix-db-cli@0.1.1","maintainers":[{"name":"aix-db","email":"huan08303@gmail.com"}],"bin":{"aix-db-cli":"bin/aix-db-cli.js"},"dist":{"shasum":"392ec5f1a111eeea040961d080c606819f3b2391","tarball":"https://registry.npmjs.org/@apconw/aix-db-cli/-/aix-db-cli-0.1.1.tgz","fileCount":9,"integrity":"sha512-yZB+qpotiWKzNc+oVzT8YLn/wLsO2jmBcWdeT1KmPS09iBPrL4Je/4s9R87BtAXYek9B/5qA3SqZWpHUDn8PEA==","signatures":[{"sig":"MEYCIQDYgjBSGvPVBER/zIiLU5FYt8HMMJwTmZr6arCP3woHLQIhAIf11j2j8EfUE6vm+nqEN7ustz3T9s1oykdiF6y0Dk0U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23074},"type":"module","engines":{"node":">=18"},"gitHead":"935bfca9b39fd2bd2f3ad1660666cdfca573ab58","_npmUser":{"name":"aix-db","email":"huan08303@gmail.com"},"_npmVersion":"11.12.1","description":"CLI for Aix-DB data Q&A","directories":{},"_nodeVersion":"26.0.0","dependencies":{"open":"^10.0.0","echarts":"^6.1.0","commander":"^12.0.0","@resvg/resvg-js":"^2.6.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/aix-db-cli_0.1.1_1779614642747_0.18130504890201493","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@apconw/aix-db-cli","version":"0.1.2","description":"CLI for Aix-DB data Q&A","type":"module","bin":{"aix-db-cli":"bin/aix-db-cli.js"},"publishConfig":{"access":"public"},"engines":{"node":">=18"},"dependencies":{"@resvg/resvg-js":"^2.6.2","commander":"^12.0.0","echarts":"^6.1.0","open":"^10.0.0"},"gitHead":"59ab38edb15cac827d5d314ccfcec913069c9a0f","_id":"@apconw/aix-db-cli@0.1.2","_nodeVersion":"26.0.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-oTDxUrIXyiOj5ScCrT2Uiv4T4rgSD2DXyCp4PrF7JmZbvRGTmAnewyUa7GrXp66WDR2AlHOqPmW0DsMkrIRVKg==","shasum":"c8ffe51b939e48224a8e82d9faeb0c02ec2dc93f","tarball":"https://registry.npmjs.org/@apconw/aix-db-cli/-/aix-db-cli-0.1.2.tgz","fileCount":9,"unpackedSize":25213,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF8eOt4Lr7cVoFGaTJZ6sdrqb2GSdjT6caNgx0m9z80OAiEAzgM8l7fC6Ga5gZogyNNawZeh9AAGcG5NmFiMhmJEVyA="}]},"_npmUser":{"name":"aix-db","email":"huan08303@gmail.com"},"directories":{},"maintainers":[{"name":"aix-db","email":"huan08303@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aix-db-cli_0.1.2_1779615323860_0.6020561501178585"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-24T09:23:23.570Z","modified":"2026-05-24T09:35:24.165Z","0.1.0":"2026-05-24T09:23:23.824Z","0.1.1":"2026-05-24T09:24:02.874Z","0.1.2":"2026-05-24T09:35:24.021Z"},"description":"CLI for Aix-DB data Q&A","maintainers":[{"name":"aix-db","email":"huan08303@gmail.com"}],"readme":"# @apconw/aix-db-cli\n\nAix-DB 数据问答命令行工具。通过浏览器登录后，直接在终端发起自然语言数据查询，支持图表渲染输出。\n\n[![npm version](https://img.shields.io/npm/v/@apconw/aix-db-cli)](https://www.npmjs.com/package/@apconw/aix-db-cli)\n[![Node >=18](https://img.shields.io/badge/node-%3E%3D18-brightgreen)](https://nodejs.org)\n[![GitHub stars](https://img.shields.io/github/stars/apconw/Aix-DB?style=social)](https://github.com/apconw/Aix-DB)\n\n> 基于 [Aix-DB](https://github.com/apconw/Aix-DB) 开源项目 —— LLM 驱动的数据分析平台（ChatBI）。如果对你有帮助，欢迎给项目点个 ⭐️\n\n## 安装\n\n```bash\nnpm install -g @apconw/aix-db-cli\n```\n\n## 快速开始\n\n```bash\n# 1. 登录（浏览器完成认证，token 有效期 7 天）\naix-db-cli login\n\n# 自定义服务地址\naix-db-cli login --url http://your-server:18080\n\n# 2. 查看可用数据源\naix-db-cli datasources\n\n# 按类型过滤\naix-db-cli datasources --type mysql\n\n# 3. 数据问答\naix-db-cli chat \"有哪些数据表？\" --datasource 48\n\n# 流式输出（逐字打印）\naix-db-cli chat \"查询销售额趋势\" --datasource 48 --stream\n\n# 显示执行步骤（SQL 生成过程）\naix-db-cli chat \"各表行数统计\" --datasource 48 --verbose\n\n# 4. 退出登录\naix-db-cli logout\n```\n\n## 命令\n\n### `login`\n\n打开浏览器完成登录，将 JWT token 保存到本地（有效期 7 天）。\n\n| 选项 | 默认值 | 说明 |\n|------|--------|------|\n| `--url <baseUrl>` | `http://localhost:18080` | Aix-DB 服务地址 |\n\n### `logout`\n\n清除本地登录状态（删除保存的 token）。\n\n### `datasources`\n\n列出已注册的数据源。\n\n| 选项 | 说明 |\n|------|------|\n| `--type <type>` | 按类型精确过滤（mysql, pg, ck, starrocks, oracle...）|\n| `--name <name>` | 按名称模糊过滤 |\n\n**输出示例：**\n\n```\nID     NAME             TYPE         STATUS     HOST                     DATABASE\n48     mysql            MySQL        Success    host.docker.internal     chat_db\n51     starrocks        StarRocks    Success    10.0.0.1                 analytics\n```\n\n### `chat <question>`\n\n用自然语言发起数据问答，答案输出到 stdout，图表自动渲染为 PNG 文件。\n\n| 选项 | 默认值 | 说明 |\n|------|--------|------|\n| `--datasource <id>` | 必填 | 数据源 ID（见 `datasources` 命令）|\n| `--qa-type <type>` | `DATABASE_QA` | 问答模式 |\n| `--timeout <seconds>` | `180` | 超时时间（秒）|\n| `--verbose` | false | 显示 SQL 生成等执行步骤 |\n| `--stream` | false | 流式逐字输出 |\n| `--no-render-chart` | — | 跳过图表渲染，只显示文字结果 |\n| `--chart-dir <dir>` | `~/.cache/aix-db-cli/charts` | 图表 PNG 输出目录 |\n\n**输出示例：**\n\n```\n问题: 统计销售额按分类分组\n数据源: 48\n---\n电子产品销售额 42,681 元，占比 75.3%\n家电 8,240 元，服装 4,727 元\n\n[图表: temp02 — 2 列 × 4 行]\n图表文件: /Users/you/.cache/aix-db-cli/charts/chart-temp02-1748xxx.png\n\n推荐问题:\n  1. 各分类环比增长率如何？\n  2. 哪个分类利润率最高？\n```\n\n## 图表支持\n\n| 模板 | 类型 |\n|------|------|\n| `temp01` | 表格 |\n| `temp02` | 饼图 |\n| `temp03` | 柱状图 |\n| `temp04` | 折线图 |\n\n图表使用 ECharts SSR + Resvg 渲染为 PNG，支持中文字体。\n\n## 配置文件\n\n登录信息保存在 `~/.config/aix-db-cli/config.json`，包含服务地址和 token，有效期 7 天。\n\n## 系统要求\n\n- Node.js ≥ 18\n- 已部署的 [Aix-DB](https://github.com/apconw/Aix-DB) 服务\n\n## 相关链接\n\n- 🏠 项目主页：[https://github.com/apconw/Aix-DB](https://github.com/apconw/Aix-DB)\n- 📦 npm 包：[https://www.npmjs.com/package/@apconw/aix-db-cli](https://www.npmjs.com/package/@apconw/aix-db-cli)\n- 🐛 问题反馈：[https://github.com/apconw/Aix-DB/issues](https://github.com/apconw/Aix-DB/issues)\n","readmeFilename":"README.md"}