概述
在 WSL2 中以 Docker 容器运行 CSSwitch 翻译代理,实现 WSL2 内 Claude Science 推理走第三方 API(DeepSeek / 通义千问)。
AI 工具声明:本功能实现过程中使用了 Claude Code(AI 辅助编程工具)生成代码与文档。
变更清单
翻译代理
proxy/csswitch_proxy.py 新增 --host / CSSWITCH_BIND_HOST,支持绑 0.0.0.0
容器 (docker/)
Dockerfile — python:3.11-slim,非 root,零 pip 依赖
docker-compose.yml — 健康检查 + 自动重启 + 可选 Caddy TLS
.dockerignore / .env.example / Caddyfile
部署脚本
scripts/wsl2-deploy.ps1/stop.ps1/logs.ps1 — PowerShell 一键部署/停止/日志
scripts/wsl2-deploy.sh/stop.sh/logs.sh — WSL2 bash 脚本
scripts/docker-build.sh — 构建镜像
scripts/wsl2-common.ps1 — 共用模块
文档
docs/wsl2-container-deployment.md — 完整部署指南(含踩坑记录、故障排查)
其他
scripts/doctor.sh 新增 Docker/WSL2 检测
test/test_container.sh — 可选容器冒烟测试
.gitattributes — 强制 LF 行尾
README.md / CHANGELOG.md 更新
链路验证
# 1. 启动代理容器
docker compose -f docker/docker-compose.yml up -d
# 2. 铸造虚拟 OAuth
node scripts/make-virtual-oauth.mjs --auth-dir ~/cs-sbox/.claude-science --force
# 3. 启动 Science
HOME=~/cs-sbox \nANTHROPIC_BASE_URL=http://127.0.0.1:18991/<secret> \nhttps_proxy=http://127.0.0.1:18991 \nclaude-science serve --data-dir ~/cs-sbox/.claude-science --no-browser
代理日志中确认 POST /<secret>/v1/messages 已出现,整链打通。
概述
在 WSL2 中以 Docker 容器运行 CSSwitch 翻译代理,实现 WSL2 内 Claude Science 推理走第三方 API(DeepSeek / 通义千问)。
变更清单
翻译代理
proxy/csswitch_proxy.py新增--host/CSSWITCH_BIND_HOST,支持绑0.0.0.0容器 (docker/)
Dockerfile— python:3.11-slim,非 root,零 pip 依赖docker-compose.yml— 健康检查 + 自动重启 + 可选 Caddy TLS.dockerignore/.env.example/Caddyfile部署脚本
scripts/wsl2-deploy.ps1/stop.ps1/logs.ps1— PowerShell 一键部署/停止/日志scripts/wsl2-deploy.sh/stop.sh/logs.sh— WSL2 bash 脚本scripts/docker-build.sh— 构建镜像scripts/wsl2-common.ps1— 共用模块文档
docs/wsl2-container-deployment.md— 完整部署指南(含踩坑记录、故障排查)其他
scripts/doctor.sh新增 Docker/WSL2 检测test/test_container.sh— 可选容器冒烟测试.gitattributes— 强制 LF 行尾README.md/CHANGELOG.md更新链路验证
代理日志中确认
POST /<secret>/v1/messages已出现,整链打通。