配置文件详解
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 使用系统自身的文件权限模型。
完整示例
{
"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
默认配置:
{
"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 基础地址。例如:
{
"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 指定其他配置文件:
CHATROOM_CONFIG=/path/to/config.json chatroom serve