chore: english-ize remaining config/UI text and scrub Vercel leftovers
Build and Publish Image / build (push) Successful in 1m27s

Translate the index.html metadata, .dockerignore, docker-compose comments and
config.example.json comment to English, and restore placeholder credentials in
the example config. Fix the renamed SSE-doc link and TESTING anchor. Drop the
stale Vercel sync hint from the settings page and locales.
This commit is contained in:
omar
2026-06-02 22:38:10 +03:00
parent af4d59d3f3
commit ec598144d1
10 changed files with 33 additions and 62 deletions
+7 -7
View File
@@ -26,39 +26,39 @@ wheels/
.installed.cfg
*.egg
# 虚拟环境
# Virtual environments
venv/
env/
ENV/
.venv
# 环境配置(通过 docker-compose 挂载或环境变量传递)
# Environment config (mounted via docker-compose or passed as env vars)
.env
.env.local
.env.*.local
config.json
# 开发工具
# Dev tools
.vscode/
.idea/
*.swp
*.swo
*~
# 测试
# Tests
tests/
.pytest_cache/
.coverage
htmlcov/
# Node.js / WebUI 开发依赖
# Node.js / WebUI dev dependencies
node_modules/
webui/node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# 文档
# Docs
*.md
!README*.md
@@ -66,6 +66,6 @@ yarn-error.log*
.github/
.releaserc.json
# 其他
# Misc
.DS_Store
Thumbs.db
+9 -28
View File
@@ -1,40 +1,21 @@
{
"_comment": "DS2API 配置文件示例 - 复制为 config.json 使用",
"_doc": "详细文档: https://github.com/CJackHwang/ds2api",
"_comment": "DS2API config example - copy to config.json to use",
"_doc": "Documentation: https://github.com/CJackHwang/ds2api",
"keys": [
"your-api-key-1",
"your-api-key-2"
"sk-your-api-key"
],
"api_keys": [
{
"key": "your-api-key-1",
"name": "主 API Key",
"remark": "给 OpenAI 客户端使用"
},
{
"key": "your-api-key-2",
"name": "备用 API Key",
"remark": "压测或临时调试"
"key": "sk-your-api-key",
"name": "Default key",
"remark": "API access key for OpenAI/Claude/Gemini clients"
}
],
"accounts": [
{
"_comment": "邮箱登录方式",
"name": "主账号",
"remark": "优先用于生产流量",
"email": "example1@example.com",
"password": "your-password-1"
},
{
"_comment": "邮箱登录方式 - 账号2",
"name": "备用账号",
"email": "example2@example.com",
"password": "your-password-2"
},
{
"_comment": "手机号登录方式(中国大陆)",
"mobile": "12345678901",
"password": "your-password-3"
"name": "Primary account",
"email": "your-email@example.com",
"password": "your-password"
}
],
"model_aliases": {
+8 -8
View File
@@ -1,10 +1,10 @@
# DS2API 开发环境配置
# 特性:
# - 源代码挂载(热重载)
# - 调试日志级别
# - 自动重启
# DS2API development environment config
# Features:
# - source code mount (hot reload)
# - debug log level
# - auto restart
#
# 使用说明:
# Usage:
# docker-compose -f docker-compose.dev.yml up
services:
@@ -24,9 +24,9 @@ services:
- HOST=0.0.0.0
- LOG_LEVEL=DEBUG
volumes:
# 源代码挂载(开发时实时生效)
# source code mount (live during development)
- ./:/app
# 配置文件挂载(便于本地修改)
# config file mount (for easy local edits)
- ./config.json:/app/config.json
restart: "no"
stdin_open: true
+1 -1
View File
@@ -13,7 +13,7 @@ services:
# Host port is configurable via DS2API_HOST_PORT; container port stays fixed at 5001.
- "${DS2API_HOST_PORT:-6011}:5001"
volumes:
- ./config.json:/app/config.json # 配置文件
- ./config.json:/app/config.json # config file
environment:
- TZ=Asia/Shanghai
- LOG_LEVEL=INFO
+1 -1
View File
@@ -192,4 +192,4 @@ flowchart LR
- Architecture & layout: `docs/ARCHITECTURE*.md` (this file)
- API contracts: `API.md`
- Deployment/testing/contributing: `docs/DEPLOY*`, `docs/TESTING.md`, `docs/CONTRIBUTING*`
- Deep topics: `docs/toolcall-semantics.md`, `docs/DeepSeekSSE行为结构说明-2026-04-05.md`
- Deep topics: `docs/toolcall-semantics.md`, `docs/deepseek-sse-behavior-2026-04-05.md`
+1 -1
View File
@@ -580,4 +580,4 @@ The testsuite automatically performs:
- ✅ Live scenario verification (OpenAI/Claude/Admin/concurrency/toolcall/streaming)
- ✅ Full request/response artifact logging for debugging
For detailed testsuite documentation, see [TESTING.md](TESTING.md). The fixed local PR gates are listed in [TESTING.md](TESTING.md#pr-门禁--pr-gates).
For detailed testsuite documentation, see [TESTING.md](TESTING.md). The fixed local PR gates are listed in [TESTING.md](TESTING.md#pr-gates).
+6 -6
View File
@@ -1,21 +1,21 @@
<!DOCTYPE html>
<html lang="zh-CN">
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- SEO Meta Tags -->
<title>DS2API - 管理面板 / Admin Console</title>
<meta name="description" content="DS2API 管理面板:管理 DeepSeek 账号、测试 API、同步 Vercel 配置 / Admin console for accounts, API tests, and Vercel sync." />
<meta name="keywords" content="DeepSeek, API, OpenAI, 管理面板, admin console, DS2API" />
<title>DS2API - Admin Console</title>
<meta name="description" content="Admin console for DeepSeek accounts, API tests, and settings." />
<meta name="keywords" content="DeepSeek, API, OpenAI, admin console, DS2API" />
<meta name="author" content="CJackHwang" />
<meta name="robots" content="noindex, nofollow" />
<!-- Open Graph / Social -->
<meta property="og:type" content="website" />
<meta property="og:title" content="DS2API - 管理面板 / Admin Console" />
<meta property="og:description" content="Manage DeepSeek accounts, test the API, and sync Vercel configuration." />
<meta property="og:title" content="DS2API - Admin Console" />
<meta property="og:description" content="Manage DeepSeek accounts, test the API, and adjust settings." />
<meta property="og:site_name" content="DS2API" />
<!-- PWA / Mobile -->
@@ -33,7 +33,6 @@ export default function SettingsContainer({ onRefresh, onMessage, authFetch, onF
autoFetchPaused,
lastError,
settingsMeta,
syncHintVisible,
retryLoadSettings,
saveSettings,
updatePassword,
@@ -75,13 +74,6 @@ export default function SettingsContainer({ onRefresh, onMessage, authFetch, onF
<span className="text-sm">{t('settings.defaultPasswordWarning')}</span>
</div>
)}
{syncHintVisible && (
<div className="p-4 rounded-lg border border-amber-300/30 bg-amber-500/10 text-amber-700 flex items-center gap-2">
<AlertTriangle className="w-4 h-4" />
<span className="text-sm">{t('settings.vercelSyncHint')}</span>
</div>
)}
<SecuritySection
t={t}
form={form}
-1
View File
@@ -429,7 +429,6 @@
"exportJson": "Export JSON",
"invalidJsonField": "{field} is not a valid JSON object.",
"defaultPasswordWarning": "You are using the default admin password \"admin\". Please change it.",
"vercelSyncHint": "Configuration changed. For Vercel deployments, sync manually in Vercel Sync and redeploy.",
"autoFetchPaused": "Auto loading paused after {count} failures: {error}",
"retryLoad": "Retry now"
},
-1
View File
@@ -429,7 +429,6 @@
"exportJson": "Экспорт JSON",
"invalidJsonField": "{field} не является корректным объектом JSON.",
"defaultPasswordWarning": "Вы используете пароль администратора по умолчанию «admin». Измените его.",
"vercelSyncHint": "Конфигурация изменена. Для развёртываний Vercel синхронизируйте вручную в «Синхронизация Vercel» и переразверните.",
"autoFetchPaused": "Автозагрузка приостановлена после {count} сбоев: {error}",
"retryLoad": "Повторить сейчас"
},