Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
2ea379c
chore(docker): 改进 Docker 配置支持代理和开发模式
Apr 12, 2026
4ee7e7f
fix(docker): 修复 volume 挂载路径,避免覆盖 node_modules
Apr 12, 2026
a2db70c
fix(ui): 移除弹窗 backdrop-filter blur 修复 UI 卡顿
Apr 13, 2026
6cbadd8
fix(docker): 修复 volume 挂载和代理凭证泄露
Apr 13, 2026
e48b6cc
Merge pull request #489 from drawf/fix/remove-backdrop-filter-blur
justlovemaki Apr 14, 2026
0f0e9a5
feat: 新增提供商搜索、用量日历和节点状态概览功能
justlikemaki Apr 14, 2026
f0cba5d
Merge pull request #485 from Wenaixi/pr/7-docker-improvements
justlovemaki Apr 14, 2026
e213ac3
fix(ui): 修复仪表盘卡片布局和样式问题
justlikemaki Apr 14, 2026
38f82a6
feat: 在优雅关闭时销毁插件并优化统计数据管理
justlikemaki Apr 14, 2026
fc262f9
fix: 修复日历显示错误并改进使用统计展示
justlikemaki Apr 14, 2026
e15d3fa
任务:将版本升级至 2.14.2 并提升统计信息界面的可读性
justlikemaki Apr 14, 2026
fee1065
chore: 更新版本号至2.14.3并调整适配器注册顺序
justlikemaki Apr 15, 2026
08d5714
feat: 新增自定义模型管理功能
justlikemaki Apr 15, 2026
40f9a08
fix(grok): 修复流式响应中缺失responseId和usage数据的问题
justlikemaki Apr 15, 2026
392306e
feat: 新增凭据强制刷新功能并优化令牌处理
justlikemaki Apr 15, 2026
2d76607
fix(config-scanner): 增加对过期字段'expired'的识别支持
justlikemaki Apr 15, 2026
11f8566
fix(claude-kiro): 改进403错误处理逻辑并增强令牌刷新健壮性
justlikemaki Apr 15, 2026
d48f852
fix(adapter): 修复服务适配器缓存失效问题
justlikemaki Apr 16, 2026
56c5b2f
docs: 移除 Qwen 相关配置和文档内容
justlikemaki Apr 16, 2026
b1a939b
docs(guide): 补充令牌生命周期管理相关问答
justlikemaki Apr 17, 2026
31ad579
feat: 添加实时 QPS/TPS 监控到管理界面
justlikemaki Apr 18, 2026
62c821b
fix(api-potluck): 修复API密钥使用量重复统计问题
justlikemaki Apr 18, 2026
7b66cd3
feat(rate-tracker): 在速率追踪中增加峰值QPS/TPS统计
justlikemaki Apr 18, 2026
db0272f
feat(claude-kiro): 添加对 claude-opus-4-7 模型的支持
justlikemaki Apr 18, 2026
63bf55c
feat: 添加 RPM 速率统计并在多个界面展示
justlikemaki Apr 18, 2026
ed146f7
fix(utils): 修复自定义模型列表合并与请求体转换问题
justlikemaki Apr 19, 2026
f0f4649
feat(monitoring): 在监控页面添加QPS/RPM/TPS峰值显示
justlikemaki Apr 19, 2026
4f77bbc
feat(potluck): 增加 QPS/RPM 排序选项并优化统计面板布局
justlikemaki Apr 19, 2026
970b2dc
fix: 统一前端和后端的日期时区为北京时间 (UTC+8)
justlikemaki Apr 19, 2026
ed14c0d
feat: 实现文件锁机制以解决并发写入冲突
justlikemaki Apr 20, 2026
c45a6c7
chore: 更新项目版本号至 2.15.0
justlikemaki Apr 20, 2026
b187655
feat: 更新Grok默认模型至4.1-mini并改进健康状态管理
justlikemaki Apr 20, 2026
e7a054c
docs: 更新赞助商列表并添加VisionCoder
justlikemaki Apr 20, 2026
d2fe115
docs: 为赞助商活动链接添加超文本标记
justlikemaki Apr 20, 2026
bac153d
docs: 将赞助商链接从Markdown格式更新为HTML格式
justlikemaki Apr 20, 2026
f7f93d8
docs: 调整赞助商推广文案的HTML格式
justlikemaki Apr 20, 2026
5ba3754
fix: 修复提供商配置文件检测与健康状态重置逻辑
justlikemaki Apr 20, 2026
6c1b85e
fix: 仅对401错误触发凭证刷新机制
justlikemaki Apr 21, 2026
d3dfc37
fix(provider): 仅对401错误触发凭证刷新并优化配置同步逻辑
justlikemaki Apr 21, 2026
a86256c
feat(i18n): 新增 OAuth 错误处理及分组基础类型翻译
justlikemaki Apr 21, 2026
38c7716
fix(provider): 改进令牌刷新失败处理和自定义提供者配置支持
justlikemaki Apr 21, 2026
7e96cec
fix: 修复SSE认证和令牌刷新逻辑
justlikemaki Apr 23, 2026
86f83da
feat: 支持可配置的 429 账号短冷却
howardxie-dev Apr 23, 2026
acabbdf
fix: 修复 429 冷却时间解析与配置回填问题
howardxie-dev Apr 23, 2026
e5ef690
feat(ui): add quick access page for keys and provider routes
emptyinkpot Apr 23, 2026
17ed249
Add client snippets to quick access page
emptyinkpot Apr 23, 2026
da165ea
Polish quick access snippets and deep links
emptyinkpot Apr 23, 2026
72faa91
Polish config-to-access handoff flow
emptyinkpot Apr 23, 2026
5d1bc8e
Bridge provider pools to quick access
emptyinkpot Apr 23, 2026
99878a4
Merge pull request #533 from emptyinkpot/feature/quick-access-page
justlovemaki Apr 24, 2026
8483a71
refactor: 重构导航逻辑并整合路由示例到快速接入页面
justlikemaki Apr 24, 2026
c982cb3
Merge pull request #532 from howardxie-dev/feat/429-account-cooldown
justlovemaki Apr 24, 2026
b5c4e74
feat: 添加 Grok SSO Token 批量导入功能并更新 Codex 版本
justlikemaki Apr 24, 2026
5bbe4dd
chore: 更新版本号至 2.15.5
justlikemaki Apr 24, 2026
b1ee3f1
chore: 更新版本号并将“默认供应商”统一改为“预加载供应商”
justlikemaki Apr 24, 2026
4bfb3e3
fix: add provider pool file fallback for usage API and support remain…
agang0311 Apr 24, 2026
de1480a
feat: add the codex proxy iamge-2
oreoft Apr 25, 2026
3f94d46
Merge pull request #541 from agang0311/fix/usage-api-provider-pool-fa…
justlovemaki Apr 26, 2026
2b0bdef
fix: 修复使用量进度条显示和提供商显示名称逻辑
justlikemaki Apr 26, 2026
70c275b
feat: add the codex proxy iamge-2
oreoft Apr 25, 2026
ff61155
Merge branch 'refs/heads/main' into feature/codex-image-2
oreoft Apr 26, 2026
275e743
fix: 修复TLS Sidecar启用时HTTP代理配置冲突问题
justlikemaki Apr 26, 2026
2c24780
fix: 将开发者角色消息视为系统消息处理
justlikemaki Apr 26, 2026
b70eb6b
feat: enhance output item handling in CodexConverter and codex-core
oreoft Apr 26, 2026
19b4e40
feat: implement image generation endpoint and enhance error logging
oreoft Apr 26, 2026
9b07b07
feat: enhance image generation handling with configurable size and re…
oreoft Apr 26, 2026
a409294
feat: enhance image generation request handling with improved validat…
oreoft Apr 26, 2026
66840fc
Merge branch 'main' into feature/codex-image-2
oreoft Apr 26, 2026
7ad4706
style: format code for consistency and readability
oreoft Apr 26, 2026
9114de4
feat: add image editing endpoint with multipart/form-data support
oreoft Apr 26, 2026
9d195e2
feat: implement support for image model validation in image generatio…
oreoft Apr 26, 2026
ab3ed91
feat: enhance error handling for image generation and editing with co…
oreoft Apr 26, 2026
4cd8532
feat: add Playground section with provider and model selection
oreoft Apr 26, 2026
cd67414
feat: add internationalization support for Playground section
oreoft Apr 26, 2026
09eb9f5
fix: improve SSE metadata handling and update send button state logic
oreoft Apr 26, 2026
9941fd4
feat: enhance SSE handling and add markdown rendering support
oreoft Apr 26, 2026
6a2dc0f
feat: update Playground input state handling and enhance user hints
oreoft Apr 26, 2026
257b625
feat: update Playground section for internationalization support
oreoft Apr 26, 2026
6a765f9
feat: exclude specific event prefixes from processing in codex-core.js
oreoft Apr 27, 2026
fe2df5d
feat: improve error handling for file uploads in api-manager.js
oreoft Apr 27, 2026
25a2af2
feat: enhance image editing error handling and support for multiple i…
oreoft Apr 27, 2026
40202cb
Merge pull request #553 from oreoft/feature/dashboard-playground
justlovemaki Apr 27, 2026
885bfaf
feat(ui): 增强日志显示并优化提供者选择逻辑
justlikemaki Apr 27, 2026
23ddd2c
docs: 为赞助商章节添加排序说明
justlikemaki Apr 27, 2026
9bad556
feat: enhance image generation request handling with retry logic and …
oreoft Apr 27, 2026
7c751c1
Merge pull request #548 from oreoft/feature/codex-image-2
justlovemaki Apr 28, 2026
8fab261
merge: resolve conflicts with upstream/main
oreoft Apr 28, 2026
dfee338
feat: implement image generation handling with support for image uplo…
oreoft Apr 28, 2026
456f28f
feat: add cursor element to playground during image generation and re…
oreoft Apr 28, 2026
0e40f4f
Merge pull request #551 from oreoft/feature/codex-image-2-edit
justlovemaki Apr 29, 2026
a537225
feat(playground): 重构模型测试界面并增强图像生成支持
justlikemaki Apr 29, 2026
66087de
feat(playground): 支持显示AI思考过程并优化流式响应渲染
justlikemaki Apr 29, 2026
2f97222
feat: 全面支持 OpenAI 标准图片生成与编辑接口并新增 playground 流式切换
justlikemaki Apr 29, 2026
153e87c
feat(grok): 将 Grok 提供商从 custom 重命名为 web 并更新相关配置
justlikemaki Apr 29, 2026
6ab7b96
feat(playground): 添加停止响应按钮和消息重试功能
justlikemaki Apr 30, 2026
0a82547
fix: 将十亿单位后缀从'G'更正为'B'
justlikemaki May 3, 2026
a4a9481
fix: 确保敏感配置文件的写入安全性与权限一致性
justlikemaki May 4, 2026
54726ff
build: 更新版本号至2.16.3
justlikemaki May 4, 2026
c055d3a
feat: 发布 v3.0.0 版本,新增 AI 自发现架构与 UI 开关功能
justlikemaki May 4, 2026
3d80403
feat: 添加懒加载与重复请求合并优化
justlikemaki May 4, 2026
b7809ca
chore: 更新版本至3.0.2并优化文档和代码
justlikemaki May 5, 2026
b858893
docs: 更新README中AI交互指南以支持本地模式
justlikemaki May 5, 2026
7209528
fix: inherit global proxy settings in health checks
SantaDiegoKairos May 6, 2026
3a0de3e
fix(rate-limit): 统一处理429错误的重试逻辑并改进系统提示序列化
justlikemaki May 7, 2026
1538639
Merge pull request #577 from SantaDiegoKairos/fix-health-check-proxy-…
justlovemaki May 7, 2026
c494946
Merge branch 'main' of https://github.com/justlovemaki/AIClient-2-API
justlikemaki May 7, 2026
7c1d9b7
fix: 在模型检测和令牌刷新前移除providerPools配置
justlikemaki May 7, 2026
2bebbd8
fix: 统一缓存令牌字段处理逻辑并更新版本号至3.0.5
justlikemaki May 7, 2026
cafcd7a
fix(gemini): 添加防截断模型处理函数并更新版本号
justlikemaki May 7, 2026
b0b8b57
docs: 移除 AICodeMirror 赞助商信息
justlikemaki May 7, 2026
688d4e3
fix: improve Kiro request compatibility
bunizao May 8, 2026
e135c6d
feat: 更新版本至3.0.5.2并添加AI SDK支持
justlikemaki May 9, 2026
499f891
Merge pull request #585 from bunizao/codex/pr-kiro-request-compat-clean
justlovemaki May 9, 2026
6222e3d
Merge branch 'main' of https://github.com/justlovemaki/AIClient-2-API
justlikemaki May 9, 2026
dc28a9d
chore: 更新版本号至 3.0.5.3 并移除旧的测试文件
justlikemaki May 9, 2026
4974e29
docs(readme): 更新多语言 README 赞助商信息
justlikemaki May 12, 2026
c3b431c
Create market.json
justlovemaki May 13, 2026
3003cc5
feat: 发布 v3.0.6 新增插件市场与多项优化
justlikemaki May 13, 2026
9a57594
Merge branch 'main' of https://github.com/justlovemaki/AIClient-2-API
justlikemaki May 13, 2026
30d2025
remove tmp
justlikemaki May 13, 2026
49e6fdf
fix: 修复claude custom格式转openai 格式代理商格式错误问题
ghdefe May 14, 2026
d0ade40
fix: normalize provider proxy fields on save
SantaDiegoKairos May 14, 2026
665c535
feat(usage): 重构用量查询并增强 OAuth 流程
justlikemaki May 14, 2026
1f156f5
chore(release): 发布 v3.0.7
justlikemaki May 14, 2026
377e596
feat(usage): 支持按实例刷新用量信息
justlikemaki May 15, 2026
e5e01ee
Merge pull request #598 from ghdefe/fix_openai_format
justlovemaki May 15, 2026
944c45e
Merge pull request #600 from SantaDiegoKairos/codex/normalize-provide…
justlovemaki May 15, 2026
7a78f63
chore(scripts): remove obsolete kiro helper scripts
justlikemaki May 15, 2026
2f3d5d8
feat(proxy): 支持请求级代理上下文与缓存
justlikemaki May 16, 2026
1befef0
feat(plugin): 支持用户插件目录挂载与加载
justlikemaki May 16, 2026
01ea9f9
fix(claude): 修正 kiro 运行时请求地址
justlikemaki May 17, 2026
870de03
fix(api): 修复单实例用量缓存与 kiro 兼容性
justlikemaki May 17, 2026
7b5874f
fix(update): 保留 plugins-user 并支持失败恢复
justlikemaki May 17, 2026
f3b36fc
chore(release): 升级版本号到 3.1.2.2
justlikemaki May 17, 2026
200540d
feat(security): 加固插件与代理信任配置
justlikemaki May 21, 2026
1cd51a4
fix(security): 加固插件安装与更新流程校验
justlikemaki May 21, 2026
86663fb
feat(plugins): 支持卸载用户插件并提示市场更新
justlikemaki May 22, 2026
736ac98
docs(sponsors): 新增 APIKEY.FUN 赞助商信息
justlikemaki May 23, 2026
c96e24c
feat(sponsors): 新增赞助商展示页面
justlikemaki May 23, 2026
b7c2b6e
feat: support Codex external credential import
consider908 May 26, 2026
a605aa3
fix(kiro): preserve first user images when merging system prompt
May 26, 2026
ec5e7e2
fix(kiro): apply image retention to first user turn
May 26, 2026
bc5176c
fix: avoid destroying oversized request bodies
consider908 May 27, 2026
cbdb59b
Merge pull request #617 from consider908/codex-external-import-612
justlovemaki May 27, 2026
284a911
Merge pull request #619 from wuhua111/fix/kiro-image-lost-after-tool-…
justlovemaki May 27, 2026
aa25cda
fix(request-handling): 统一请求体解析逻辑并添加安全限制
justlikemaki May 27, 2026
66950dc
feat(atlascloud): 新增AtlasCloud模型提供商支持
justlikemaki May 29, 2026
9a54d38
build(版本): 将版本从3.1.7升级至3.1.8
justlikemaki May 29, 2026
12ac49b
feat(头部导航): 添加视频教程入口
justlikemaki May 30, 2026
c812cdc
refactor(provider, converter): 优化多提供商支持与转换器,修复并发与模型回退问题
justlikemaki Jun 2, 2026
027c801
feat(grok): 为Grok提供商添加Statsig ID支持并升级版本至3.2.0
justlikemaki Jun 2, 2026
9ebd96d
feat(grok): 新增CF BM cookie配置支持
justlikemaki Jun 3, 2026
3c8eec1
feat(grok-cli): 新增完整Grok CLI OAuth支持
justlikemaki Jun 3, 2026
3105d7f
fix(auth): 优化手动输入授权码时的回调URL自动补全逻辑
justlikemaki Jun 3, 2026
9044bdb
refactor(gemini): 重构Gemini工具配置逻辑并更新版本
justlikemaki Jun 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
node_modules
logs/
.serena/
.claude/
CLAUDE.md
config.json
provider_pools.json
custom_models.json
plugins.json
fetch_system_prompt.txt
input_system_prompt.txt
token-store.json
usage-cache.json
*_oauth_creds.json
*-auth-token.json
*_codex-*.json
api-potluck-keys.json
api-potluck-data.json
model-usage-stats.json
AGENTS.md
src/plugins-user/

