mirror of
https://github.com/hellodigua/ChatLab.git
synced 2026-10-26 02:04:37 +08:00
feat(cli): make clb web the primary web command
This commit is contained in:
1 parent
c6db9f0c4c
commit
47299a94cb
64 files changed
+264
-270
No files matched your search
@@ -21,31 +21,31 @@ npx skills add ChatLab/ChatLab --skill chatlab-analyze-cn -g
|
||||
chatlab-analyze-cn 帮我分析我和小红的聊天记录
|
||||
```
|
||||
|
||||
这个技能会引导 Agent 先执行 `chatlab manifest` 获取机读命令清单,再用安全的 `--format agent/json` 查询聊天记录。
|
||||
这个技能会引导 Agent 先执行 `clb manifest` 获取机读命令清单,再用安全的 `--format agent/json` 查询聊天记录。
|
||||
|
||||
`chatlab-analyze-cn` 始终只读。如果你希望 Agent 导入新的聊天导出文件,请改用独立的 `chatlab-import-cn` Skill;它会先预览导入计划,再自动新建或增量导入,详见[导入聊天记录指南](/cn/usage/how-to-import)。
|
||||
|
||||
## 命令总览
|
||||
|
||||
```bash
|
||||
chatlab sessions list # 列出已导入的会话
|
||||
chatlab sessions show # 查看单个会话详情
|
||||
chatlab members list # 会话成员列表
|
||||
chatlab members history # 成员改名历史
|
||||
chatlab messages list # 按时间窗口列消息
|
||||
chatlab messages search <关键词...> # 关键词搜索(支持多词、上下文、翻页)
|
||||
chatlab messages context --id <id> # 查看某条消息前后现场
|
||||
chatlab messages between # 两个成员之间的对话
|
||||
chatlab stats overview # 会话概览统计
|
||||
chatlab stats activity # 成员活跃度排行
|
||||
chatlab stats time --by day # 时间分布(hour/weekday/day/month)
|
||||
chatlab stats keywords # 高频词(已过隐私过滤)
|
||||
chatlab stats response # 回复速度排行
|
||||
chatlab topics list # AI 分段摘要列表
|
||||
chatlab topics show --id <id> # 某个分段的原始消息
|
||||
chatlab sql "<SELECT ...>" # 只读 SQL 兜底(字符串默认脱敏)
|
||||
chatlab schema # 查看数据库表结构
|
||||
chatlab manifest # 机读命令清单(给 Agent 一次读全)
|
||||
clb sessions list # 列出已导入的会话
|
||||
clb sessions show # 查看单个会话详情
|
||||
clb members list # 会话成员列表
|
||||
clb members history # 成员改名历史
|
||||
clb messages list # 按时间窗口列消息
|
||||
clb messages search <关键词...> # 关键词搜索(支持多词、上下文、翻页)
|
||||
clb messages context --id <id> # 查看某条消息前后现场
|
||||
clb messages between # 两个成员之间的对话
|
||||
clb stats overview # 会话概览统计
|
||||
clb stats activity # 成员活跃度排行
|
||||
clb stats time --by day # 时间分布(hour/weekday/day/month)
|
||||
clb stats keywords # 高频词(已过隐私过滤)
|
||||
clb stats response # 回复速度排行
|
||||
clb topics list # AI 分段摘要列表
|
||||
clb topics show --id <id> # 某个分段的原始消息
|
||||
clb sql "<SELECT ...>" # 只读 SQL 兜底(字符串默认脱敏)
|
||||
clb schema # 查看数据库表结构
|
||||
clb manifest # 机读命令清单(给 Agent 一次读全)
|
||||
```
|
||||
|
||||
只有一个会话时可省略 `--session`;多个会话时命令会返回候选列表提示消歧。
|
||||
@@ -81,15 +81,15 @@ agent/json 模式下 stdout 只包含一个 JSON 响应信封,日志一律走
|
||||
## 隐私边界
|
||||
|
||||
- 所有查询命令默认应用你在 ChatLab 设置中的脱敏规则与黑名单,包括 `stats keywords` 的词表、`topics list` 的摘要和 `sql` 结果中的字符串字段;`sql` 读取消息 `content` 列需要显式 `--raw`。
|
||||
- `--raw`(绕过预处理)默认禁用,仅当你显式执行 `chatlab config set cli.allow_raw true` 或设置 `CHATLAB_CLI_ALLOW_RAW=1` 后可用。
|
||||
- 不需要 SQL 兜底能力时,可用 `chatlab config set cli.allow_sql false` 关闭 `sql` 命令。
|
||||
- `--raw`(绕过预处理)默认禁用,仅当你显式执行 `clb config set cli.allow_raw true` 或设置 `CHATLAB_CLI_ALLOW_RAW=1` 后可用。
|
||||
- 不需要 SQL 兜底能力时,可用 `clb config set cli.allow_sql false` 关闭 `sql` 命令。
|
||||
|
||||
## 查询示例
|
||||
|
||||
典型配方——"谁最早提到某个问题?查看现场":
|
||||
|
||||
```bash
|
||||
chatlab messages search "服务器迁移" --sort asc --limit 5 --context 3 --format agent
|
||||
clb messages search "服务器迁移" --sort asc --limit 5 --context 3 --format agent
|
||||
# 从返回文本的单条消息标记 [#1021*] 拿到消息 id,再深挖现场:
|
||||
chatlab messages context --id 1021 --window 10 --format agent
|
||||
clb messages context --id 1021 --window 10 --format agent
|
||||
```
|
||||
@@ -45,7 +45,7 @@ pnpm install
|
||||
|
||||
## 平台术语
|
||||
|
||||
- **CLI Web**:由 `chatlab start` 运行,包含 Node.js 后端和 Web UI。
|
||||
- **CLI Web**:由 `clb web` 运行,包含 Node.js 后端和 Web UI。
|
||||
- **Web WASM**:无 Node.js 后端,解析、存储和查询均在浏览器内运行。
|
||||
- “Web”是两者的上位概念。上下文无法区分时,默认指 **Web WASM**。
|
||||
- “后端”或“API Server”只指 Node.js 进程,不等于完整的 CLI Web。
|
||||
|
||||
@@ -53,8 +53,8 @@ Skill 会自动选择电脑上已有的 Node.js、Python 或 Shell 工具,完
|
||||
转换完成前,Agent 必须依次执行:
|
||||
|
||||
```bash
|
||||
chatlab validate "/转换后的文件.jsonl" --json
|
||||
chatlab import "/转换后的文件.jsonl" --dry-run --json
|
||||
clb validate "/转换后的文件.jsonl" --json
|
||||
clb import "/转换后的文件.jsonl" --dry-run --json
|
||||
```
|
||||
|
||||
只有严格验证和导入预览都成功,并且源消息数与输出消息数核对一致,才会报告转换成功。转换脚本和输出文件都会保留,方便以后重新转换更新后的聊天记录。
|
||||
|
||||
@@ -386,10 +386,10 @@ JSONL(JSON Lines)格式适用于**超大规模聊天记录**(>100 万条
|
||||
ChatLab CLI 可以在不导入、不写入数据库的情况下严格验证 JSON/JSONL。它会检查坏行、协议版本、必填字段、秒级时间戳、成员引用、消息类型、消息 ID 和回复关系,并且不会输出消息正文:
|
||||
|
||||
```bash
|
||||
chatlab validate "/转换后的文件.jsonl" --json
|
||||
clb validate "/转换后的文件.jsonl" --json
|
||||
```
|
||||
|
||||
验证通过后,再使用 `chatlab import <file> --dry-run --json` 确认 ChatLab 能够完整识别该文件。
|
||||
验证通过后,再使用 `clb import <file> --dry-run --json` 确认 ChatLab 能够完整识别该文件。
|
||||
|
||||
## 版本历史
|
||||
|
||||
|
||||
@@ -92,10 +92,10 @@ docker run --name chatlab \
|
||||
容器的默认命令是:
|
||||
|
||||
```bash
|
||||
chatlab start --no-open --host 0.0.0.0
|
||||
clb web --no-open --host 0.0.0.0
|
||||
```
|
||||
|
||||
`chatlab start` 按 CLI 中的声明顺序支持以下选项:
|
||||
`clb web` 按 CLI 中的声明顺序支持以下选项:
|
||||
|
||||
| 选项 | 说明 |
|
||||
| --- | --- |
|
||||
|
||||
@@ -45,7 +45,7 @@ npm install -g chatlab-cli
|
||||
最简单的用法是直接导入一个文件:
|
||||
|
||||
```bash
|
||||
chatlab import "/absolute/path/to/chat-export.json"
|
||||
clb import "/absolute/path/to/chat-export.json"
|
||||
```
|
||||
|
||||
### 指定已有会话
|
||||
@@ -53,7 +53,7 @@ chatlab import "/absolute/path/to/chat-export.json"
|
||||
需要明确追加到某个会话时,使用 `--session-id`:
|
||||
|
||||
```bash
|
||||
chatlab import "/absolute/path/to/chat-export.json" --session-id <session-id>
|
||||
clb import "/absolute/path/to/chat-export.json" --session-id <session-id>
|
||||
```
|
||||
|
||||
## 自动化:使用 API 或自动同步
|
||||
|
||||
@@ -23,9 +23,9 @@ npm install --global chatlab-cli
|
||||
安装后运行:
|
||||
|
||||
```bash
|
||||
chatlab start # 启动 API + Web UI,并在浏览器中打开
|
||||
chatlab start --no-open # 启动 API + Web UI,但不自动打开浏览器
|
||||
chatlab start --headless # 仅启动 API,不提供 Web UI(供脚本 / AI Agent 调用)
|
||||
clb web # 启动 API + Web UI,并在浏览器中打开
|
||||
clb web --no-open # 启动 API + Web UI,但不自动打开浏览器
|
||||
clb web --headless # 仅启动 API,不提供 Web UI(供脚本 / AI Agent 调用)
|
||||
```
|
||||
|
||||
常用选项:`--port <端口>`(默认 `3110`)、`--host <地址>`、`--token <令牌>`。
|
||||
@@ -33,13 +33,13 @@ chatlab start --headless # 仅启动 API,不提供 Web UI(供脚本 / AI Ag
|
||||
如果希望服务常驻后台,可以使用:
|
||||
|
||||
```bash
|
||||
chatlab start --daemon # 注册为系统服务,开机自启(macOS / Linux)
|
||||
chatlab status # 查看常驻状态
|
||||
chatlab stop # 停止并取消常驻
|
||||
clb web --daemon # 注册为系统服务,开机自启(macOS / Linux)
|
||||
clb status # 查看常驻状态
|
||||
clb stop # 停止并取消常驻
|
||||
```
|
||||
|
||||
::: tip
|
||||
`clb` 是 `chatlab` 的简写,两者完全等价。
|
||||
推荐使用 `clb`。旧的 `chatlab` 命令仍会保留,以兼容已有脚本和使用习惯。
|
||||
:::
|
||||
|
||||
## Docker
|
||||
|
||||
Reference in new issue
Block a user