应采用多租户隔离方案:一、qoder team版容器化租户隔离;二、docker沙盒物理隔离;三、系统代理网络分流;四、windows多用户硬隔离;五、独立浏览器配置文件分离。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望为不同客户分别部署QoderWake数字员工,但面临数据混用、技能冲突或权限越界等风险,则可能是由于默认单租户模式未启用逻辑隔离机制。以下是实现多租户独立运行环境的多种配置路径:
一、基于Qoder Team版坐席容器化实现租户级隔离
Qoder Team版原生支持多租户坐席管理,每个坐席在独立容器中运行,拥有专属技能集、API密钥与Connector白名单,所有实例共享系统托盘但资源与状态完全隔离。
1、以管理员身份登录Qoder Team控制台。
2、进入【客户管理】→【新增租户】,填写客户名称、行业类型及SLA等级(如“金融客户-A级”)。
3、为该租户创建专属坐席组,每组绑定唯一API Key,并在Connector白名单中仅启用该客户授权接入的系统(如仅允许“客户A”使用Salesforce Connector,“客户B”仅启用Zapier)。
4、在【租户策略】中启用“跨租户内存硬隔离”,设置单租户最大RAM占用为总内存的30%。
5、点击【激活租户】,系统自动拉起对应数量的沙盒化服务进程,并分配独立日志命名空间(如qoderwake-custA-20260522.log)。
二、通过Docker沙盒实例部署物理级租户环境
利用Docker为每个客户构建完全独立的运行时环境,包含专属QoderWake镜像、挂载隔离存储卷及网络策略限制,确保无任何共享内存、文件句柄或网络端口。
1、从阿里可信镜像仓库拉取多租户专用镜像:docker pull qoder/awake-tenant:v1.0.2-multi。
2、为每个客户创建独立数据卷:docker volume create custA-data && docker volume create custB-data。
3、启动客户A实例,绑定专属端口与卷:docker run -d --name custA-wake -p 8081:8080 -v custA-data:/root/.qoderwake -e TENANT_ID=CUSTA qoder/awake-tenant:v1.0.2-multi。
4、启动客户B实例,使用不同端口与卷:docker run -d --name custB-wake -p 8082:8080 -v custB-data:/root/.qoderwake -e TENANT_ID=CUSTB qoder/awake-tenant:v1.0.2-multi。
5、验证两实例进程ID、内存映射地址及网络连接均无重叠,执行docker exec custA-wake ps aux与docker exec custB-wake ps aux确认无共享进程树。
三、启用系统代理分流实现网络层租户路由
在宿主机层面配置透明代理规则,将不同客户域名请求定向至对应QoderWake实例,避免应用层修改,适用于已存在统一入口网关的企业环境。
1、安装并启动轻量代理服务:apt install tinyproxy && systemctl enable tinyproxy。
2、编辑/etc/tinyproxy/tinyproxy.conf,添加两条路由规则:Filter "/etc/tinyproxy/custA.filter" 和 Filter "/etc/tinyproxy/custB.filter"。
代码编辑 CLI 工具集合:Cursor CLI(agent)和 Qoder CLI(qodercli),用于代码修改、重构、Code Review 及自动化代码任务。
3、在/etc/tinyproxy/custA.filter中写入客户A专属域名:^api\.custa\.com$;在/etc/tinyproxy/custB.filter中写入客户B专属域名:^portal\.custb\.io$。
4、配置反向代理目标:在/etc/tinyproxy/tinyproxy.conf中追加ReversePath "/custA" "http://127.0.0.1:8081"与ReversePath "/custB" "http://127.0.0.1:8082"。
5、重启代理服务:systemctl restart tinyproxy,确认客户A流量经/custA路径全部转发至8081端口实例,客户B流量经/custB路径全部转发至8082端口实例。
四、使用Windows多用户硬隔离保障租户边界
针对Windows桌面环境,通过操作系统级多用户账户实现彻底隔离,每个客户独占一套用户配置、注册表项与服务会话,杜绝跨租户残留痕迹。
1、在Windows设置中新建两个标准用户账户:CUSTA_USER 与 CUSTB_USER,不赋予管理员权限。
2、以CUSTA_USER身份登录,下载并安装QoderWake桌面版,完成首次初始化并绑定客户A专属License。
3、退出当前会话,切换至CUSTB_USER,重复安装流程,但指定安装路径为C:\Users\CUSTB_USER\AppData\Local\QoderWake。
4、为每个用户账户单独配置计划任务:CUSTA_USER下设置每日凌晨2点执行qoderwake-cli cleanup --scope=memory,CUSTB_USER下设置每日凌晨3点执行相同命令。
5、验证两账户下的%APPDATA%\QoderWake\config\目录内容互不可见,且任务管理器中显示两个独立的qoderwake.exe进程,归属不同用户会话ID。
五、配置独立浏览器配置文件实现前端租户分离
适用于Web端QoderWake托管场景,通过Chromium多用户配置文件机制,在同一台设备上启动多个逻辑隔离的前端会话,每个会话绑定唯一客户上下文与记忆沙盒。
1、在Windows系统中,右键创建快捷方式,目标栏设置为:"C:\Program Files\QoderWake\qoderwake.exe" --user-data-dir="C:\QoderWake\CustA" --profile-directory="Default"。
2、复制该快捷方式,修改目标栏为:"C:\Program Files\QoderWake\qoderwake.exe" --user-data-dir="C:\QoderWake\CustB" --profile-directory="Default"。
3、分别启动两个快捷方式,在首次登录页选择“使用已有账号”,输入客户A与客户B各自独立的OAuth凭证。
4、确认两个窗口的任务栏图标显示不同客户标识,且打开开发者工具后Application → Storage面板中IndexedDB与Cache Storage路径分别为CustA与CustB子目录。
5、关闭任一窗口后,另一窗口的本地存储、Cookie及Service Worker状态不受影响,审计日志中记录的会话ID前缀严格区分sess-custa-与sess-custb-。










