empty
906ac686a2
feat: 添加生产环境专用 docker-compose.prod.yml
...
- 使用预构建镜像 image: droid2api:latest
- 适用于离线部署场景
- 本地开发保留 build: .
2025-12-27 17:04:40 +08:00
empty
3670aceb4a
fix: 修复 Dockerfile 构建问题
...
- Node 24 → Node 20(更稳定)
- --only=production → --omit=dev(新语法)
2025-12-27 17:00:07 +08:00
empty
0504029e47
feat: 添加共享网络配置支持独立部署
...
- 配置 api-network 外部网络
- 支持与 new-api 独立部署但可互通
- 添加 AUTH_ENABLED 和 API_KEYS 环境变量
2025-12-27 16:46:50 +08:00
empty
51e4b3a839
docs: 更新 API 认证配置说明
...
- 添加 new-api/one-api 接入场景说明
- 明确两层安全验证流程
2025-12-27 16:24:26 +08:00
empty
d1dc095cb1
feat: 添加请求认证中间件保护 API 端点
...
- 新增 auth-middleware.js 验证客户端 API Key
- 支持 Authorization: Bearer <key> 和 x-api-key 两种方式
- API Keys 只通过环境变量配置(安全最佳实践)
- 公开路径: /, /health, /status
- 可配置 /v1/models 是否需要认证
- 启动时输出认证状态日志
配置方式:
AUTH_ENABLED=true
API_KEYS=sk-key1,sk-key2
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-27 16:14:15 +08:00
Claude Code
17ddd815a9
chore: 将 Cloudflare Tunnel 设为可选服务
...
使用 Docker Compose profiles 功能,默认不启动 tunnel 服务
启用方式: docker compose --profile tunnel up -d
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2025-12-27 08:03:15 +00:00
empty
df1ac40d41
chore: 添加 .serena/ 到 .gitignore
...
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-27 15:53:42 +08:00
empty
cc4e4cea94
fix: 修正 system_prompt 中的名称为 Droid
...
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-27 15:49:32 +08:00
empty
8068475d6e
fix: 恢复误修改的 user_agent 和 system_prompt 配置
...
CORS 修复时不慎修改了无关字段,现恢复原值:
- user_agent: factory-cli/0.40.2
- system_prompt: You are Droid...built by Factory
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2025-12-27 15:36:39 +08:00
empty
eef909c5dd
feat: 实现可配置的 CORS 安全策略
...
- 添加 getCorsConfig() 函数支持灵活的 CORS 配置
- 支持三种模式:禁用 CORS、白名单、允许所有来源
- 环境变量可覆盖 config.json 配置 (CORS_ENABLED, CORS_ALLOW_ALL, CORS_ORIGINS)
- config.json 默认使用白名单模式,仅允许 localhost
- 动态验证 Origin 头,不在白名单的请求不设置 CORS 头
- 添加 Vary: Origin 头支持 CDN 缓存
安全改进:
- 生产环境默认 allow_all=false,避免 CORS 通配符
- 白名单模式下,未授权来源的请求会被浏览器拒绝
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2025-12-27 15:33:04 +08:00
empty
3dccbcfed1
feat: 添加全局错误处理机制
...
- 添加 unhandledRejection 处理器捕获未处理的 Promise rejection
- 添加 uncaughtException 处理器捕获未捕获的异常
- 添加 SIGTERM/SIGINT 信号处理实现优雅关闭
- 实现 gracefulShutdown 函数,给正在处理的请求3秒完成时间
- 错误信息经过 sanitizeForLog 脱敏处理
- 生产环境下隐藏堆栈信息
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2025-12-27 15:24:03 +08:00
empty
ed888edfc9
feat: 增强 Token 过期验证机制
...
- 添加 tokenExpiresAt 状态变量追踪实际过期时间
- saveTokens() 保存 expires_at 字段到文件
- loadAuthConfig() 启动时验证 token 是否过期
- shouldRefresh() 优先使用实际过期时间判断
- 提前 30 分钟刷新避免临界问题
- 修复 refreshApiKey() 中的代码缩进问题
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2025-12-27 15:22:01 +08:00
empty
42fc3f2cf3
feat: 集成 Cloudflare Tunnel 支持
...
- docker-compose.yml 添加 cloudflared 服务
- 更新 .env.example 和 README.md 添加配置说明
- 支持通过 Cloudflare Tunnel 进行安全部署
2025-12-27 15:14:12 +08:00
empty
a18e45ee78
feat: add refresh retry/timeout and tests
2025-12-27 15:07:54 +08:00
empty
5e01993120
feat: add SLS toggle and sanitize logs
2025-12-27 15:07:28 +08:00
empty
b186f9b80e
docs: 更新文档与代码实现保持一致
...
- 添加 xhigh 推理级别 (40960 tokens)
- 更新授权优先级为四级 (accounts.json > FACTORY_API_KEY > refresh_token > 客户端)
- 添加 common 模型类型说明 (Gemini, GLM 等)
- 更新 config.json 示例,添加 model_redirects/provider/user_agent 字段
- 添加 aliyun-log 依赖说明
- DOCKER_DEPLOY.md 添加阿里云日志服务环境变量说明
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2025-12-27 14:12:36 +08:00
Claude Code
c5efebb805
chore: 切换到生产模式并清理配置
...
- 移除 docker-compose.yml 中已过时的 version 字段
- 将 dev_mode 设置为 false
- 添加 accounts.json 加载调试日志
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2025-12-27 06:00:18 +00:00
empty
8aa8021d61
chore: 更新 user-agent 版本为 0.40.2
...
- user-agent-updater.js 默认值
- config.json 配置值
2025-12-27 13:58:32 +08:00
empty
5bdbc35875
feat: sync-accounts.sh 添加 Docker 镜像版本检测
...
- 检测远程容器是否支持多账号功能
- 版本过旧时给出更新镜像的具体命令
- 避免配置同步后无法生效的问题
2025-12-27 13:54:22 +08:00
empty
9200e912fd
feat: 添加响应内容伪装替换功能
...
- 将 Droid 替换为 Claude
- 将 Factory 替换为 Anthropic
- 支持流式和非流式响应
- 让用户感知为原生 Claude 服务
2025-12-27 13:26:18 +08:00
empty
fecd215719
docs: 添加多账号 OAuth 支持文档
...
- 添加 add-account.js 和 sync-accounts.sh 使用说明
- 说明配置优先级和账号管理特性
- accounts.json 添加到 .gitignore
2025-12-27 12:59:28 +08:00
empty
dd58dec1f5
feat: 添加 accounts.json 卷挂载
...
- 确保 Docker 重启后能加载最新的多账号配置
- 使用 :ro 只读挂载,配置文件由 sync-accounts.sh 管理
2025-12-27 12:55:06 +08:00
empty
d3fe5dc92a
fix: 更新 docker compose 命令格式
...
- docker-compose 已弃用,改为 docker compose
2025-12-27 12:53:42 +08:00
empty
52ea5945eb
refactor: sync-accounts.sh 配置改为从 .env 读取
...
- 自动加载脚本目录下的 .env 文件
- 新增 SYNC_SERVER, SYNC_REMOTE_PATH 等环境变量
- 更新 .env.example 添加同步配置示例
2025-12-27 12:47:08 +08:00
Claude Code
5050a8c764
Merge branch 'main' of git.let5see.xyz:let5see/droid2api
2025-12-27 04:43:13 +00:00
Claude Code
82a5a2cdfb
feat: 集成阿里云日志服务(SLS)并增强日志记录详情
...
- 添加 SLS 日志上报模块(sls-logger.js)
- 支持批量上报(每10条或5秒间隔)
- 环境变量缺失时静默降级
- 自动重试失败的日志
- 新增日志信息提取器(log-extractor.js)
- 提取 Token 使用统计(input_tokens, output_tokens)
- 提取用户标识信息(user_id, session_id, ip)
- 提取请求参数(temperature, max_tokens, stream)
- 提取消息摘要(message_count, role_distribution, tool_names)
- 增强所有 API 端点的日志记录
- /v1/chat/completions
- /v1/responses
- /v1/messages
- /v1/messages/count_tokens
- 修复日志字段序列化问题
- 扁平化嵌套对象字段,避免 [object Object]
- 数组字段转换为逗号分隔字符串
- 添加阿里云环境变量配置到 docker-compose.yml
- ALIYUN_ACCESS_KEY_ID
- ALIYUN_ACCESS_KEY_SECRET
- ALIYUN_SLS_ENDPOINT
- ALIYUN_SLS_PROJECT
- ALIYUN_SLS_LOGSTORE
- 修改认证配置为自动刷新 Token 机制
- 使用 DROID_REFRESH_KEY 替代固定的 FACTORY_API_KEY
- 实现每6小时自动刷新(Token有效期8小时)
- Token 持久化到 auth.json
2025-12-27 04:42:43 +00:00
empty
db5fc39072
feat: 添加账号配置增量同步脚本
...
- 支持 SSH 方式安全同步到远程服务器
- 支持 PM2/Docker/Docker Compose 多种部署方式
- 按 email 增量合并,不覆盖现有账号
2025-12-27 12:37:49 +08:00
empty
dab863fcfe
feat: 添加多账号 OAuth 支持
...
- 新增 add-account.js OAuth 批量授权辅助工具
- 新增 account-manager.js 多账号管理模块(加权轮询、自动刷新、健康度统计)
- 新增 accounts.json.example 配置示例
- 修改 auth.js 支持多账号模式(优先检测 accounts.json)
2025-12-27 12:23:41 +08:00
empty
eb1096ce54
feat: 集成阿里云日志服务(SLS)
...
- 添加 aliyun-log SDK 依赖
- 新增 sls-logger.js 模块,支持批量日志上报、静默降级
- 在四个 API 处理函数中集成请求日志记录
- 更新 .env.example 添加 SLS 配置示例
2025-12-27 03:08:01 +08:00
Claude Code
dec2f26b5c
fix: 修复 system 提示词中敏感词导致的 403 错误
...
- 修改 docker-compose.yml:将宿主机端口从 3000 改为 3001
- 修改 routes.js:增强 system 字段过滤逻辑,过滤所有项中的敏感词
- 修改 transformers/request-anthropic.js:添加 filterSensitiveKeywords 函数
- 修改 user-agent-updater.js:优化错误日志输出,增加超时时间
过滤规则:
- "Claude Code" → "AI Assistant"
- "Claude" → "AI"
- "Anthropic" → "Factory"
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2025-12-26 18:56:26 +00:00
Claude Code
0b04c300c0
fix: 修复 Claude Code 伪装为 Factory CLI 的 403 错误
...
主要修改:
1. 过滤 anthropic-beta header 中的 Claude Code 特有标识
2. 删除 context_management 字段
3. 过滤所有 Claude Code 特有工具(Skill, EnterPlanMode 等)
4. 过滤所有 MCP 相关工具
5. 过滤 messages 内容中的 Claude Code 特征文本
6. 处理 system 字段中的 cache_control 和字符串替换
7. 添加认证容错机制,token 失效时降级到 client authorization
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2025-12-26 15:46:09 +00:00
1eon
a8928bce32
update model
2025-12-24 03:50:26 +08:00
1eon
3626c6683a
Merge branch 'main' of https://github.com/1e0n/droid2api
2025-12-24 03:48:17 +08:00
1eon
5e962cb00f
feat: Remove gpt-5 redirect and Opus 4.1 model, and add GPT-5.2 and Gemini-3-Flash models.
2025-12-24 03:44:04 +08:00
1e0n
60754b65cf
add gpt 5.2
2025-12-12 04:22:20 +08:00
1eon
aa3bb3c65b
add gpt-5.1-codex-max support
2025-12-05 21:11:53 +08:00
1eon
93284c80ff
update models
2025-11-25 12:24:33 +08:00
1eon
0f4f2e3509
add gemini 3.0 pro support
2025-11-19 01:29:45 +08:00
1eon
62a384f34b
feat: add dynamic x-api-provider and reasoning_effort support
...
- Add per-model provider configuration in config.json
- Implement getModelProvider() to fetch provider from model config
- Update all header generators to accept dynamic provider parameter
- Add reasoning_effort field handling for common endpoint type
- Support auto/low/medium/high/off reasoning levels for common models
This enables flexible multi-provider support and reasoning control
across different endpoint types (anthropic, openai, common).
2025-11-19 01:25:01 +08:00
1eon
c31b680d95
feat: add dynamic user-agent version updater
...
- Add user-agent-updater.js to automatically fetch latest factory-cli version
- Fetch version from https://downloads.factory.ai/factory-cli/LATEST on startup
- Automatically refresh version every hour
- Implement retry mechanism: max 3 retries with 1-minute intervals on failure
- Use user_agent from config.json as fallback value
- Update config.js to use dynamic user-agent
- Initialize updater in server.js startup sequence
2025-11-16 16:25:15 +08:00
1e0n
3c0e922cbd
add gpt-5.1 and gpt-5.1-codex support
2025-11-14 11:33:37 +08:00
1e0n
ffabf921be
update endpoint
2025-11-13 14:37:38 +08:00
1e0n
7d037a6e9a
现在官方会对ip地址进行限速,所以增加代理服务器功能
2025-10-24 12:34:21 +08:00
1e0n
c60a12064c
update config
2025-10-16 03:23:16 +08:00
1e0n
f2b1f51a26
uodate prompt
2025-10-15 21:10:37 +08:00
1e0n
9d5a396c38
增加codex支持,优化提示词
2025-10-15 02:53:37 +08:00
1e0n
62cdc11cec
fix: apply model_redirects to /v1/messages/count_tokens endpoint
2025-10-14 02:35:59 +08:00
1e0n
302c5e6657
Merge pull request #2 from itzhan/main
...
添加claudeCode的count路径
2025-10-13 19:03:31 +08:00
itzhan
597bce67c2
merge:增加对count_tokens的支持
2025-10-13 17:55:45 +08:00
1e0n
d4139ccdf4
增加claude-sonnet-4-5的重定向,方便再kilo/roocode软件里面使用
2025-10-13 13:17:38 +08:00