Claude Code 0331 系统报告

第23章 · 企业功能

第23章 · 企业功能

23.1 策略限制系统

services/policyLimits/实现了组织级别的功能限制:

资格模型

  • Console用户(API Key):全部有资格
  • OAuth用户(Claude.ai):仅Team和Enterprise/C4E
  • Fail-Open设计:API获取失败时不阻塞,继续运行不受限
export type PolicyLimitsResponse = {
  restrictions: {
    disabledTools?: string[]          // 禁用的工具列表
    disabledFeatures?: string[]       // 禁用的功能列表
    maxTokensPerMinute?: number       // Token速率限制
    customLimits?: Record<string, unknown>  // 自定义限制
  }
}

后台轮询:每小时(POLLING_INTERVAL_MS = 60 * 60 * 1000)从服务端拉取最新限制。 缓存:结果缓存到policy-limits.json文件,重启后立即可用。 超时:单次请求10秒超时,最多5次重试。

23.2 远程管理设置

services/remoteManagedSettings/允许企业管理员远程推送Claude Code设置:

  • 使用ETag/If-None-Match进行条件请求,最小化带宽
  • 签名验证确保设置未被篡改(securityCheck.tsx
  • Checksum验证(crypto.createHash()
  • Settings Schema验证确保格式正确
  • 30秒超时防止死锁(其他系统等待初始加载完成)
  • 安全检查失败时优雅降级

23.3 设置同步

services/settingsSync/实现了设置的持久化与跨设备同步。

23.4 OAuth认证流程

services/oauth/client.ts实现了完整的OAuth 2.0 PKCE流程:

export function buildAuthUrl({
  codeChallenge: string,
  state: string,
  port: number,
  isManual: boolean,
  loginWithClaudeAi?: boolean,   // Claude.ai vs Console
  inferenceOnly?: boolean,
  orgUUID?: string,
  loginHint?: string,
  loginMethod?: string,
}): string

关键特性:

  • 支持Claude.ai和Console两个认证端点
  • PKCE(Proof Key for Code Exchange)增强安全性
  • 组织选择(orgUUID
  • 登录提示(loginHint
  • Claude Max升级引导

两个作用域:

  • CLAUDE_AI_INFERENCE_SCOPE — Claude.ai推理权限
  • PROFILE_SCOPE — 用户身份

23.5 GrowthBook灰度发布

services/analytics/growthbook.ts集成了GrowthBook特性门控和A/B测试:

用户维度属性

export type GrowthBookUserAttributes = {
  id: string
  sessionId: string
  deviceID: string
  platform: 'win32' | 'darwin' | 'linux'
  apiBaseUrlHost?: string
  organizationUUID?: string
  accountUUID?: string
  userType?: string
  subscriptionType?: string
  rateLimitTier?: string
  firstTokenTime?: number
  email?: string
  appVersion?: string
  github?: GitHubActionsMetadata
}

这些维度允许极其精细的灰度控制:

  • 按平台(仅macOS用户)
  • 按组织(仅特定企业)
  • 按订阅类型(仅Pro/Max用户)
  • 按Rate Limit层级
  • 按GitHub Actions环境

特性门控在整个代码库中被广泛使用——tengu_session_memorytengu_harbortengu_brieftengu_onyx_plovertengu_ccr_bridge_multi_session等。所有门控名称都以tengu为前缀,这可能是一个内部代号。

23.6 分析与遥测

分析系统包含多个层次:

GrowthBook:特性标志和A/B测试 Datadog:APM和日志(datadog.ts第一方事件日志

  • firstPartyEventLogger.ts — 事件记录
  • firstPartyEventLoggingExporter.ts — 事件导出
  • PII保护:不记录代码内容和文件路径
  • 事件采样:高频事件按比例采样,避免数据爆炸

实验追踪

  • 实验ID(experimentId)、变体ID(variationId)、哈希值(hashValue
  • 曝光日志按会话去重(同一实验在同一会话中只记录一次曝光)
  • 强制特性用于测试环境

On this page