chore: english-ize remaining config/UI text and scrub Vercel leftovers
Build and Publish Image / build (push) Successful in 1m27s
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:
+7
-7
@@ -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
@@ -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": {
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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}
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -429,7 +429,6 @@
|
||||
"exportJson": "Экспорт JSON",
|
||||
"invalidJsonField": "{field} не является корректным объектом JSON.",
|
||||
"defaultPasswordWarning": "Вы используете пароль администратора по умолчанию «admin». Измените его.",
|
||||
"vercelSyncHint": "Конфигурация изменена. Для развёртываний Vercel синхронизируйте вручную в «Синхронизация Vercel» и переразверните.",
|
||||
"autoFetchPaused": "Автозагрузка приостановлена после {count} сбоев: {error}",
|
||||
"retryLoad": "Повторить сейчас"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user