Skip to content

CLI 命令行工具

版本: v0.37.9 | 状态: ✅ 生产就绪 | 743 测试通过 | 30+ Headless 命令 | 纯 JS 无原生依赖

ChainlessChain 提供轻量级 npm CLI 工具,让开发者通过一条命令即可安装、配置和管理整个系统。

核心特性

  • 📦 纯 JS 轻量包: 约 2MB,无原生依赖,全平台 npm install -g 即装即用
  • 🤖 30+ Headless 命令: AI 对话、笔记管理、DID 身份、加密解密等无 GUI 运行
  • 🧠 Agent 模式: Claude Code 风格代理会话,8 工具 + 138 技能 + Plan Mode
  • 🔧 完整系统管理: setup/start/stop/status/services/config/update/doctor 全链路
  • 🧪 743 测试通过: 118 核心包测试 + 625 CLI 测试,质量可靠

系统架构

┌──────────────────────────────────────────────┐
│            CLI 命令行工具架构                   │
│                                              │
│  ┌──────────────────────────────────────┐    │
│  │  bin/chainlesschain.js (入口)        │    │
│  └──────────────────┬───────────────────┘    │
│                     ▼                        │
│  ┌──────────────────────────────────────┐    │
│  │  src/index.js (Commander 注册)       │    │
│  └──────────────────┬───────────────────┘    │
│       ┌─────────────┼─────────────┐          │
│       ▼             ▼             ▼          │
│  ┌─────────┐  ┌──────────┐  ┌─────────┐    │
│  │系统管理 │  │Headless  │  │ REPL    │    │
│  │setup    │  │db/note   │  │chat/    │    │
│  │start    │  │did/auth  │  │agent    │    │
│  │services │  │encrypt   │  │(138技能)│    │
│  └─────────┘  └────┬─────┘  └─────────┘    │
│                     ▼                        │
│  ┌──────────────────────────────────────┐    │
│  │  5 个核心包 (@chainlesschain/core-*) │    │
│  │  core-env | shared-logger | core-db │    │
│  │  core-infra | core-config           │    │
│  └──────────────────────────────────────┘    │
└──────────────────────────────────────────────┘

相关文档

快速开始

bash
npm install -g chainlesschain
chainlesschain setup
chainlesschain start

系统要求

  • Node.js >= 22.12.0
  • Docker (可选,用于后端服务)

安装

全局安装

bash
npm install -g chainlesschain

验证安装

bash
chainlesschain --version
chainlesschain doctor

命令参考

setup — 交互式设置向导

首次使用的交互式引导流程。

bash
chainlesschain setup
chainlesschain setup --skip-download    # 跳过二进制下载
chainlesschain setup --skip-services    # 跳过Docker设置

设置流程:

  1. 检查 Node.js 版本 (>= 22.12.0)
  2. 检查 Docker 可用性(可选)
  3. 选择版本:个人版 / 企业版
  4. 选择 LLM 提供商:Ollama / OpenAI / DashScope / DeepSeek / 自定义
  5. 配置 API Key(云端提供商)
  6. 下载平台二进制文件
  7. 保存配置
  8. 可选启动 Docker 后端服务

start — 启动应用

bash
chainlesschain start                # 启动桌面应用
chainlesschain start --headless     # 仅启动后端服务(无GUI)
chainlesschain start --services     # 同时启动Docker服务

stop — 停止应用

bash
chainlesschain stop                 # 停止桌面应用
chainlesschain stop --services      # 仅停止Docker服务
chainlesschain stop --all           # 停止所有(应用 + 服务)

status — 查看状态

显示桌面应用、Docker 服务和端口可用性状态。

bash
chainlesschain status

输出示例:

  App Status

  ● Desktop app running (PID: 12345)
  ● Setup completed (2026-03-11T00:00:00.000Z)
    Edition: personal
    LLM: ollama (qwen2:7b)

  Docker Services

  ● ollama: running
  ● qdrant: running
  ● postgres: running

  Ports

  ● vite: 5173
  ○ signaling: 9001
  ● ollama: 11434

services — Docker 服务管理

bash
chainlesschain services up              # 启动所有服务
chainlesschain services up ollama redis  # 启动指定服务
chainlesschain services down            # 停止所有服务
chainlesschain services logs            # 查看日志
chainlesschain services logs -f         # 跟踪日志
chainlesschain services pull            # 拉取最新镜像

config — 配置管理

bash
chainlesschain config list              # 查看所有配置
chainlesschain config get llm.provider  # 获取指定值
chainlesschain config set llm.provider openai  # 设置值
chainlesschain config set llm.apiKey sk-xxx
chainlesschain config edit              # 用编辑器打开
chainlesschain config reset             # 重置为默认值

update — 更新管理

bash
chainlesschain update                   # 检查并安装更新
chainlesschain update --check           # 仅检查(不下载)
chainlesschain update --channel beta    # 使用beta通道
chainlesschain update --channel dev     # 使用dev通道
chainlesschain update --force           # 强制重新下载

doctor — 环境诊断

全面检查运行环境,识���潜在问题。

bash
chainlesschain doctor

检查项:

检查项说明
Node.js版本 >= 22.12.0
npm已安装
Docker已安装(可选)
Docker Compose已安装(可选)
Git已安装
配置目录~/.chainlesschain/ 存在
配置文件config.json 存在
桌面二进制已下载
Setup 状态已完成初始设置
端口状态各服务端口可用性
磁盘空间剩余空间充足

全局选项

bash
chainlesschain --version    # 显示版本号
chainlesschain --help       # 显示帮助
chainlesschain --verbose    # 启用详细输出
chainlesschain --quiet      # 静默模式

