AI 与智能体
ai 服务提供模型配置、智能体运行内核(agent kernel)与内置 worker:模型密钥加密存储、任务运行全链路留痕、用量与配额可查。
能力清单
- 模型管理:provider / base_url / 模型名 / 能力(chat 等)配置;API Key 以 AES-256-GCM 加密落库(密文与 nonce 分离存储),列表与详情一律掩码
********,明文与 IV 不出接口。 - 重名保护:模型名全局唯一,新建/改名先查重;查询失败(非 not-found)原样传播,不误判重名。
- 智能体内核:定义(agent_key 需匹配
^[a-z][a-z0-9_-]{1,63}$)→ 版本(指令/模型/工具/max_steps/超时)→ 运行(run/steps/events 全持久化)。 - 幂等运行:创建运行支持
Idempotency-Key——同键同输入复用原运行,同键异输入返回 409。 - 内置 worker:
worker在 ai-service 进程内启动,没有独立 worker 容器;运行请求 ID 为agent-run-<id>,成功/失败都会写用量日志(tokens / 成本 / 延迟 / 状态)。 - 用量与配额:
ai_usage_logs、ai_quotas支持按模型/租户统计;平台管理员可查全平台,普通用户强制当前租户。
鉴权与数据范围
- 模型与运行接口走网关统一鉴权(
ai:agent:*等权限点),租户字段强校验;平台管理员的tenant_id可选,普通用户忽略查询参数强制本租户。 - 模型密钥解密只发生在服务内部调用路径,任何 API 响应不返回明文。
边界
- 🧪 外部模型供应商(OpenAI 兼容协议等)需用户自行配置密钥与额度;仓库不内置、不代管任何供应商凭据。
- 隔离验证使用本地协议 fixture,不是外部供应商准入验收。