From a935f61f74c1786a1e8aa80db40efe4e6f64134a Mon Sep 17 00:00:00 2001 From: "CJACK." Date: Tue, 7 Apr 2026 12:32:52 +0800 Subject: [PATCH] docs: remove duplicated project structure sections from READMEs --- README.MD | 66 ---------------------------------------------------- README.en.md | 66 ---------------------------------------------------- 2 files changed, 132 deletions(-) diff --git a/README.MD b/README.MD index 11a4f8b1..7afc4d57 100644 --- a/README.MD +++ b/README.MD @@ -435,72 +435,6 @@ go run ./cmd/ds2api {"query":"广州天气","sample_id":"gz-weather-from-memory"} ``` -## 项目结构 - -```text -ds2api/ -├── app/ # 统一 HTTP Handler 组装层(供本地与 Serverless 复用) -├── cmd/ -│ ├── ds2api/ # 本地 / 容器启动入口 -│ └── ds2api-tests/ # 端到端测试集入口 -├── api/ -│ ├── index.go # Vercel Serverless Go 入口 -│ ├── chat-stream.js # Vercel Node.js 流式转发 -│ └── (rewrite targets in vercel.json) -├── internal/ -│ ├── account/ # 账号池与并发队列 -│ ├── adapter/ -│ │ ├── openai/ # OpenAI 兼容适配器(含 Tool Call 解析、Vercel 流式 prepare/release) -│ │ ├── claude/ # Claude 兼容适配器 -│ │ └── gemini/ # Gemini 兼容适配器(generateContent / streamGenerateContent) -│ ├── admin/ # Admin API handlers(含 Settings 热更新) -│ ├── auth/ # 鉴权与 JWT -│ ├── claudeconv/ # Claude 消息格式转换 -│ ├── compat/ # Go 版本兼容与回归测试辅助 -│ ├── config/ # 配置加载、校验与热更新 -│ ├── deepseek/ # DeepSeek API 客户端、PoW 逻辑 -│ ├── js/ # Node 运行时流式处理与兼容逻辑 -│ ├── devcapture/ # 开发抓包模块 -│ ├── rawsample/ # 原始流样本可见文本提取与回放辅助 -│ ├── format/ # 输出格式化 -│ ├── prompt/ # Prompt 构建 -│ ├── server/ # HTTP 路由与中间件(chi router) -│ ├── sse/ # SSE 解析工具 -│ ├── stream/ # 统一流式消费引擎 -│ ├── testsuite/ # 端到端测试框架与用例编排 -│ ├── translatorcliproxy/ # CLIProxy 桥接与流写入组件 -│ ├── toolcall/ # Tool Call 解析、修复与格式化(核心业务逻辑) -│ ├── util/ # 通用工具函数(Token 估算、JSON 辅助等) -│ ├── version/ # 版本解析 / 比较与 tag 规范化 -│ └── webui/ # WebUI 静态文件托管与自动构建 -├── webui/ # React WebUI 源码(Vite + Tailwind) -│ └── src/ -│ ├── app/ # 路由、鉴权、配置状态管理 -│ ├── features/ # 业务功能模块(account/settings/vercel/apiTester) -│ ├── components/ # 登录/落地页等通用组件 -│ └── locales/ # 中英文语言包(zh.json / en.json) -├── scripts/ -│ └── build-webui.sh # WebUI 手动构建脚本 -├── tests/ -│ ├── compat/ # 兼容性测试夹具与期望输出 -│ ├── node/ # Node 侧单元测试(chat-stream / tool-sieve) -│ ├── raw_stream_samples/ # 原始 SSE 样本与回放元数据 -│ └── scripts/ # 统一测试脚本入口(unit/e2e) -├── docs/ # 部署 / 贡献 / 测试等辅助文档 -├── static/admin/ # WebUI 构建产物(不提交到 Git) -├── .github/ -│ ├── workflows/ # GitHub Actions(质量门禁 + Release 自动构建) -│ ├── ISSUE_TEMPLATE/ # Issue 模板 -│ └── PULL_REQUEST_TEMPLATE.md -├── config.example.json # 配置文件示例 -├── .env.example # 环境变量示例 -├── Dockerfile # 多阶段构建(WebUI + Go) -├── docker-compose.yml # 生产环境 Docker Compose -├── docker-compose.dev.yml # 开发环境 Docker Compose -├── vercel.json # Vercel 路由与构建配置 -└── go.mod / go.sum # Go 模块依赖 -``` - ## 文档索引 | 文档 | 说明 | diff --git a/README.en.md b/README.en.md index d360ecfa..7c07e9db 100644 --- a/README.en.md +++ b/README.en.md @@ -433,72 +433,6 @@ The save endpoint can target a chain by `query`, `chain_key`, or `capture_id`. E {"query":"Guangzhou weather","sample_id":"gz-weather-from-memory"} ``` -## Project Structure - -```text -ds2api/ -├── app/ # Unified HTTP handler assembly (shared by local + serverless) -├── cmd/ -│ ├── ds2api/ # Local / container entrypoint -│ └── ds2api-tests/ # End-to-end testsuite entrypoint -├── api/ -│ ├── index.go # Vercel Serverless Go entry -│ ├── chat-stream.js # Vercel Node.js stream relay -│ └── (rewrite targets in vercel.json) -├── internal/ -│ ├── account/ # Account pool and concurrency queue -│ ├── adapter/ -│ │ ├── openai/ # OpenAI adapter (incl. tool call parsing, Vercel stream prepare/release) -│ │ ├── claude/ # Claude adapter -│ │ └── gemini/ # Gemini adapter (generateContent / streamGenerateContent) -│ ├── admin/ # Admin API handlers (incl. Settings hot-reload) -│ ├── auth/ # Auth and JWT -│ ├── claudeconv/ # Claude message format conversion -│ ├── compat/ # Go-version compatibility and regression helpers -│ ├── config/ # Config loading, validation, and hot-reload -│ ├── deepseek/ # DeepSeek API client, PoW logic -│ ├── js/ # Node runtime stream/compat logic -│ ├── devcapture/ # Dev packet capture module -│ ├── rawsample/ # Visible-text extraction and replay helpers for raw stream samples -│ ├── format/ # Output formatting -│ ├── prompt/ # Prompt construction -│ ├── server/ # HTTP routing and middleware (chi router) -│ ├── sse/ # SSE parsing utilities -│ ├── stream/ # Unified stream consumption engine -│ ├── testsuite/ # End-to-end testsuite framework and case orchestration -│ ├── translatorcliproxy/ # CLIProxy bridge and stream writer components -│ ├── toolcall/ # Tool Call parsing, repair, and formatting (core business logic) -│ ├── util/ # Common utilities (Token estimation, JSON helpers, etc.) -│ ├── version/ # Version parsing/comparison and tag normalization -│ └── webui/ # WebUI static file serving and auto-build -├── webui/ # React WebUI source (Vite + Tailwind) -│ └── src/ -│ ├── app/ # Routing, auth, config state -│ ├── features/ # Feature modules (account/settings/vercel/apiTester) -│ ├── components/ # Shared UI pieces (login/landing, etc.) -│ └── locales/ # Language packs (zh.json / en.json) -├── scripts/ -│ └── build-webui.sh # Manual WebUI build script -├── tests/ -│ ├── compat/ # Compatibility fixtures and expected outputs -│ ├── node/ # Node-side unit tests (chat-stream / tool-sieve) -│ ├── raw_stream_samples/ # Raw SSE samples and replay metadata -│ └── scripts/ # Unified test script entrypoints (unit/e2e) -├── docs/ # Deployment / contributing / testing docs -├── static/admin/ # WebUI build output (not committed to Git) -├── .github/ -│ ├── workflows/ # GitHub Actions (quality gates + release automation) -│ ├── ISSUE_TEMPLATE/ # Issue templates -│ └── PULL_REQUEST_TEMPLATE.md -├── config.example.json # Config file template -├── .env.example # Environment variable template -├── Dockerfile # Multi-stage build (WebUI + Go) -├── docker-compose.yml # Production Docker Compose -├── docker-compose.dev.yml # Development Docker Compose -├── vercel.json # Vercel routing and build config -└── go.mod / go.sum # Go module dependencies -``` - ## Documentation Index | Document | Description |