15 changes: 11 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# ── Stage 1: 编译 Go TLS sidecar ──
FROM golang:1.22-alpine AS sidecar-builder

ARG HTTP_PROXY
ARG HTTPS_PROXY
ENV HTTP_PROXY=$HTTP_PROXY
ENV HTTPS_PROXY=$HTTPS_PROXY

RUN apk add --no-cache git

WORKDIR /build
Expand All @@ -19,6 +24,10 @@ FROM node:20-alpine
LABEL maintainer="AIClient2API Team"
LABEL description="Docker image for AIClient2API server"

# 代理参数仅用于构建时,不持久化到最终镜像
ARG HTTP_PROXY
ARG HTTPS_PROXY

# 安装必要的系统工具(tar 用于更新功能,git 用于版本检查,procps 用于系统监控)
RUN apk add --no-cache tar git procps

Expand All @@ -28,10 +37,8 @@ WORKDIR /app
# 复制package.json和package-lock.json(如果存在)
COPY package*.json ./

# 安装依赖
# 使用--production标志只安装生产依赖,减小镜像大小
# 使用--omit=dev来排除开发依赖
RUN npm install
# 构建时代理(如果提供了的话)
RUN npm install || npm install --ignore-scripts

# 复制源代码
COPY . .
Expand Down
206 changes: 153 additions & 53 deletions README-JA.md

