从安装到实战 —— 手把手教你用 Claude Code + neocrm CLI 生成企业级 CRM 洞察报告
标签: NeoCRM 销售易 CLI AI CRM XOQL Claude Code ECharts
更新日期: 2026-04-25



目录
一、NeoCRM CLI 是什么?为什么你需要它?
1.1 重新定义 CRM 操作方式
NeoCRM CLI(neocrm-cli-client)是销售易推出的命令行工具,让你在终端中直接与 NeoCRM 平台交互。当前版本 v0.6.0,基于成熟的 oclif 框架构建。
核心价值:
| 维度 | GUI 操作 | CLI 操作 |
|---|---|---|
| 交互方式 | 点击、表单 | 命令、脚本 |
| 批量操作 | 手动逐条 | 一行命令处理数百条 |
| AI 集成 | 不支持 | Claude Code / Cursor 直接调用 |
| 可编程性 | 无法自动化 | CI/CD、定时任务、数据管道 |
| 数据查询 | 手动筛选 | XOQL(类 SQL)精确查询 |
1.2 AI CRM 的关键桥梁
CLI 是 AI Agent 与 CRM 数据之间的关键纽带:
Mermaid 渲染失败: Failed to fetch dynamically imported module: https://md.doocs.org/static/js/md-vendor_mermaid-BtWwydMr.js
这意味着什么? 你可以用自然语言告诉 Claude Code:"帮我分析本季度所有赢单商机的客户行业分布",Claude Code 会自动编写 XOQL 查询、执行命令、分析数据、生成可视化报告。
1.3 五大核心能力
1. 数据查询(XOQL):用类 SQL 语法查询 CRM 数据
2. CRUD 操作:创建、读取、更新、删除任意业务对象
3. 元数据发现:自动获取所有对象和字段定义
4. API 代理:直接调用底层 OpenAPI,突破 XOQL 限制
5. 数据锁定:支持并发安全的数据锁定机制
二、安装与环境配置
2.1 前置条件
| 要求 | 说明 | 验证命令 |
|---|---|---|
| Node.js | >= 18.0.0 | node -v |
| npm | 随 Node.js 安装 | npm -v |
| OAuth Client ID | 从销售易管理后台获取 | — |
2.2 一键安装
# 全局安装
npm install -g neocrm-cli-client
# 验证安装
neocrm --version
# 输出: 0.6.0 darwin-arm64 node-v24.13.0
# 查看帮助
neocrm --help
安装成功后,neocrm 命令将注册到系统 PATH 中。
2.3 首次配置
CLI 的配置存储在 ~/.neocrm/config.json,支持以下配置项:
| 配置项 | 默认值 | 说明 | 取值范围 |
|---|---|---|---|
bffEndpoint |
https://crmclaw.xiaoshouyi.com/ |
BFF 网关地址 | 合法 HTTPS URL |
apiVersion |
v58.0 |
API 版本号 | 字符串 |
requestTimeout |
30 |
请求超时(秒) | 5 - 300 |
maxRetries |
3 |
最大重试次数 | 0 - 5 |
defaultOutputFormat |
table |
默认输出格式 | table / json / csv |
debug |
false |
调试模式 | true / false |
# 查看配置
neocrm config:get requestTimeout
# 输出: requestTimeout = 30
# 修改配置
neocrm config:set requestTimeout 60
neocrm config:set debug true
安全提示: 凭证文件
~/.neocrm/credentials.json使用 AES-256-GCM 算法加密,密钥通过 PBKDF2(100,000 次迭代,SHA-512)从主机名 + 用户名派生。即使文件被复制到其他机器也无法解密。
三、认证体系详解
3.1 OAuth 2.0 + clawId 轮询认证
NeoCRM CLI 采用独特的 clawId 轮询认证机制,兼顾安全性与用户体验:
Mermaid 渲染失败: Failed to fetch dynamically imported module: https://md.doocs.org/static/js/md-vendor_mermaid-BtWwydMr.js
认证流程详解:
1. CLI 生成随机
clawId(格式:neocrm-{8位hex})2. 构造 OAuth 2.0 授权 URL,自动打开浏览器
3. 用户在浏览器中完成登录和授权
4. 授权服务器将 Token 与 clawId 关联
5. CLI 每 2 秒 轮询 Token 状态(最长 5 分钟)
6. 获取
accessToken+refreshToken,加密存储到本地7. 自动调用
getUserInfo()获取用户详情8. 更新凭证文件,显示登录成功信息
3.2 三大认证命令
neocrm auth:login — 登录
neocrm auth:login -c <your-client-id>
执行后会看到:
正在打开浏览器进行认证...
[INFO] clawId: neocrm-685dea8a
登录成功!
登录环境: https://scrm.xiaoshouyi.com/
用户名称: 测试-远甲
租户名称: 高科技行业售前Demo
neocrm auth:whoami — 查看当前用户
neocrm auth:whoami
返回完整用户信息:
{
"id": 4252537841177438,
"tenantId": 4018560293554834,
"tenantName": "高科技行业售前Demo",
"name": "测试-远甲",
"phone": "13332401641",
"phoneVerified": true,
"status": 1,
"timezone": "Asia/Shanghai",
"languageCode": "zh",
"local": "CN"
}
neocrm auth:logout — 登出
neocrm auth:logout
# 清除 ~/.neocrm/credentials.json
3.3 Token 自动刷新
当 accessToken 过期时(HTTP 401),BFFClient 会自动:
1. 调用
/neocrm/claw/refer/token/refresh刷新 Token2. 更新本地凭证文件
3. 用新 Token 重试原始请求
整个过程对用户完全透明。
四、完整命令参考手册
CLI 提供 5 大命令组,共 20 个命令:
neocrm
├── auth # 认证管理 (3个命令)
│ ├── login # 登录
│ ├── logout # 登出
│ └── whoami # 查看当前用户
├── config # 配置管理 (2个命令)
│ ├── get # 获取配置
│ └── set # 设置配置
├── data # 数据操作 (7个命令)
│ ├── query # XOQL 查询
│ ├── get # 获取单条记录
│ ├── create # 创建记录
│ ├── update # 更新记录
│ ├── delete # 删除记录
│ ├── lock # 锁定记录
│ └── unlock # 解锁记录
├── metadata # 元数据 (3个命令)
│ ├── objects # 列出所有对象
│ ├── describe # 对象字段描述
│ └── busitype # 业务类型列表
└── api # API代理 (5个命令)
├── get # GET 请求
├── post # POST 请求
├── patch # PATCH 请求
├── put # PUT 请求
└── delete # DELETE 请求
4.1 Auth 命令组 — 认证管理
| 命令 | 说明 | 必填参数 |
|---|---|---|
neocrm auth:login |
OAuth 登录 | -c, --client-id |
neocrm auth:logout |
登出并清除凭证 | 无 |
neocrm auth:whoami |
查看当前用户信息 | 无 |
4.2 Config 命令组 — 配置管理
# 获取配置值
neocrm config:get <key>
# 设置配置值
neocrm config:set <key> <value>
示例:
neocrm config:get requestTimeout # → requestTimeout = 30
neocrm config:set requestTimeout 60 # 设置超时为 60 秒
neocrm config:set maxRetries 5 # 设置最大重试 5 次
neocrm config:set debug true # 开启调试模式
4.3 Data 命令组 — 数据操作
这是最核心的命令组,提供完整的 CRUD + 高级查询能力。
4.3.1 neocrm data:query — XOQL 查询(最常用)
neocrm data:query -q "SELECT fields FROM object [WHERE ...] [LIMIT N]"
XOQL 语法:
-- 基础查询
SELECT id, accountName, industryId FROM account LIMIT 10
-- 条件过滤
SELECT id, accountName FROM account WHERE industryId = '高科技'
-- 模糊搜索
SELECT id, accountName FROM account WHERE accountName LIKE '%科技%'
-- 多字段查询
SELECT id, opportunityName, money, status, winRate
FROM opportunity
LIMIT 200
限制: 查询语句最大 20,000 字符
返回结构:
{
"code": "200",
"msg": null,
"data": {
"totalSize": 200,
"count": 200,
"records": [
{ "id": "...", "accountName": "...", "industryId": ["高科技"] }
]
}
}
提示: picklist 类型字段的值以数组形式返回,例如
"industryId": ["汽车电子"],在使用时注意取第一个元素。
4.3.2 neocrm data:get — 获取单条记录
neocrm data:get -o account -i 4285853289190959