How To
配置
配置 Sink 网管的端口、认证、日志及核心参数
配置
概述
Sink 网管是用户与平台之间的主要接口。通过网管配置,你可以控制:
- 服务监听的端口和地址
- 日志级别和前端功能开关
- 可选的 AI 能力设置
本指南涵盖常见的网管配置任务。
配置文件位置
网管配置文件位于:
~/.sink/gateway.json
其中 ~/.sink 对应 SINK_HOME/.sink,默认值为 ~/.sink。
快速开始:基础配置
场景 1:更改服务端口
# 编辑 ~/.sink/gateway.json
{
"port": 8080,
"host": "127.0.0.1"
}
重启网管后生效。访问 http://127.0.0.1:8080 即可打开 Web UI。
场景 2:允许远程访问
{
"port": 5000,
"host": "0.0.0.0"
}
这样其他机器可以通过 http://<your-ip>:5000 访问。
场景 3:使用环境变量配置端口
在 gateway.json 中使用环境变量插值语法:
{
"port": "${PORT:-5000}",
"host": "127.0.0.1"
}
这表示:使用 PORT 环境变量的值,如果未设置则默认为 5000。
启动时:
PORT=8080 sink gateway start
认证配置
静态 Bearer Token(额外认证)
除主认证方式外,你还可以配置额外的 Bearer token:
{
"authTokens": [
"token-1",
"token-2"
]
}
发送请求时在 Authorization 头中使用:
curl -H "Authorization: Bearer token-1" http://localhost:5000/api/config
这对集成脚本或 CI/CD 流水线很有用。
日志配置
日志级别
{
"logLevel": "info"
}
可选值:
fatal- 仅致命错误error- 仅错误warn- 警告及以上info- 常规信息(默认)debug- 详细调试信息trace- 全部日志(最详细)silent- 禁用所有日志输出
查看日志
日志输出到标准输出。运行网管时你可以:
# 直接查看日志
sink gateway start
# 或重定向到文件
sink gateway start > sink.log 2>&1
前端功能开关
通过 uiConfig 控制 Web UI 中哪些功能菜单可见:
{
"uiConfig": {
"showProfiles": true,
"showRuntimes": true,
"showSkills": true,
"showMcp": true,
"showInstructions": true,
"showVscode": true,
"showCanvas": true,
"simpleMode": false
}
}
可用功能开关
使用场景
场景:为不同用户呈现不同的 UI
你可以通过环境变量动态控制功能开关:
{
"uiConfig": {
"showProfiles": "${SHOW_PROFILES:-true}",
"showVscode": "${SHOW_VSCODE:-false}",
"simpleMode": "${SIMPLE_MODE:-false}"
}
}
启动时:
# 隐藏 VS Code 菜单,启用简洁模式
SHOW_VSCODE=false SIMPLE_MODE=true sink gateway start
Settings 配置
除 gateway.json 外,Sink 还有全局 settings.json 配置,支持三层配置。
位置:~/.sink/settings.json 和 <workspace>/.sink/settings.json
常见配置项
{
"env": {
"ANTHROPIC_API_KEY": "sk-...",
"CUSTOM_VAR": "value"
},
"logLevel": "info",
"agentLifecycle": {
"maxConcurrent": 4,
"idleSwapOutMs": 300000
},
"sandbox": {
"enabled": true
}
}
| 字段 | 说明 |
|---|---|
env | 环境变量注入(注入到 Agent 进程中) |
logLevel | 工作区级日志级别 |
agentLifecycle.maxConcurrent | 最大并行运行的 Agent 数量 |
agentLifecycle.idleSwapOutMs | 闲置 Agent 可被挂起前的等待时间(毫秒) |
sandbox.enabled | 是否启用沙箱隔离 |
故障排除
网管启动失败
检查配置文件是否存在 JSON 语法错误:
cat ~/.sink/gateway.json | jq .
如果存在错误,修复 JSON 格式后重试。
环境变量插值不生效
请检查:
- 环境变量是否确实已设置:
echo $VAR_NAME - 配置文件是否被正确读取:启动日志中应显示配置加载信息
gateway.json中的插值语法是否正确
认证问题
- 403 Unauthorized:检查 Bearer token 是否正确(如果配置了
authTokens)
性能问题
- 增大
agentLifecycle.maxConcurrent以允许更多 Agent 并行运行 - 增大
agentLifecycle.idleSwapOutMs以减少 Agent 挂起频率 - 将
logLevel调至warn或error以减少日志 I/O
后续步骤
- 管理 Profiles:定义 Agent 角色
- 配置 Runtimes:设置 Agent 运行时
- 管理 Skills:为 Agent 添加能力