Hasty Briefsbeta

双语

Rubberduck: Emulate OpenAI/Anthropic locally with caching and failure injection

9 months ago
  • #LLM
  • #Development
  • #Proxy
  • Rubberduck是一个本地LLM缓存反向代理服务器,可模拟主流LLM服务商
  • 支持OpenAI、Anthropic、Azure OpenAI、AWS Bedrock和Google Vertex AI
  • 功能包括缓存、故障模拟、速率限制、按用户代理实例和详细日志记录
  • 与官方SDK完美兼容的请求/响应,支持透明的头部/认证透传
  • 基于规范化请求体的SHA-256缓存密钥,仅缓存成功响应(2xx状态码)
  • 支持按代理实例手动清除缓存,并遵循上游服务商的缓存头部
  • 故障模拟包含超时、错误注入(429/500/400)、IP过滤和速率限制
  • 实时请求日志记录含元数据,可导出为CSV/JSON格式,支持滚动指标聚合
  • 仪表盘可查看实时系统状态、代理监控和基于令牌用量的成本追踪
  • 采用类似Stripe的UI设计:简洁现代响应式,基于JWT认证
  • 支持邮箱/密码+社交登录(Google/GitHub)、邮箱验证和密码重置
  • 后端使用FastAPI(Python 3.11+),前端使用React+TypeScript(Node.js 18+)
  • 简单安装步骤:git克隆项目、创建虚拟环境、npm安装前端依赖
  • 可通过网页界面或SDK配置修改基础URL来管理代理
  • 测试覆盖单元测试、集成测试和后端/前端覆盖率测试
  • 开发工具包含Python的Black/isort/mypy和TypeScript的lint检查
  • 基于MIT许可证开源,欢迎通过fork+功能分支+PR方式贡献代码