Large diffs are not rendered by default.

202 changes: 151 additions & 51 deletions README-ZH.md

Large diffs are not rendered by default.

207 changes: 153 additions & 54 deletions README.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.13.7
3.2.2.2
8 changes: 7 additions & 1 deletion configs/config.json.example
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,14 @@
"PROMPT_LOG_MODE": "none",
"REQUEST_MAX_RETRIES": 3,
"REQUEST_BASE_DELAY": 1000,
"RATE_LIMIT_COOLDOWN_ENABLED": false,
"RATE_LIMIT_COOLDOWN_MS": 30000,
"RATE_LIMIT_COOLDOWN_JITTER_MS": 5000,
"RATE_LIMIT_COOLDOWN_MAX_MS": 300000,
"CRON_NEAR_MINUTES": 1,
"CRON_REFRESH_TOKEN": false,
"PROVIDER_POOLS_FILE_PATH": "configs/provider_pools.json",
"CUSTOM_MODELS_FILE_PATH": "configs/custom_models.json",
"MAX_ERROR_COUNT": 3,
"GROK_COOKIE_TOKEN": "your-sso-cookie-token",
"GROK_CF_CLEARANCE": "your-cf-clearance-cookie",
Expand Down Expand Up @@ -63,5 +68,6 @@
"LOG_MAX_FILE_SIZE": 10485760,
"LOG_MAX_FILES": 10,
"TLS_SIDECAR_ENABLED": false,
"TLS_SIDECAR_PORT": 9090
"TLS_SIDECAR_PORT": 9090,
"UI_ENABLED": true
}
35 changes: 35 additions & 0 deletions configs/custom_models.json.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
[
{
"id": "atlas-custom-model",
"name": "Atlas Custom Model",
"alias": "gpt-4o",
"provider": "atlascloud",
"actualProvider": "atlascloud",
"actualModel": "gpt-4o",
"contextLength": 128000,
"temperature": 0.7
},
{
"id": "my-custom-gpt-4",
"name": "Custom GPT-4",
"alias": "gpt-4",
"provider": "openai-custom",
"actualProvider": "openai-custom",
"actualModel": "gpt-4-0613",
"contextLength": 8192,
"maxTokens": 4096,
"temperature": 0.7,
"topP": 1.0,
"description": "Custom configuration for GPT-4"
},
{
"id": "claude-3-7-sonnet-custom",
"name": "Claude 3.7 Sonnet Custom",
"alias": "claude-3-7-sonnet",
"provider": "claude-custom",
"actualProvider": "claude-kiro-oauth",
"actualModel": "claude-3-7-sonnet-20250219",
"contextLength": 200000,
"temperature": 0.5
}
]
13 changes: 13 additions & 0 deletions configs/market.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[
{
"id": "ip-node-proxy",
"name": "IP 节点代理绑定",
"version": "1.0.0",
"minSystemVersion": "3.1.1",
"isPaid": true,
"price": "¥699",
"description": "按客户端 IP 为指定提供商节点1对1绑定出站代理,实现精准的链路控制和 TLS 指纹伪装覆盖。",
"paymentUrl": "https://pay.ldxp.cn/item/xq10cf",
"qrCode": "ip2node.png"
}
]
37 changes: 37 additions & 0 deletions configs/market.json.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[
{
"id": "api-potluck",
"name": "API 大锅饭",
"version": "1.0.2",
"minSystemVersion": "3.0.0",
"description": "多用户 Key 管理系统。支持每日配额限制、Token 用量统计、自定义过期时间及独立的用户查询界面。",
"downloadUrl": "https://raw.githubusercontent.com/justlovemaki/AIClient-2-API/main/plugins/api-potluck.zip"
},
{
"id": "model-usage-stats",
"name": "模型用量统计",
"version": "1.0.0",
"minSystemVersion": "2.8.0",
"description": "全自动统计 Provider 和 Model 维度的请求次数、Token 消耗,并提供直观的可视化仪表盘和趋势图。",
"downloadUrl": "https://raw.githubusercontent.com/justlovemaki/AIClient-2-API/main/plugins/model-usage-stats.zip"
},
{
"id": "ai-monitor",
"name": "AI 实时监控",
"version": "1.0.0",
"minSystemVersion": "3.0.0",
"description": "监控系统吞吐量(QPS/TPS)、延迟和错误率,帮助您实时掌握各个节点的运行状况。",
"downloadUrl": "https://raw.githubusercontent.com/justlovemaki/AIClient-2-API/main/plugins/ai-monitor.zip"
},
{
"id": "premium-export",
"name": "高级数据导出插件",
"version": "1.2.0",
"minSystemVersion": "3.0.0",
"isPaid": true,
"price": "¥19.9",
"description": "支持将所有用量统计、监控日志导出为 Excel、PDF 及自动同步至外部数据库。",
"paymentUrl": "https://example.com/pay/export-plugin",
"qrCode": "sponsor.png"
}
]
17 changes: 17 additions & 0 deletions configs/provider_pools.json.example
Original file line number Diff line number Diff line change
@@ -1,4 +1,21 @@
{
"atlascloud": [
{
"customName": "AtlasCloud节点1",
"OPENAI_API_KEY": "sk-atlascloud-key1",
"OPENAI_BASE_URL": "https://api.openai.com/v1",
"checkModelName": null,
"checkHealth": false,
"notSupportedModels": [],
"uuid": "4f579c65-d3c5-41b1-9985-9f6e3d7bf39d",
"isHealthy": true,
"isDisabled": false,
"lastUsed": null,
"usageCount": 0,
"errorCount": 0,
"lastErrorTime": null
}
],
"openai-custom": [
{
"customName": "OpenAI节点1",
Expand Down
1 change: 1 addition & 0 deletions docker/VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.0.0
10 changes: 6 additions & 4 deletions docker/docker-compose.build.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
services:
aiclient-api:
# 方式二:从 Dockerfile 本地构建
# 使用方法: docker compose -f docker-compose.build.yml up -d --build
# 使用方法: docker compose -f docker/docker-compose.build.yml -f docker/docker-compose.dev.yml up -d --build
build:
context: ..
dockerfile: Dockerfile
container_name: aiclient2api
restart: unless-stopped
ports:
- "3000:3000"
- "8085-8087:8085-8087"
- "8085-8087:8085-8087"
- "1455:1455"
- "56121:56121"
- "19876-19880:19876-19880"
volumes:
- ./configs:/app/configs
- ../configs:/app/configs
- ../plugins:/app/src/plugins-user
environment:
- ARGS=
healthcheck:
test: ["CMD", "node", "healthcheck.js"]
interval: 30s
timeout: 3s
start_period: 5s
retries: 3
retries: 3
17 changes: 17 additions & 0 deletions docker/docker-compose.dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 开发模式覆盖配置 - 热重载
# 使用方法: docker compose -f docker/docker-compose.build.yml -f docker/docker-compose.dev.yml up -d --build

services:
aiclient-api:
build:
context: ..
dockerfile: Dockerfile
volumes:
# 从项目根目录挂载 configs,使用绝对路径确保正确
- ../configs:/app/configs
- ../plugins:/app/src/plugins-user
# 挂载源代码以支持热重载,但保留 node_modules
- ../src:/app/src:ro
- ../package.json:/app/package.json:ro
# 使用 shell form 以支持 $ARGS 展开
command: ["sh", "-c", "node --watch src/core/master.js $ARGS"]
2 changes: 2 additions & 0 deletions docker/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@ services:
- "3000:3000"
- "8085-8087:8085-8087"
- "1455:1455"
- "56121:56121"
- "19876-19880:19876-19880"
volumes:
- ./configs:/app/configs
- ./plugins:/app/src/plugins-user
environment:
- ARGS=
healthcheck:
Expand Down
10 changes: 5 additions & 5 deletions docs/OPENCLAW_CONFIG_GUIDE-JA.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# OpenClaw 設定ガイド

OpenClaw で AIClient-2-API を使用するためのクイック設定ガイド。
OpenClaw で AIClient2API を使用するためのクイック設定ガイド。

---

## 前提条件

1. AIClient-2-API サービスを起動
1. AIClient2API サービスを起動
2. Web UI (`http://localhost:3000`) で少なくとも1つのプロバイダーを設定
3. 設定ファイルから API Key を記録
4. OpenClaw をインストール
Expand Down Expand Up @@ -195,7 +195,7 @@ openclaw chat --model aiclient2api/gemini-3-flash-preview "あなたの質問"
## よくある質問

**Q: 接続に失敗しますか?**
- AIClient-2-API サービスが実行中であることを確認
- AIClient2API サービスが実行中であることを確認
- Base URL が正しいか確認(OpenAI プロトコルには `/v1` サフィックスが必要)
- `localhost` の代わりに `127.0.0.1` を使用してみる

Expand All @@ -204,10 +204,10 @@ openclaw chat --model aiclient2api/gemini-3-flash-preview "あなたの質問"
- 環境変数 `AICLIENT2API_KEY` が設定されているか確認

**Q: モデルが利用できない?**
- AIClient-2-API Web UI でプロバイダーが設定されているか確認
- AIClient2API Web UI でプロバイダーが設定されているか確認
- `openclaw gateway restart` を実行してゲートウェイを再起動
- `openclaw models list` を実行してモデルリストを確認

---

詳細については、[AIClient-2-API ドキュメント](../README-JA.md) を参照してください
詳細については、[AIClient2API ドキュメント](../README-JA.md) を参照してください
10 changes: 5 additions & 5 deletions docs/OPENCLAW_CONFIG_GUIDE-ZH.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# OpenClaw 配置指南

在 OpenClaw 中使用 AIClient-2-API 的快速配置指南。
在 OpenClaw 中使用 AIClient2API 的快速配置指南。

---

## 前置准备

1. 启动 AIClient-2-API 服务
1. 启动 AIClient2API 服务
2. 在 Web UI (`http://localhost:3000`) 配置至少一个提供商
3. 记录配置文件中的 API Key
4. 安装 OpenClaw
Expand Down Expand Up @@ -195,7 +195,7 @@ openclaw chat --model aiclient2api/gemini-3-flash-preview "你的问题"
## 常见问题

**Q: 连接失败?**
- 确认 AIClient-2-API 服务运行中
- 确认 AIClient2API 服务运行中
- 检查 Base URL 是否正确(OpenAI 协议需要 `/v1` 后缀)
- 尝试使用 `127.0.0.1` 替代 `localhost`

Expand All @@ -204,10 +204,10 @@ openclaw chat --model aiclient2api/gemini-3-flash-preview "你的问题"
- 确认环境变量 `AICLIENT2API_KEY` 已设置

**Q: 模型不可用?**
- 在 AIClient-2-API Web UI 确认已配置对应提供商
- 在 AIClient2API Web UI 确认已配置对应提供商
- 运行 `openclaw gateway restart` 重启网关
- 运行 `openclaw models list` 验证模型列表

---

更多信息请参考 [AIClient-2-API 文档](../README-ZH.md)
更多信息请参考 [AIClient2API 文档](../README-ZH.md)
10 changes: 5 additions & 5 deletions docs/OPENCLAW_CONFIG_GUIDE.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# OpenClaw Configuration Guide

Quick configuration guide for using AIClient-2-API with OpenClaw.
Quick configuration guide for using AIClient2API with OpenClaw.

---

## Prerequisites

1. Start AIClient-2-API service
1. Start AIClient2API service
2. Configure at least one provider in Web UI (`http://localhost:3000`)
3. Note the API Key from configuration file
4. Install OpenClaw
Expand Down Expand Up @@ -195,7 +195,7 @@ openclaw chat --model aiclient2api/gemini-3-flash-preview "your question"
## FAQ

**Q: Connection failed?**
- Confirm AIClient-2-API service is running
- Confirm AIClient2API service is running
- Check if Base URL is correct (OpenAI protocol needs `/v1` suffix)
- Try using `127.0.0.1` instead of `localhost`

Expand All @@ -204,10 +204,10 @@ openclaw chat --model aiclient2api/gemini-3-flash-preview "your question"
- Confirm environment variable `AICLIENT2API_KEY` is set

**Q: Model unavailable?**
- Confirm provider is configured in AIClient-2-API Web UI
- Confirm provider is configured in AIClient2API Web UI
- Run `openclaw gateway restart` to restart gateway
- Run `openclaw models list` to verify model list

---

For more information, see [AIClient-2-API Documentation](../README.md)
For more information, see [AIClient2API Documentation](../README.md)
Loading