版本: v1.0.0 | 更新: 2025-10-29
Optima CLI 套件由五个独立仓库组成,采用"共享核心 + 独立工具"的架构模式:
Optima CLI Suite
├── optima-cli-docs → 统一文档中心(本仓库)
├── optima-cli-core → 共享核心库
├── optima-merchant-cli → 商户 BI 工具 ⭐ 优先
├── optima-platform-cli → 平台运营 BI 工具
└── optima-ops-cli → 系统运维工具
- 商户层: 商户管理自己的店铺(销售、商品、订单、财务)
- 平台层: 运营查看平台全局数据(GMV、商户健康度、市场趋势)
- 系统层: 技术团队监控基础设施(服务健康、性能、日志)
- 认证、HTTP 客户端、格式化等通用功能抽取到
cli-core - 避免在三个业务 CLI 中重复实现
- 每个 CLI 独立发布和版本管理
- 按需安装,互不影响
- 商户只能访问自己的数据(
merchant_id过滤) - 平台运营需要
admin角色 - 系统运维需要
ops角色或系统级访问
定位: 统一文档中心 内容:
- 整体架构设计
- 用户指南、API 参考
- 开发者文档、发布流程
优势: 避免文档在多个仓库中重复维护
| 项目信息 | 内容 |
|---|---|
| NPM 包 | @optima-chat/cli-core |
| 定位 | 被其他 CLI 依赖的公共库 |
| GitHub | https://github.com/Optima-Chat/optima-cli-core |
核心功能:
// 1. 认证管理
export class AuthManager {
// OAuth 2.0 Device Flow
// Token 自动刷新
// 复用 optima-cli 配置
}
// 2. HTTP 客户端
export class BaseApiClient {
// 自动认证、错误处理、重试
}
// 3. 输出格式化
export class OutputFormatter {
// JSON(默认)、Pretty、Chart、CSV
}
// 4. 配置管理
export class ConfigManager {
// 加密存储、环境变量支持
}
// 5. 工具函数
export { DateUtils, NumberUtils, TableRenderer, ChartRenderer }技术栈:
- TypeScript 5.3+ (ES Modules)
- Axios, Conf, Chalk, cli-table3, asciichart
| 项目信息 | 内容 |
|---|---|
| NPM 包 | @optima-chat/merchant-cli |
| 命令名 | optima-merchant (简写: om) |
| 用户 | 商户/卖家 |
| 权限 | 只能访问自己的店铺数据 |
| GitHub | https://github.com/Optima-Chat/optima-merchant-cli |
功能模块 (20+ 命令):
optima-merchant sales summary --month 2025-10 # 销售概况
optima-merchant sales today # 今日实时销售
optima-merchant sales compare --from 2025-09 # 时间对比
optima-merchant sales trend --days 30 # 趋势图关键指标: 总销售额、订单数、AOV、增长率
optima-merchant products top-selling --limit 10 # 畅销商品
optima-merchant products slow-moving --days 60 # 滞销商品
optima-merchant products out-of-stock # 缺货预警
optima-merchant products inventory # 库存周转率
optima-merchant products views # 浏览次数关键指标: 销量排行、库存周转、浏览转化
optima-merchant orders pending # 待处理订单
optima-merchant orders fulfillment --period 30d # 履约效率
optima-merchant orders status # 状态分布
optima-merchant orders cancellation # 取消率关键指标: 处理时长、履约率、取消率
optima-merchant finance summary --month 2025-10 # 财务汇总
optima-merchant finance pending-transfers # 待转账
optima-merchant finance platform-fees # 平台费用
optima-merchant finance export --format csv # 导出报表关键指标: 收入、转账、费用、退款
optima-merchant customers analyze # 客户分析
optima-merchant customers high-value # 高价值客户
optima-merchant customers retention # 留存率
optima-merchant customers segmentation # 客户分层关键指标: LTV、复购率、RFM 分层
数据源:
- 主要: Commerce Backend REST API(现有)
- 扩展: 可能需要新增聚合端点
GET /api/analytics/merchant/sales-summaryGET /api/analytics/merchant/product-performance
依赖:
{
"dependencies": {
"@optima-chat/cli-core": "^0.1.0",
"commander": "^12.0.0",
"inquirer": "^9.0.0"
}
}| 项目信息 | 内容 |
|---|---|
| NPM 包 | @optima-chat/platform-cli |
| 命令名 | optima-platform (简写: op) |
| 用户 | 平台运营团队 |
| 权限 | Admin(可查看所有商户聚合数据) |
| GitHub | https://github.com/Optima-Chat/optima-platform-cli |
功能模块:
optima-platform sales gmv --period 30d # 平台 GMV
optima-platform sales growth # 增长率
optima-platform sales by-category # 按品类
optima-platform sales by-region # 按地区optima-platform merchants active # 活跃商户
optima-platform merchants new # 新增商户
optima-platform merchants churn # 流失商户
optima-platform merchants ranking # 商户排行
optima-platform merchants health # 健康度optima-platform users growth # 用户增长
optima-platform users retention # 留存率
optima-platform users acquisition # 获客渠道
optima-platform users lifetime-value # LTVoptima-platform revenue summary # 收入概况
optima-platform revenue platform-fees # 平台费用收入
optima-platform revenue forecast # 收入预测optima-platform market trends # 市场趋势
optima-platform market categories # 品类热度
optima-platform market competition # 竞争分析数据源(混合模式):
| 方案 | 适用场景 | 说明 |
|---|---|---|
| Analytics 服务 | 复杂聚合 | 新建 optima-analytics 后端服务 |
| 直连数据库 | 灵活查询 | PostgreSQL 客户端直接查询 RDS |
| 预聚合表 | 历史数据 | 利用 shop_stats 表(已有) |
推荐组合:
- 简单查询 → 直连 RDS
- 复杂聚合 → Analytics 服务
- 历史数据 → shop_stats 表
| 项目信息 | 内容 |
|---|---|
| NPM 包 | @optima-chat/ops-cli |
| 命令名 | optima-ops (简写: oo) |
| 用户 | 技术运维团队 |
| 权限 | 系统级(SSH、AWS API、Docker API) |
| GitHub | https://github.com/Optima-Chat/optima-ops-cli |
功能模块:
optima-ops services health # 所有服务健康度
optima-ops services response-time # API 响应时间
optima-ops services error-rate # 错误率
optima-ops services uptime # SLA 可用性optima-ops database connections # 连接池状态
optima-ops database slow-queries # 慢查询
optima-ops database locks # 锁等待
optima-ops database size # 数据库大小optima-ops infra ec2 # EC2 资源使用
optima-ops infra docker # Docker 容器状态
optima-ops infra disk # 磁盘使用
optima-ops infra network # 网络流量optima-ops logs errors --last 1h # 错误日志
optima-ops logs anomaly # 异常检测
optima-ops logs search --query "timeout" # 日志搜索optima-ops workspace containers # 运行中的 workspace
optima-ops workspace resources # 资源占用
optima-ops workspace quota # 配额使用optima-ops alerts summary # 告警统计
optima-ops deployments history # 部署历史
optima-ops deployments rollback # 回滚操作数据源(多源集成):
| 数据源 | 用途 | 示例 |
|---|---|---|
| AWS CloudWatch | 基础设施监控 | EC2 CPU、ALB 请求数 |
| Docker API | 容器管理 | docker stats, docker ps |
| 服务健康端点 | 应用状态 | /health, /metrics |
| PostgreSQL 系统视图 | 数据库性能 | pg_stat_statements |
┌────────────────────────────────────────┐
│ optima-cli-docs │
│ (统一文档,不被依赖) │
└────────────────────────────────────────┘
┌────────────────────────────────────────┐
│ optima-cli-core │
│ (Auth, HTTP, Formatter, Config) │
└────────────────────────────────────────┘
▲
│ depends on
┌─────────┼──────────┐
│ │ │
┌─────┴────┐ ┌─┴────────┐ ┌──────────┴─┐
│merchant │ │platform │ │ ops │
│ -cli │ │ -cli │ │ -cli │
└──────────┘ └──────────┘ └────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌─────────────┐
│Commerce │ │Analytics │ │CloudWatch │
│Backend │ │Service │ │Docker API │
│REST API │ │+ RDS │ │Health Checks│
└─────────┘ └──────────┘ └─────────────┘
1. 用户执行命令
↓
2. CLI 入口 (Commander.js)
↓
3. 认证检查 (cli-core/AuthManager)
├→ 读取 Token (~/.config/optima-cli/config.json)
└→ 自动刷新(如过期)
↓
4. API 调用 (cli-core/BaseApiClient)
├→ Commerce API (merchant-cli)
├→ Analytics Service (platform-cli)
└→ CloudWatch/Docker (ops-cli)
↓
5. 数据处理(各 CLI 的业务逻辑)
↓
6. 输出格式化 (cli-core/OutputFormatter)
├→ JSON 模式(默认,AI 友好)
├→ Pretty 模式(--pretty,人类友好)
├→ Chart 模式(--chart,趋势可视化)
└→ Export 模式(--export,CSV/JSON)
- 语言: TypeScript 5.3+ (ES Modules)
- Node.js: >= 18
- 包管理器: pnpm(推荐)或 npm
- CLI 框架: Commander.js 12+
- HTTP 客户端: Axios
- 测试框架: Jest + ts-jest
- 代码质量: ESLint + Prettier
- CI/CD: GitHub Actions
conf- 配置加密存储chalk- 终端颜色cli-table3- 表格渲染asciichart- ASCII 图表date-fns- 日期处理numeral- 数字格式化
pg- PostgreSQL 客户端(直连数据库)csv-writer- CSV 导出
@aws-sdk/client-cloudwatch- CloudWatch 监控@aws-sdk/client-logs- 日志查询ssh2- SSH 远程执行(可选)
{
"success": true,
"data": {
"period": "2025-10",
"metrics": {
"total_revenue": 125000.50,
"total_orders": 342,
"avg_order_value": 365.50,
"growth_rate": 15.3
}
},
"generated_at": "2025-10-29T10:30:00Z"
}用途: Claude Code、脚本自动化、数据管道
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
销售概况 - 2025年10月
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
总销售额 $125,000.50 ↑ 15.3%
订单数 342 ↑ 8.2%
平均订单价值 $365.50 ↑ 6.5%
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
用途: 终端直接查看、视觉化呈现
销售趋势 (2025-10-01 至 2025-10-29)
$8,000 ┤ ╭╮
$7,000 ┤ ╭─╮ ││╭╮
$6,000 ┤ ╭─╯ ╰─╯╰╯│
$5,000 ┤╭─╯ ╰─╮
$4,000 ┼╯ ╰─
1 5 10 15 20 25 29
用途: 趋势可视化、快速模式识别
- CSV:
--export sales.csv - JSON:
--export sales.json
用途: Excel 分析、数据存档
复用 optima-cli 的 OAuth 配置:
-
配置文件 (主要方式)
~/.config/optima-cli/config.json -
环境变量 (优先级最高)
export OPTIMA_TOKEN=<token> export OPTIMA_API_URL=https://api.optima.shop
-
自动刷新
- Token 过期前 5 分钟自动刷新
- 失败后提示重新登录
环境变量(最高)
↓
CLI 参数(--api-url)
↓
配置文件(~/.config/optima-*/)
↓
默认值(代码中定义)
# 1. 克隆 core
git clone https://github.com/Optima-Chat/optima-cli-core.git
cd optima-cli-core
pnpm install && pnpm build && pnpm link
# 2. 克隆业务 CLI
git clone https://github.com/Optima-Chat/optima-merchant-cli.git
cd optima-merchant-cli
pnpm install
pnpm link @optima-chat/cli-core # 链接本地 core
pnpm dev # watch 模式开发# 更新版本
pnpm version patch # 0.1.0 → 0.1.1
pnpm version minor # 0.1.1 → 0.2.0
pnpm version major # 0.2.0 → 1.0.0
# 构建和发布
pnpm build
pnpm publish --access public
# 推送 tag
git push origin --tagsGitHub Actions 自动化:
- PR: 代码检查、测试、构建
- 主分支: 自动测试
- Tag: 自动发布 NPM
-
单元测试 (目标 >80%)
- 工具函数
- 格式化器
- 计算逻辑
-
集成测试
- API 客户端(Mock)
- 认证流程
-
端到端测试
- 完整命令执行
- 输出验证
pnpm test # 运行所有测试
pnpm test:coverage # 覆盖率报告
pnpm test:watch # watch 模式// 缓存商户信息(15 分钟 TTL)
const cache = new Map();
const CACHE_TTL = 15 * 60 * 1000;
async function getMerchant(id: string) {
const cached = cache.get(id);
if (cached && Date.now() - cached.ts < CACHE_TTL) {
return cached.data;
}
const data = await api.getMerchant(id);
cache.set(id, { data, ts: Date.now() });
return data;
}// 并行请求
const [orders, products, stats] = await Promise.all([
api.getOrders(),
api.getProducts(),
api.getStats()
]);// 大数据量分页
async function* fetchOrders() {
let page = 1;
while (true) {
const { data, hasMore } = await api.getOrders({ page, limit: 100 });
yield data;
if (!hasMore) break;
page++;
}
}- ✅ 使用
conf加密存储 - ✅ 不在日志中输出 Token
- ✅ 环境变量不提交 Git
- ✅ 商户 CLI: 后端强制
merchant_id过滤 - ✅ 平台 CLI: 需要
admin角色验证 - ✅ 运维 CLI: 需要
ops角色或系统权限
- ✅ 邮箱部分隐藏(
us***@example.com) - ✅ 手机号脱敏(
138****5678)
- 创建仓库和目录结构
- 编写架构文档
- 实现 cli-core 核心功能
- 发布 cli-core@0.1.0
- 销售分析模块
- 商品分析模块
- 订单运营模块
- 财务对账模块
- 发布 merchant-cli@1.0.0
- 客户分析模块
- 用户行为分析
- 完善测试(>80% 覆盖率)
- 评估 Analytics 服务需求
- 实现核心分析功能
- 发布 platform-cli@1.0.0
- 集成 CloudWatch SDK
- 实现监控和告警功能
- 发布 ops-cli@1.0.0
使用 Conventional Commits:
feat: 新功能
fix: 修复 bug
docs: 文档更新
style: 代码格式
refactor: 重构
test: 测试
chore: 构建/工具
- Fork 仓库
- 创建功能分支:
git checkout -b feat/my-feature - 提交代码:
git commit -m "feat: add something" - 推送分支:
git push origin feat/my-feature - 创建 PR
- GitHub: https://github.com/Optima-Chat
- Issues: 各仓库的 Issues 页面
- Discussions: GitHub Discussions
维护者: Optima Development Team 最后更新: 2025-10-29