运维配置
本页按运维侧(部署工程师/SRE 会改的)分组。配置文件位于 deploy/config/,env 在 .env(单机)或 ConfigMap(K8s)。业务侧(客户运维/管理员会改的)见 业务配置;开箱必改项见 基础配置。
配置文件清单
| 文件 | 作用 |
|---|---|
services.yaml | 服务发现 SSOT,端口/URL/健康端点(371 行) |
ai-infra.yaml | AI 运行时配额、执行边界、工具暴露、沙箱 posture |
ai-infra.confined.yaml | confined posture 专用覆盖(合并到 ai-infra.yaml) |
identity-service.yaml | 身份服务配置 |
skill-service.yaml | 技能服务配置 |
a2a-gateway.yaml | A2A 网关配置 |
dev.yaml | 开发环境覆盖 |
mcp-servers.yaml.example | MCP 服务器配置模板 |
nats-diffusion.yaml | NATS 扩散配置 |
persona-templates.json | 画像模板索引 |
ai-infra-rs 运行时
并发与配额
| 变量 | 默认值 | 说明 |
|---|---|---|
AI_INFRA_RS_GLOBAL_CONCURRENCY | 128 | 全局并发上限 |
AI_INFRA_RS_PER_USER_CONCURRENCY | 10 | 单用户并发上限 |
AI_INFRA_RS_RPM_PER_USER | 120 | 单用户每分钟请求数上限 |
AI_INFRA_RS_ENFORCE_WORKSPACE_LANE | false | 是否强制 workspace lane |
AI_INFRA_RS_DEFAULT_MAX_CONCURRENT_REQUESTS | 10 | 默认单实例最大并发 |
AI_INFRA_RS_DEFAULT_TEMPERATURE | 1 | 默认温度 |
Agent loop
| 变量 | 默认值 | 说明 |
|---|---|---|
AI_INFRA_RS_AGENT_LOOP_TIMEOUT_MS | 900000 (15min) | Agent loop 超时 |
AI_INFRA_RS_CODING_AGENT_LOOP_TIMEOUT_MS | 1800000 (30min) | Coding agent loop 超时 |
AI_INFRA_RS_AGENT_LOOP_MAX_TOOL_CALLS | 80 | Agent loop 最大工具调用次数 |
AI_INFRA_RS_AGENT_LOOP_CONTINUATION_ENABLED | true | 是否启用 continuation(另有 AI_INFRA_RS_CODING_AGENT_LOOP_CONTINUATION_ENABLED / AI_INFRA_RS_READ_ONLY_AGENT_LOOP_CONTINUATION_ENABLED 变体) |
AI_INFRA_RS_LLM_INFER_TIMEOUT_MS | 180000 | LLM 推理超时 |
AI_INFRA_RS_HTTP_REQUEST_TIMEOUT_SECS | - | HTTP 请求超时 |
AI_INFRA_RS_MAX_BODY_BYTES | 20971520 (20MiB) | 请求体最大字节 |
AI_INFRA_RS_MAX_IMAGE_CHARS | 20000000 | 图片最大字符(base64/data-URL) |
AI_INFRA_RS_QUOTA_MAX_ITERATIONS | 100 | quota 最大迭代次数 |
AI_INFRA_RS_AGENT_LOOP_MONOTONIC_FIXATION_THRESHOLD | 24 | 单调 fixity 阈值 |
执行 posture 与 FinSAFE/Hermes 混合舰队
平台 claw(ai-infra-rs)默认 naked;Hermes 租户默认 confined(嵌入式 finsafe-server)。
| 变量 | 默认值 | 说明 |
|---|---|---|
AI_INFRA_RS_HOST_PROFILE | 空(Tier A) | 生产硬门禁:必须显式注入 linux-cloud,否则静默降级 Tier A,沙箱失效 |
AI_INFRA_RS_EXECUTION_POSTURE | naked | 平台 claw 执行 posture;confined 需配 FinSAFE |
AI_INFRA_RS_FINSAFE_URL | - | FinSAFE 服务 URL(confined 必填) |
AI_INFRA_RS_FINSAFE_CELL_POLICY | - | FinSAFE cell 策略(confined 必填) |
AI_INFRA_RS_IMAGE | - | ai-infra-rs 镜像(可切 finsafe-hermes-adapter) |
HERMES_EXECUTION_POSTURE | confined | Hermes 租户 claw 执行 posture |
FINSAFE_SKIP_LOCAL_SERVER | 0 | 嵌入式 finsafe-server 开关;不可注释掉(跳过内嵌 daemon 会破坏 Hermes 终端/文件工具) |
FINSAFE_HERMES_ADAPTER_IMAGE | local/chatkit/finsafe-hermes-adapter:local | hermes-adapter 镜像(须展开写死,.env 不支持 ${CHATKIT_VERSION} 嵌套展开) |
FINSAFE_AUTH_TOKEN | - | FinSAFE 鉴权 token |
FINSAFE_LICENSE_MITM | - | 仅 dev(TLS MITM license 旁路),生产禁用 |
Cron / Restate
| 变量 | 说明 |
|---|---|
AI_INFRA_RS_CRON_BACKEND | restate / builtin(默认 restate) |
RESTATE_INGRESS_URL | Restate ingress URL |
RESTATE_ADMIN_URL | Restate admin URL |
RESTATE_ENDPOINT_URI | Restate endpoint URI |
RESTATE_ENDPOINT_BIND | Restate endpoint bind |
RESTATE_ENDPOINT_PORT | Restate endpoint 端口 |
RESTATE_REGISTER_FORCE | 是否强制注册 |
RESTATE_REGISTER_MAX_ATTEMPTS | 注册最大重试次数(默认 12) |
AI_INFRA_RS_CRON_INTERNAL_TOKEN | 内部 cron token(对应 X-Internal-Cron-Token 契约头) |
Memory / Embedding
| 变量 | 说明 |
|---|---|
AI_INFRA_RS_MEMORY_EMBEDDING_PROVIDER | embedding provider |
AI_INFRA_RS_MEMORY_EMBEDDING_ENDPOINT | embedding endpoint(TEI 默认 26117) |
AI_INFRA_RS_MEMORY_EMBEDDING_BASE_URL | OpenAI 兼容 embedding base URL(Claw 自动追加 /embeddings) |
AI_INFRA_RS_MEMORY_EMBEDDING_API_KEY | embedding endpoint Bearer key(空表示无鉴权) |
AI_INFRA_RS_MEMORY_EMBEDDING_MODEL | embedding 模型(默认 BAAI/bge-base-zh-v1.5) |
AI_INFRA_RS_MEMORY_EMBEDDING_DIMS | 向量维度 |
AI_INFRA_RS_MEMORY_EMBEDDING_TIMEOUT_MS | embedding 超时 |
AI_INFRA_RS_MEMORY_INDEX_PATH | SQLite 索引路径 |
AI_INFRA_RS_HISTORY_TIMEOUT_MS | GET /conversation/messages 单次超时(默认 8000) |
AI_INFRA_RS_HISTORY_FETCH_RETRIES | GET /conversation/messages 重试次数(上限 3,默认 1) |
AI_INFRA_RS_CROSS_SESSION_TIMEOUT_MS | GET /conversation/search 单次超时(默认 3000) |
AI_INFRA_RS_ONBOARDING_TIMEOUT_MS | onboarding profile 拉取超时(默认 5000) |
Host SPI 与内部服务
| 变量 | 说明 |
|---|---|
CONVERSATION_STORE_URL | conversation-store URL |
IDENTITY_SERVICE_URL | identity-service URL(persona-service 缺省时 fallback) |
PERSONA_SERVICE_URL | persona-service URL(可选,缺省时回退 IDENTITY_SERVICE_URL) |
认证与内部 token
| 变量 | 说明 |
|---|---|
INTERNAL_SERVICE_TOKEN | 内部服务间调用 token(部署时统一注入到所有服务) |
AI_INFRA_RS_ADMIN_API_KEY | 管理员 API key(对应 x-admin-api-key 契约头) |
AI_INFRA_RS_TRUST_TOOL_POLICY_HEADER | 信任 X-Tool-Policy 头(默认 false,Host 必须先剥离或控制该头) |
AI_INFRA_RS_TRUST_JWT_SUB | 信任 JWT sub(默认 false) |
USER_SECRETS_KEK | 用户密钥加密密钥(base64,32 字节,建议 openssl rand -base64 32;离线包内置默认值,生产环境建议更换) |
USER_SECRETS_KEK_PREVIOUS | 旧 KEK(轮换期间兼容解密) |
USER_SECRETS_KEK_VERSION | KEK 版本号 |
SERVICE_API_KEYS | 服务 API keys(如 push-service:push-service-key,delivery:delivery-service-key) |
SERVICE_TIMEOUT_MS | 服务调用超时(默认 10000) |
4 个契约头
| 头 | 用途 |
|---|---|
x-admin-api-key | 机器到机器管理员鉴权(/admin/runtime/*);旧版可用 Authorization: Bearer <admin-api-key> |
Authorization: Bearer <token> | 管理员用户 bearer,经 identity-service /users/me 校验 is_admin=true |
X-Internal-Cron-Token | 内部 cron 回环鉴权,需匹配 AI_INFRA_RS_CRON_INTERNAL_TOKEN |
X-Tool-Policy | 工具策略覆盖;仅当 AI_INFRA_RS_TRUST_TOOL_POLICY_HEADER=true 时生效 |
claw-fleet-manager
| 变量 | 默认值 | 说明 |
|---|---|---|
CLAW_FLEET_MANAGER_BASE_PORT | 26463 | claw 实例基端口,动态占用 26463-26549 段 |
CLAW_RUNTIME_MODE | per_tenant_instance | claw 运行时模式 |
CLAW_FLEET_SHARED_AI_INFRA_URL | - | 共享平台 claw(仅 PoC);不设 = 默认 per-tenant Docker claws |
CLAW_FLEET_MANAGER_PUBLIC_HOST | - | 对外暴露的宿主机地址(构建 claw 实例可访问 URL) |
CLAW_FLEET_DOCKER_WORKSPACES_VOLUME | chatkit_workspaces | Docker Compose / 离线部署时 /app/data/workspaces 的命名卷 |
CLAW_FLEET_MANAGER_HEALTH_POLL_TIMEOUT_MS | 180000 | 健康轮询超时 |
CLAW_FLEET_MANAGER_HEALTH_POLL_INTERVAL_MS | 2000 | 健康轮询间隔 |
CLAW_FLEET_MANAGER_REQUEST_TIMEOUT_MS | 240000 | 请求超时 |
CLAW_FLEET_MANAGER_STARTING_MAX_AGE_MS | 300000 | starting 状态降级阈值(须大于健康轮询超时 + 冷启动开销) |
CLAW_FLEET_MANAGER_STARTING_SWEEP_INTERVAL_MS | 60000 | starting 状态扫描间隔 |
CLAW_DEPLOYMENT_HEALTH_GRACE_TIMEOUT_MS | 30000 | 部署健康宽限超时 |
CLAW_DEPLOYMENT_HEALTH_GRACE_INTERVAL_MS | 2000 | 部署健康宽限间隔 |
CLAW_DEPLOYMENT_HEALTH_PER_ATTEMPT_MS | 3000 | 部署健康单次尝试超时 |
CLAW_RECONCILE_PARALLEL | 3 | reconcile 并发数(资源紧张设 1) |
CLAW_RECONCILE_CURL_MAX_TIME | 240 | reconcile curl 超时 |
部署与镜像
| 变量 | 说明 |
|---|---|
CHATKIT_REGISTRY | 镜像 registry(默认 local/chatkit) |
CHATKIT_VERSION | 镜像版本(默认 local) |
AGENT_MODE | Agent 模式(默认 orchestrator) |
AI_INFRA_BACKEND | AI 后端(默认 rs) |
License(
DEPLOYMENT_LICENSE_KEY/DEPLOYMENT_LICENSE_CIPHER)首次部署由 init-env.sh 自动生成;更新流程见 更新 License。
服务与 profile
默认栈共 21 个服务:api-gateway、identity-service、orchestrator、ag-ui-server、persona-service、skill-service、claw-fleet-manager、a2a-gateway、feishu-connector、dingtalk-connector、wecom-connector、auth-fabric、auth-fabric-proxy、conversation-store、delivery、inbox-service、document-service、doc-toolkit、push-service、ai-infra-rs、searxng。
基础设施:postgres、timescaledb、nats、redis、tei、restate。
profile 校验:scripts/validate-profiles.sh。auth-fabric profile gated,dingtalk/wecom 无 profile 限制。claw-fleet-manager 属默认栈(identity-service 与 ai-infra-rs 依赖其路由端点),其 profile 标签仅为单服务显式启动保留。端口分配 SSOT 为 config/services.yaml。
底层与浏览器(按需)
| 变量 | 说明 |
|---|---|
AI_INFRA_RS_LOG | claw tracing filter(dev 默认 ai_infra_rs_claw=debug,ai_infra_rs_tools=debug,ai_infra_rs_llm=info,tower_http=info;prod 默认 info 级;共享与租户 claw 继承同值) |
AI_INFRA_RS_BROWSER_NO_SANDBOX | 浏览器无沙箱(仅测试用,生产禁用) |
CHROME_PATH | Chrome 路径 |
AI_INFRA_RS_WEB_SEARCH_PROVIDER | 搜索 provider(默认 searxng,可选 bocha) |
AI_INFRA_RS_WEB_SEARCH_SEARXNG_URL | SearXNG URL(默认 in-cluster http://chatkit-searxng:8080) |
AI_INFRA_RS_WEB_SEARCH_SEARXNG_LANGUAGE | SearXNG 语言(默认 zh-CN) |
AI_INFRA_RS_WEB_SEARCH_API_KEY | 商业搜索 provider(如 bocha)API key |
AI_INFRA_RS_TOOL_EXEC_TIMEOUT_MS | 工具执行超时(默认 300000) |
AI_INFRA_RS_EXEC_ENABLED | 是否启用 exec 工具(默认 false) |
工具结果保留与插件超时(可选覆盖,默认无需配置):AI_INFRA_RS_TOOL_RESULT_* 家族(inline 字符上限 / 守护上限 / spill 开关与 TTL)、AI_INFRA_RS_PLUGIN_TIMEOUT_MS / AI_INFRA_RS_PLUGIN_TIMEOUT_OVERRIDES、AI_INFRA_RS_TOOL_EXEC_TIMEOUT_OVERRIDES、AI_INFRA_RS_HTTP_ALLOWED_DOMAINS。
可观测性
| 变量 | 默认值 | 说明 |
|---|---|---|
LOG_FILES | 空 | 日志文件路径列表(空格分隔) |
LANGFUSE_SECRET_KEY / LANGFUSE_PUBLIC_KEY | - | Langfuse 链路追踪密钥 |
LANGFUSE_BASE_URL | https://cloud.langfuse.com | Langfuse 服务地址 |
