服务器参考
一台机器上的多个服务器
一台机器、一个用户账号、多个完全独立的 AgentsServer——各自拥有自己的端口、服务、令牌、会话历史和终端。适合分开工作与个人用途、在稳定版旁边跑一个测试版,或给每个项目一个专属服务器。
可用性
尚未包含在已发布版本中。命名实例目前在 AgentsServer 的 main 分支上(2026 年 9 月 20 日合并),不在 v1.0.3 或 v1.0.4-beta.9 中。在正式发布之前,你需要从 main 分支的检出安装服务器。请查看发布说明了解首个包含该功能的版本。
实例如何工作
你的第一个服务器是默认实例——它保留你现有的路径、服务名和端口。每个额外的服务器都是一个命名实例(work、beta……),拥有自己的服务、端口、配置、状态目录、日志和 tmux 服务,以默认实例的同级身份安装。它们之间不共享任何东西,移除默认实例也绝不会移除命名实例。
实例是为方便而设的独立服务——它们之间不是安全边界,因为都以你的用户账号运行。
创建实例
在 main 分支的 AgentsServer 检出目录中:
# automatic name and the next free port (7851 upwards) ./instances.sh new # or choose the name and port ./instances.sh new --name work --port 7851 # optional bind address (default 0.0.0.0) ./instances.sh new --name lab --port 7852 --bind 0.0.0.0
新实例从空的会话列表开始,并拥有自己新生成的访问令牌。名称须为小写:一个字母开头,后接最多 31 个字母、数字或连字符。
列出并连接
./instances.sh list # name, status, port (also the default action) ./instances.sh info work # details for one instance
把应用连接到实例的方式和连接任何服务器完全一样——URL 是主机地址加该实例的端口,令牌用这条命令获取:
./install.sh --instance work --show-token
在应用里添加多个实例,在服务器切换器中随时切换。
更新实例
每个实例独立更新;在常规更新命令后加上 --instance:
git pull --ff-only ./install.sh --instance work
不带 --instance 的 ./install.sh 只更新默认服务器。其他所有安装选项(--port、--bind、--release-version……)都可按实例使用——见安装选项。
每个实例的位置
把 NAME 替换为实例名。
- 服务:
agents-server-NAME(Linux,systemctl --user)·com.agentsdock.server.NAME(macOS LaunchAgent) - 状态(会话、任务、文件、令牌):
~/.agentsdock-instances/NAME - 配置:
~/.config/agents-server-instances/NAME - 运行时发布:
~/.local/share/agents-server-instances/NAME - 日志:
~/Library/Logs/AgentsServer-instances/NAME/(macOS)·journalctl --user -u agents-server-NAME(Linux) - 所有实例的注册表:
~/.config/agents-server-manager/instances.json(只含名称、状态、端口——不含任何机密)
默认实例保留文件位置中列出的标准路径。
每个实例的终端
每个命名实例的会话终端都运行在它自己的 tmux 服务上,因此绝不会与默认服务器的会话或你在 tmux 里跑的其他东西混在一起:
tmux ls # default server's chat terminals (zd_*) tmux -L agents-server-work ls # the 'work' instance's terminals (zdi_work_*)
移除实例
./uninstall.sh --instance work # one instance ./uninstall.sh --all # every instance, including default ./uninstall.sh --all --exclude default # every named instance, keep default
不带参数运行 ./uninstall.sh 会列出你的实例并要求确认它们的完整名称。移除会停止服务并删除运行时和配置(包括该实例的令牌);其会话历史默认保留。当一个名称被释放时,它的状态目录会被移到私有备份,而不是抹除——见名称释放备份。--purge-state 是唯一的破坏性选项,且总是要求输入完整路径。
规则与限制
- 默认实例不能被释放;只有命名实例可以。
- 移除默认服务器绝不会影响命名实例(它们是同级根目录,不是子目录)。
- 端口必须空闲且未被预留;管理器绝不会为了占用端口而停止已有的监听进程。
- 导入的提供方历史在实例之间互斥,同一个 Claude/Codex 会话不会被采纳两次。
- 实例共享你的用户账号,彼此之间不是沙箱。