配置

配置文件位置

~/.chainlesschain/config.json

配置结构

json
{
  "setupCompleted": true,
  "completedAt": "2026-03-11T00:00:00.000Z",
  "edition": "personal",
  "llm": {
    "provider": "ollama",
    "apiKey": null,
    "baseUrl": "http://localhost:11434",
    "model": "qwen2:7b"
  },
  "enterprise": {
    "serverUrl": null,
    "apiKey": null,
    "tenantId": null
  },
  "services": {
    "autoStart": false,
    "dockerComposePath": null
  },
  "update": {
    "channel": "stable",
    "autoCheck": true
  }
}

支持的 LLM 提供商

提供商默认模型需要API Key
Ollama (本地)qwen2:7b
OpenAIgpt-4o
DashScope (阿里)qwen-max
DeepSeekdeepseek-chat
自定义

文件结构

~/.chainlesschain/
├── config.json        # 配置文件
├── bin/               # 下载的二进制文件
├── state/             # 运行状态(PID文件)
├── services/          # 服务配置
├── logs/              # CLI日志
└── cache/             # 下载缓存

Headless 模式命令

以下命令不依赖桌面 GUI,直接使用核心包运行。适用于服务器、CI/CD、容器化等无桌面环境。

命令说明详情
db数据库初始化、信息、备份、恢复数据库管理
note笔记增删改查、版本控制、全文搜索笔记/知识库管理
chat / ask交互式 AI 对话 / 单次问答AI 对话
llm模型列表、7 Provider 管理、连通性测试LLM 管理
agent (别名 a)Claude Code 风格代理会话,8 工具 + 138 技能 + Plan Mode代理模式
skill技能列表、搜索、运行技能系统
searchBM25 混合搜索混合搜索
tokensToken 用量追踪、成本分析Token追踪
memory持久记忆管理、每日笔记持久记忆
session会话持久化、恢复、导出会话管理
import知识导入 (Markdown/Evernote/Notion/PDF)Phase 2
export知识导出 (Markdown/静态HTML站点)Phase 2
gitGit 集成(状态/初始化/自动提交/历史分析)Phase 2
mcpMCP 服务器管理 (JSON-RPC 2.0 over stdio)Phase 3
browse浏览器自动化(页面抓取/CSS选择器/截图)Phase 3
instinct本能学习(偏好追踪/衰减/系统提示生成)Phase 3
didDID 身份管理 (Ed25519 签名/验证)DID身份
encrypt/decryptAES-256-GCM 文件加密/解密文件加密
authRBAC 权限引擎 (4角色/26权限范围)RBAC权限
audit审计日志 (8事件类型/4风险级别)审计日志

核心包架构

Headless 命令依赖 5 个独立核心包(118 个核心包测试 + 625 个 CLI 测试 = 743 个测试全部通过):

包名说明模块类型测试数
@chainlesschain/core-env平台抽象、路径解析ESM17
@chainlesschain/shared-logger共享日志(文件轮转)ESM11
@chainlesschain/core-infraDI容器、事件总线CJS26
@chainlesschain/core-config配置管理CJS16
@chainlesschain/core-db数据库管理CJS48

与桌面应用的关系

CLI 是一个纯 JS 的轻量编排工具(约2MB),不包含原生模块。它的职责是:

  • 下载管理:从 GitHub Releases 下载平台对应的预构建二进制文件
  • 配置管理:管理 ~/.chainlesschain/config.json,与桌面应用的配置系统兼容
  • 进程管理:通过 PID 文件管理桌面应用的启动和停止
  • 服务编排:封装 Docker Compose 命令管理后端服务

桌面应用启动后使用自己的 Electron userData 目录,CLI 的配置会被桌面应用的首次设置向导读取。

常见问题

安装后命令找不到

确保 npm 全局目录在 PATH 中:

bash
npm config get prefix
# 将输出路径/bin 添加到 PATH

下载二进制失败

使用代理或手动下载:

bash
# 使用代理
HTTPS_PROXY=http://proxy:port chainlesschain setup

# 手动下载后放到 ~/.chainlesschain/bin/

Docker 服务启动失败

bash
# 检查环境
chainlesschain doctor

# 查看日志
chainlesschain services logs

测试覆盖率

CLI 包包含 743 个测试(118 核心包测试 + 625 CLI 测试),全部通过:

测试类型文件数测试数说明
单元测试30+500+各模块功能测试
集成测试5+80+模块间协作测试
E2E 测试5120+端到端命令测试
bash
cd packages/cli
npm test                   # 运行全部 743 测试
npm run test:unit          # 仅单元测试
npm run test:integration   # 仅集成测试
npm run test:e2e           # 仅端到端测试

安全考虑

  • API Key 存储在本地 ~/.chainlesschain/config.json,建议设置文件权限 600
  • 数据库支持 SQLCipher AES-256 加密(chainlesschain encrypt db
  • 所有操作记录审计日志,支持敏感数据自动脱敏
  • 二进制下载通过 HTTPS + SHA-256 校验和验证
  • 使用 Ollama 本地模型时数据完全离线

关键文件

  • packages/cli/bin/chainlesschain.js — npm bin 入口
  • packages/cli/src/index.js — Commander 命令注册(主入口)
  • packages/cli/src/commands/ — 所有命令实现
  • packages/cli/src/lib/ — 共享库(30+ 模块)
  • packages/cli/src/repl/ — 交互式 REPL(chat/agent)
  • packages/cli/src/runtime/bootstrap.js — 7 阶段 Headless 初始化

卸载

bash
npm uninstall -g chainlesschain
rm -rf ~/.chainlesschain

基于 MIT 许可发布