Skip to content

配置文件详解 ​

ChatRoom 的默认配置文件位置按系统区分:

  • Linux:~/.config/chatroom/config.json。如果设置了绝对路径的 XDG_CONFIG_HOME,则使用 $XDG_CONFIG_HOME/chatroom/config.json。
  • macOS:~/Library/Application Support/ChatRoom/config.json
  • Windows:%APPDATA%\\ChatRoom\\config.json,通常为 C:\\Users\\<用户名>\\AppData\\Roaming\\ChatRoom\\config.json

运行 chatroom init 会创建该文件。Linux 和 macOS 上,ChatRoom 会按 POSIX 权限模型保护配置目录和文件;Windows 使用系统自身的文件权限模型。

完整示例 ​

json
{
  "allowedRoots": ["/home/user/Projects"],
  "dataDir": "/home/user/.local/share/chatroom",
  "databasePath": "/home/user/.local/state/chatroom/chatroom.sqlite",
  "server": {
    "host": "127.0.0.1",
    "port": 8765
  },
  "auth": {
    "localWebAuth": false,
    "ownerToken": "<generated-owner-token>",
    "mcpPublicBaseUrl": null,
    "webPublicBaseUrl": null,
    "allowedRedirectHosts": ["chatgpt.com", "localhost", "127.0.0.1"]
  },
  "operations": {
    "maxPayloadBytes": 524288
  },
  "process": {
    "maxOutputBytes": 524288,
    "defaultTimeoutMs": 1800000,
    "maxCompletedProcesses": 200
  }
}

allowedRoots ​

Workspace 工具允许打开和管理的目录。默认值为 ~/Projects。路径会被解析为绝对路径,并作为 Workspace 文件访问的主要安全边界。

dataDir ​

运行数据目录。在 Linux 上,默认值为 ~/.local/share/chatroom(或 $XDG_DATA_HOME/chatroom)。

ChatRoom 管理的 Worktree 等本地运行数据保存在此目录下。

databasePath ​

SQLite 数据库位置。在 Linux 上,默认值为 ~/.local/state/chatroom/chatroom.sqlite(或 $XDG_STATE_HOME/chatroom/chatroom.sqlite)。

数据库用于保存工作区、操作日志、OAuth 状态、Web 会话和 Passkey。

server ​

默认配置:

json
{
  "host": "127.0.0.1",
  "port": 8765
}

建议让 ChatRoom 保持监听本机回环地址。如果将 server.host 改为非回环地址,必须启用 auth.localWebAuth,否则 ChatRoom 会拒绝启动。

auth.localWebAuth ​

控制直接访问 WebUI 时是否要求认证。默认情况下,本机回环地址上的 WebUI 不要求认证;监听非回环地址时必须启用。

auth.ownerToken ​

由 chatroom init 自动生成,用于 OAuth 授权以及需要认证的 WebUI 会话中证明实例所有权。

配置了任何需要认证的公网入口时,必须提供 ownerToken。

auth.mcpPublicBaseUrl ​

自行部署公网 MCP 时使用的 HTTPS 基础地址。例如:

json
{
  "auth": {
    "mcpPublicBaseUrl": "https://mcp.example.com"
  }
}

此时 MCP Endpoint 为 https://mcp.example.com/mcp。

auth.webPublicBaseUrl ​

自行部署公网 WebUI 时使用的 HTTPS 基础地址。

auth.allowedRedirectHosts ​

OAuth Redirect URI 允许使用的 Host。默认包含 chatgpt.com、localhost 和 127.0.0.1。仅在受信任客户端确实需要时增加其他 Host。

operations.maxPayloadBytes ​

单条操作日志最多保存的序列化输入/输出大小,默认 524288 字节。

已知敏感字段在持久化前还会进行脱敏处理。

process.maxOutputBytes ​

进程最多保留的输出大小,默认 524288 字节。ChatRoom 使用有界输出,避免长期进程无限占用内存。

process.defaultTimeoutMs ​

默认进程超时时间,默认 1800000 ms,也就是 30 分钟。

process.maxCompletedProcesses ​

内存中最多保留的已完成进程快照数量,默认 200。

使用其他配置文件 ​

可以通过 CHATROOM_CONFIG 指定其他配置文件:

bash
CHATROOM_CONFIG=/path/to/config.json chatroom serve