配置
RelayCore 的配置来源有四层,优先级为 命令行参数 > 环境变量 > 配置文件 > 内置默认。因此一次性的覆盖不需要改文件,而需要跨命令存活的设置写进 $RELAY_DATA_DIR/config.toml。
relay-core config init 会生成一份带注释的配置文件,relay-core config show 打印生效中的配置(文件值覆盖默认值),relay-core config path 打印文件位置。配置文件写坏了会直接报错,而不是静默回落到默认值——静默忽略一个拼写错误,等于让守护进程用你没有要求的设置运行。
默认数据目录
默认目录为 ~/.relay-core(可通过 RELAY_DATA_DIR 覆盖)。HTTPS 拦截相关文件:
ca_cert.pem— CA 证书ca_key.pem— CA 私钥ca_cert.json— CA 元数据(持久化加载所需)
使用 relay-core ca generate 生成证书后,守护进程会从上述路径读取;证书不存在时会在首次启动时自动创建(HTTPS 拦截仍需 ca install 把该 CA 装入系统信任库,纯 HTTP 则不需要)。
同一目录下还有 daemon.db(流量与审计的 SQLite)、daemon.json(发现清单)与日志。CLI 与 MCP 默认共用这份目录;要隔离实验时设置不同的 RELAY_DATA_DIR,或使用 relay-core start --in-memory。
流量保留(retention)
自 0.13.1 起,产品默认最多保留 5000 条流量,且超过 7 天删除(审计事件默认仍不设界)。热数据内存 LRU 约 200 条;落盘仍走 SQLite。可用 MCP clear_flows 或策略里的 retention 立刻清空 / 调整边界;显式把 retention 设成全空表示永不裁剪。
配置文件
# ~/.relay-core/config.toml — 只写需要改的键,其余用内置默认
[daemon]
api_port = 8082 # 控制 API / Web UI 端口(被占则回落到临时端口)
mcp_port = 18083 # MCP 端点端口
mcp = true # 是否由守护进程服务 MCP 端点
idle_timeout = 0 # 无流量多少秒后停代理;0 = 永不自动关闭
save_stream = "" # 将每个流量更新以 JSONL 追加到该文件(空 = 不录制)
[proxy]
port = 8080 # 未显式指定监听端口时,start / run 使用的端口
[client]
autostart_daemon = true # MCP 桥是否可以在没有守护进程时自行拉起一个
[tui]
# theme = "relay" # relay | slate | high-contrast(TUI 主题,见下文) 环境变量
| 变量 | 说明 |
|---|---|
RELAY_DATA_DIR | 数据目录(默认 ~/.relay-core) |
RELAY_CA_CERT | CA 证书路径(须与 RELAY_CA_KEY 成对);同时作用于 relay-core 与 relay-core-probe |
RELAY_CA_KEY | CA 私钥路径(须与 RELAY_CA_CERT 成对) |
RUST_LOG | 日志过滤级别(如 info、debug、trace)。CLI 帮助里写的 RELAY_LOG 目前不会被读取 |
RELAY_CORE_TUI_THEME | --theme 缺省时的 TUI 配色(relay、slate、high-contrast)。见 TUI 主题。 |
RELAYCORE_UPSTREAM_PASSWORD | 上游代理 HTTP Basic 认证密码,与 --upstream-auth-user 配合。绝不要通过命令行参数传入密码(会进入 shell 历史)。见 代理模式 § 上游。 |
RELAY_API_PORT / RELAY_MCP_PORT / RELAY_PROXY_PORT | 守护进程与代理的端口覆盖(对应 --api-port / --mcp-port / --listen) |
RELAY_PROXY_IDLE_TIMEOUT | 无流量多少秒后停代理;0 表示永不自动停 |
RELAY_MCP_URL / RELAY_MCP_TOKEN | 让 MCP 桥直接使用指定端点,而跳过对守护进程的发现 |
RELAY_MCP_NO_AUTOSTART | 设为 1 时,MCP 桥不得自行启动守护进程 |
路径优先级:CLI 参数 > 环境变量 > 默认数据目录。
TUI 主题
TUI 的主题取自上面这份配置文件的 [tui].theme——同一个文件、同一个读取器,因此 relay-core config show 也看得到它。解析顺序:--theme 参数 > RELAY_CORE_TUI_THEME 环境变量 > 文件中的 [tui].theme > 默认(relay)。
CLI 常用参数
relay-core start [options] # 守护进程 + 代理(幂等)
relay-core run [options] # 同一个守护进程,前台运行
-l/--listen <ADDR> 代理监听地址(默认 127.0.0.1:8080)
--ca-cert <PATH> CA 证书路径(可选,覆盖默认)
--ca-key <PATH> CA 私钥路径(须与 --ca-cert 成对)
--api-port <PORT> 控制 API / Web UI 端口(被占则回落临时端口)
--api-token <TOKEN> Bearer 令牌(守护进程默认自动生成并写入清单)
--mcp-port <PORT> 由守护进程服务 MCP 端点
--rules <PATH> 加载规则文件(JSON/YAML)
--script <PATH> 加载 Deno 脚本
--script-env-allow 脚本可读取的环境变量名(逗号分隔)
--ui 前台守护进程 + TUI(TUI 是它的客户端)
--theme <NAME> TUI 配色
--upstream <URL> 将所有流量路由到上级代理
--save-stream <PATH> 将每个流量更新以 JSONL 追加到磁盘 生产环境建议
- 仅本机使用时绑定
127.0.0.1,避免暴露到局域网 - 启用
--api-port时配合--api-token限制访问 - 团队共享 CA 时统一
RELAY_DATA_DIR或显式指定--ca-cert/--ca-key