这个项目能做什么

ThinkWatch 是一款自托管网关,为组织集中管理所有 AI 模型请求和 MCP 工具调用。它充当类似堡垒机的控制点,位于 Claude Code、Cursor、自定义代理和 CI/CD 流水线等客户端与 OpenAI、Anthropic、Google Gemini、Azure OpenAI 和 AWS Bedrock 等上游提供商之间。 主要能力包括: - **按用户区分的 MCP 身份**:用户通过 OAuth 或个人令牌连接自己的 GitHub、Notion、Linear、Slack 或 Atlassian 账户,因此上游审计日志会显示真实操作者。令牌静态加密,工具列表按用户缓存。 - **安全防护**:电子邮件、电话号码和卡号等 PII 在请求发往上游前会被脱敏,并在响应中恢复,包括流式响应。工具调用会根据危险命令规则进行检查,隐藏的 Unicode 字符和提示注入短语可被记录或拒绝。 - **组织身份**:登录可通过任意 OIDC 提供商完成,并可选启用 TOTP。五个内置角色加上自定义角色控制对模型、工具和管理页面的访问。 - **统一密钥**:`tw-` 虚拟密钥可限定用于 AI 网关、MCP 网关或两者。密钥以哈希形式存储,并支持带宽限期的轮换。 - **速率限制和预算**:从一分钟到一周的滑动窗口限制请求数或令牌数,每日、每周或每月预算限制支出。限制可附加到用户、API 密钥或角色。 - **成本核算**:支出按模型、用户、提供商和成本中心报告,并提供 CSV 分摊报告和月末预测。按模型权重使昂贵模型在配额中占用更多。 - **审计追踪**:每个模型请求和工具调用都会记录在 ClickHouse 中,包括用户、参数、响应、延迟和错误。事件可通过 Syslog、经由 REST 代理的 Kafka 或签名 webhook 转发到 SIEM。 - **多格式端点**:OpenAI Chat Completions、OpenAI Responses、Anthropic Messages 和 Gemini 请求在一个端口上提供服务,并转换为上游格式。路由按权重、延迟或健康状况分散流量,并对故障上游使用熔断器。 该项目包括端口 3000 上的网关和端口 3001 上的管理控制台。支持通过 Docker Compose 和带 Helm chart 的 Kubernetes 部署。控制台提供 Claude Code、Cursor、Continue、Cline、OpenAI 和 Anthropic SDK 以及 cURL 的设置说明。 ThinkWatch 在 Business Source License 1.1 下提供源码。非生产用途免费,生产用途在每个日历月最多 10,000,000 个计费令牌和 10,000 次 MCP 工具调用以内免费,超出后需要商业许可证。