首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
ChatLab 安装全指南:Desktop、CLI 与 Docker 三种部署方式详解
📅 2026/9/28 16:46:45
✍️ 爱科研究院
👁 阅读 3,247
【免费下载链接】ChatLabLocal-first chat history analyzer with AI. | 本地优先的 AI 聊天记录分析工具项目地址https://gitcode.com/gh_mirrors/cha/ChatLab点击查看免费下载ChatLab 是一款本地优先的 AI 聊天记录分析工具将聊天历史的解析、存储、查询与 AI 分析能力集成在一个离线优先的环境中。本指南基于 安装 ChatLab 文档完整讲解官方提供的三种安装方式——Desktop 桌面应用、CLI 命令行工具与 Docker 容器覆盖环境要求、启动参数、Unix 域套接字、反向代理、系统常驻服务等实战细节。读完本文你将能够根据自身场景选择合适的部署形态并完成从安装到启动、再到访问 API 与 Web UI 的完整流程。三种安装方式的选择ChatLab 面向不同使用场景提供三种形态核心功能一致但运行载体与使用方式不同方式适用场景运行环境Desktop普通用户图形化界面开箱即用macOSApple 芯片、WindowsCLI开发者、脚本调用、AI Agent 对接Node.js 22.19跨平台Docker服务器部署、容器化、与主机数据共享Linux / macOS / Windows 上的 Docker其中 CLI 形态是另外两种形态的基础Desktop 与 Docker 内部实际运行的都是同一套clb服务。三种方式默认都使用~/.chatlab作为数据目录可通过CHATLAB_DATA_DIR覆盖因此同一台机器上的 Desktop、CLI 与 Docker 可以共享同一份聊天数据库与 AI 数据互相切换无需复制数据。Desktop图形化安装从 ChatLab 官网或 GitHub Releases 页面下载对应操作系统的安装程序执行安装即可。需要注意macOS Desktop 目前仅支持搭载 Apple 芯片M 系列的 Mac。Intel Mac 用户无法使用 Desktop 形态可以改用下文介绍的 CLI Web 方式——通过clb web启动本地 API 与 Web UI再在浏览器中访问使用体验与 Desktop 基本一致。Desktop 基于 Electron 构建仓库中的 apps/desktop/package.json 展示了其技术栈主进程负责本地 HTTP 服务与数据库管理better-sqlite3sqlite-vec内置本地向量模型执行组件huggingface/transformers、onnxruntime-node并提供electron-updater自动更新能力。CLI通过 npm 全局安装环境要求CLI 需要Node.js 22.19 或更新版本。该版本约束同样记录在 apps/cli/package.json 的engines字段中node: 22.19.0不符合版本要求时 npm 会给出警告。安装命令npm install --global chatlab-cli安装完成后命令行会同时提供两个入口命令clb—— 官方推荐使用的命令后续文档与脚本均以此为准chatlab—— 旧命令名称保留用于兼容既有脚本与使用习惯。两者指向同一可执行文件仓库中bin字段同时注册了clb与chatlab功能完全一致。也可以使用clb --version查看当前版本或执行clb update将自身更新到最新版本。启动 API 与 Web UIclb webCLI 安装完成后最常用的命令是clb web它启动 ChatLab 的 HTTP API 服务并在带有 Web UI 构建产物时一并提供前端页面。clb web # 启动 API Web UI并在浏览器中打开 clb web --no-open # 启动 API Web UI但不自动打开浏览器 clb web --headless # 仅启动 API不提供 Web UI供脚本 / AI Agent 调用三种模式的区别默认模式启动 HTTP 服务若本地存在 Web UI 构建产物则自动在浏览器中打开首页--no-open服务照常启动但浏览器不自动打开适合在服务器或无头环境下使用--headless仅提供 API 服务不托管 Web UI。此时 Web UI 路由/_web/*不可用适合脚本化调用与 AI Agent 通过 API 交互。从 apps/cli/src/cli.ts 的源码实现可以看到web命令在启动前会先检查端口占用情况并快速失败随后调用startHttpServer启动服务启动成功后会打印服务地址、API 地址与访问令牌例如ChatLab v0.37.4 Web UI: http://127.0.0.1:3110/ API: http://127.0.0.1:3110 Token: 自动生成或配置的令牌 Example: curl -H Authorization: Bearer TOKEN http://127.0.0.1:3110/api/v1/status--headless模式下 Web UI 行不会出现--no-open模式下浏览器不会自动打开但服务本身行为不变。常用启动选项clb web支持的完整选项如下选项说明默认值--port 端口服务监听端口3110--host 地址监听地址127.0.0.1--token 令牌自定义 Bearer Token省略时从配置读取或自动生成自动生成--socket 路径改为监听 Unix 域套接字而非 TCP 端口不使用--headless仅启动 API不提供 Web UI关闭--require-auth除 API 路由外Web UI 路由也要求 Bearer 认证关闭--no-open不自动打开浏览器关闭--daemon注册为 macOS / Linux 系统常驻服务登录时自动启动关闭源码中web命令含start别名的选项声明位于 apps/cli/src/cli.ts以上参数与说明均与其一致。启动时 Token 的优先级是--token命令行参数 配置文件中的值 自动生成。因此即使不手动指定启动输出中的Token也能用于后续 API 调用。使用 Unix 域套接字监听在 macOS 和 Linux 上可以不用 TCP 端口改用 Unix 域套接字监听适合本机工具或反向代理接入clb web --socket /tmp/chatlab.sock --no-open启动后通过 curl 指定套接字访问 API将YOUR_TOKEN替换为启动时显示的令牌curl --unix-socket /tmp/chatlab.sock \ -H Authorization: Bearer YOUR_TOKEN \ http://localhost/api/v1/status启动输出中会给出同样的示例命令。由于此时没有 TCP 端口Web UI 需要通过反向代理访问见下一节。反向代理下的套接字权限如果反向代理以另一个 Unix 用户执行需要在 ChatLab 启动后为代理所属的群组授予套接字访问权限sudo chgrp 代理群组 /tmp/chatlab.sock sudo chmod 660 /tmp/chatlab.sock需要注意该权限在每次重启后都会重置需要重新执行建议通过服务管理器如 systemd、launchd的启动后挂钩post-start hook自动完成。若 ChatLab 与反向代理以同一用户运行则通常不需要任何权限修改。网络环境下的认证要求如果反向代理可以从本机受信任环境之外访问例如暴露到局域网或公网请使用--require-auth启动 ChatLab或在代理层强制验证身份clb web --socket /tmp/chatlab.sock --no-open --require-auth--require-auth会要求包括 Web UI 路由/_web/*在内的所有路由都携带有效 Bearer Token避免 Web UI 页面与 Token 配置被公开暴露。默认情况下 API 路由已要求认证Web UI 路由则开放因此该选项主要针对 Web UI 的访问控制。常驻后台服务daemon / status / stop若希望 ChatLab 作为系统服务常驻后台、登录时自动启动可使用--daemon模式clb web --daemon # 注册为系统服务登录时自动启动macOS / Linux clb status # 查看常驻状态 clb stop # 停止并移除系统服务三个命令的说明clb web --daemon安装系统服务并立即启动随后命令退出clb status展示服务是否已安装、是否在运行、监听地址http://host:port与自动启动状态并输出日志目录位置clb stop停止服务并移除自动启动配置是--daemon的逆操作。从 apps/cli/src/daemon/service.ts 的实现可以看出底层机制macOS写入~/Library/LaunchAgents/fun.chatlab.daemon.plist通过launchctl注册为 launchd 用户代理RunAtLoad开启、KeepAlive保持存活崩溃后自动重启Linux写入~/.config/systemd/user/chatlab.service通过systemctl --user启用Restartalways保证异常退出后重启服务元信息端口、监听地址、安装时间记录在~/.chatlab/daemon.json日志统一写入~/.chatlab/logs/daemon.log。此外clb status命令在 apps/cli/src/cli.ts 中还会同时打印系统日志目录~/.chatlab/logs/app.log便于排查启动问题。注意两点限制--daemon仅支持 macOS 与 LinuxWindows 上运行该命令会提示不支持需改用前台clb web--daemon与--socket不能同时使用——常驻服务模式下必须走 TCP 端口。Docker容器化部署需要容器部署时请阅读完整的 Docker 部署 文档。这里给出关键结论官方镜像为ghcr.io/chatlab/chatlab-cli提供linux/amd64与linux/arm64两种架构若希望日后与同一台电脑上的 Desktop 或本机 CLI 共用数据务必使用文档中推荐的主机目录挂载方式将主机~/.chatlab挂载到容器内/home/node/.chatlab容器默认以非特权node用户运行macOS / Linux 上建议配合--user $(id -u):$(id -g)、HOME/home/node与CHATLAB_DATA_DIR环境变量使用容器默认命令为clb web --no-open --host 0.0.0.0可以通过 Docker 参数替换为其他clb子命令如sessions list、formats、--version。安装后的下一步安装完成后进入 快速开始 流程导入聊天记录将第三方工具导出的聊天记录文件拖入 ChatLab 首页即可完成一次性导入开发者还可以通过自动同步或 API 推送的方式对接外部数据源配置 AI在设置中接入 AI 模型后即可通过自然语言探索和分析聊天历史。关于 AI 分析能力的定位与工作方式可参阅 为什么选择 ChatLab。常见问题与排障要点端口被占用clb web默认监听3110若端口已被占用启动会快速失败并给出提示。可以改用--port指定其他端口例如clb web --port 8080。Web UI 未出现--headless模式不会提供 Web UI前台模式下若本地缺少 Web UI 构建产物会警告并降级为 API-only 模式此时请改用 Desktop 或重新安装完整版 CLI。浏览器未自动打开--no-open模式下不会自动打开按启动输出中的地址手动访问即可。忘记 TokenToken 在每次启动时打印在终端输出中也可以通过配置文件~/.chatlab/config.toml或config.json查看已配置的值。配置文件加载优先级为CHATLAB_*环境变量 配置文件 内置默认值详见 配置加载器。旧命令兼容已习惯旧名称的脚本可以继续使用chatlab新脚本建议统一使用clb。赞分享【免费下载链接】ChatLabLocal-first chat history analyzer with AI. | 本地优先的 AI 聊天记录分析工具项目地址https://gitcode.com/gh_mirrors/cha/ChatLab点击查看免费下载相关推荐安装 ChatLabDesktop、CLI 与 Docker 三种部署方式的完整指南安装 ChatLabDesktop、CLI 与 Docker 三种部署方式的完整指南 本篇指南围绕 ChatLab 官方中文安装文档展开系统讲解 Deskt数据分析人工智能AI 应用AI Agent桌面应用CLIMCP 服务AI 技能本地部署ArchiveBox 安装完全指南Docker Compose、uv 与裸金属三种部署方式详解ArchiveBox 安装完全指南Docker Compose、uv 与裸金属三种部署方式详解 ArchiveBox 是一款开源的自托管网页存档工具可将 U后端数据工程Pixelle-Video 安装部署全指南Windows 整合包、源码安装与 Docker 三种方式详解Pixelle Video 安装部署全指南Windows 整合包、源码安装与 Docker 三种方式详解 导读本文是 Pixelle VideoAI 全自人工智能AI 应用音视频媒体生成上一篇Apache Thrift Erlang 快速上手指南基于 tutorial 的客户端与服务端实战与源码解析下一篇使用 DiceDB Go SDK 构建 URL 短链服务从 SET/GET 键值模型到完整实战创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/28 16:41:45
CH552G免晶振单片机最小系统设计与USB应用实践
2026/9/28 16:41:45
ESTUN工业机器人示教器操作指南:工具坐标系TCP标定实战
2026/9/28 16:41:45
PDM与PCM区别与转换:数字音频编码与麦克风接口详解
2026/9/28 17:31:50
从零搭建自托管金融数据服务:架构设计与实操避坑指南
2026/9/28 17:31:50
Substrate实战:用Rust搭建自定义区块链与Pallet模块
2026/9/28 17:31:50
金融系统架构设计实战:支付清算、风控与合规的技术取舍
2026/9/28 17:31:50
Substrate Runtime:超越区块链的通用可编程执行基础设施
2026/9/28 17:31:50
CLI-Anything:Agent与命令行结合的设计思路与实操指南
2026/9/28 17:26:49
Agent-Native架构实战:从工具调用到原生智能体的设计指南
2026/9/28 0:04:25
新手从零搭建网站促销活动策划避坑指南:3个方案费用全拆解
2026/9/28 0:04:25
网站被黑挂马?3步图解步骤搞定软件介绍下载网站建设安全
2026/9/28 0:04:25
国内可以做的国外兼职网站进阶技巧
2026/9/28 2:37:38
网站建设的英语怎么说?别只背单词,看完这套安全完整流程才敢上线
2026/9/28 5:00:42
新手入门看这篇:建设网站加盟避坑指南与SEO实操
2026/9/28 8:17:28
论文AIGC疑似度是什么意思?想查论文AI率有哪些免费工具?