可通过三种方式实现QClaw多实例并行部署:一、独立工作目录+端口隔离,修改端口与dataDir;二、Docker容器化,通过docker-compose启动隔离服务;三、微信子账号+多Bot Token路由,复用单实例实现逻辑隔离。
如果您希望在一台电脑上同时运行多个独立的 qclaw 项目(例如分别对接不同模型、服务不同团队或隔离测试环境),则需绕过默认的单实例限制,实现多实例并行部署。以下是解决此问题的步骤:
一、使用独立工作目录+端口隔离部署
QClaw 默认以单一服务模式运行,但可通过复制安装体并修改其监听端口与数据路径,实现逻辑隔离的多项目共存。每个实例拥有专属配置、模型绑定及微信关联关系。
1、在文件管理器中定位已安装的 QClaw 主程序目录(如 Windows 下通常为 C:\Program Files\QClaw 或 macOS 下 /Applications/QClaw.app/Contents/Resources)。
2、将整个 QClaw 目录完整复制一份,重命名为 QClaw-ProjectA;再复制一次,重命名为 QClaw-ProjectB。
3、进入 QClaw-ProjectA 目录,查找配置文件(常见路径:config/config.json 或 resources/config.yaml),将其中 "port": 3000 修改为 "port": 3001;同理,在 QClaw-ProjectB 中改为 "port": 3002。
4、分别修改两个配置文件中的 "dataDir" 字段,指向互不重叠的绝对路径,例如:"dataDir": "./data-project-a" 和 "dataDir": "./data-project-b"。
5、依次双击运行两个独立目录下的启动程序(Windows 为 QClaw.exe,macOS 为 QClaw.app),等待各自完成初始化。
6、打开浏览器,分别访问 http://localhost:3001 和 http://localhost:3002,确认两个控制台均可正常加载。
二、通过 Docker 容器化方式部署多实例
利用 Docker 可确保各 QClaw 实例完全隔离,包括网络、文件系统与依赖环境。适用于需要严格环境一致性或多版本模型并行验证的场景。
1、确保本地已安装 Docker Desktop 并正常运行(Windows/macOS 均支持)。
2、创建一个空目录 qclaw-multi,并在其中新建子目录 project-a 与 project-b。
3、在 project-a 内放置 QClaw 的无GUI服务版可执行包(如 qclaw-server-linux-amd64)及自定义 config-a.yaml,其中指定端口为 3003、数据路径为 /data/a。
4、在 project-b 内放置相同可执行包及 config-b.yaml,端口设为 3004,数据路径为 /data/b。
5、在 qclaw-multi 根目录下创建 docker-compose.yml,定义两个 service,分别挂载对应配置与数据卷,并映射不同宿主机端口。
6、执行 docker-compose up -d 启动全部容器。
7、访问 http://localhost:3003 与 http://localhost:3004,验证两套 UI 是否独立可用。
三、基于微信子账号+多机器人 Token 分离部署
当多个项目需共享同一台物理设备但面向不同微信用户群体时,可复用单个 QClaw 实例,通过微信开放平台子账号体系与独立 Bot Token 实现指令路由隔离,避免重复部署开销。
1、登录微信开放平台,为每个项目分别创建独立的第三方平台账号,获取各自的 component_appid 与 component_appsecret。
2、在 QClaw 主程序的高级设置页中启用“多微信接入”开关。
3、点击“添加微信机器人”,依次填入各项目的 component_appid、component_appsecret 及预设的 template_id。
4、为每个机器人配置专属响应规则:例如设定项目 A 仅处理来自标签为 team-finance 的用户消息,项目 B 仅响应含关键词 #hr 的会话。
5、各微信管理员分别扫码授权对应子账号,授权后其用户列表即被自动归入指定项目上下文。
6、所有指令仍经由同一 QClaw 进程处理,但内部按 Token 和路由规则分发至不同工作流与模型实例。








