Files
xmwork/docker-compose.yml
gongzhiyong 3a008458f3 feat(model): default to DeepSeek Anthropic-compatible endpoint
把 Claude Code 的默认上游从 Anthropic 直连改到 DeepSeek 的 Anthropic 兼容端点
(`https://api.deepseek.com/anthropic`),使容器内 agent 直接复用 DeepSeek API
而无需 Anthropic 账号。

- docker-compose.yml: 透传 ANTHROPIC_BASE_URL / ANTHROPIC_SMALL_FAST_MODEL;
  默认值 deepseek-v4-pro (主) + deepseek-v4-flash (子任务)
- README.md: "前置条件" 改为 DeepSeek 优先;"切到 API Key 模式" 写明 DeepSeek
  端点和原生 Anthropic 两种填法
- scripts/bootstrap.sh: 自动生成 .env 时的提示语对齐新文案

仍兼容原 Anthropic 直连:清空 ANTHROPIC_BASE_URL 即可回退。
.env 已 gitignored,未提交真实 key。

注:.env.example 的同步 rewrite 因 pre-commit-check.sh 误报旧占位符
(sk-ant-xxxxx...),将单独提交。

Made-with: Cursor
2026-04-28 23:19:56 +08:00

71 lines
2.7 KiB
YAML

name: ai-ops
services:
claude-agent:
build:
context: .
dockerfile: Dockerfile
image: claude-agent-6repos:latest
container_name: claude-agent
hostname: claude-agent
stdin_open: true
tty: true
working_dir: /workspace
environment:
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
ANTHROPIC_BASE_URL: ${ANTHROPIC_BASE_URL:-https://api.deepseek.com/anthropic}
ANTHROPIC_MODEL: ${ANTHROPIC_MODEL:-deepseek-v4-pro}
ANTHROPIC_SMALL_FAST_MODEL: ${ANTHROPIC_SMALL_FAST_MODEL:-deepseek-v4-flash}
CLAUDE_CODE_USE_BEDROCK: ${CLAUDE_CODE_USE_BEDROCK:-}
AWS_REGION: ${AWS_REGION:-}
AWS_PROFILE: ${AWS_PROFILE:-}
GH_TOKEN: ${GH_TOKEN:-}
GITHUB_TOKEN: ${GH_TOKEN:-}
GIT_AUTHOR_NAME: ${GIT_AUTHOR_NAME:-Claude Agent}
GIT_AUTHOR_EMAIL: ${GIT_AUTHOR_EMAIL:-claude-agent@local}
GIT_COMMITTER_NAME: ${GIT_AUTHOR_NAME:-Claude Agent}
GIT_COMMITTER_EMAIL: ${GIT_AUTHOR_EMAIL:-claude-agent@local}
TERM: xterm-256color
# 传宿主 HOME 给 entrypoint,让 installed_plugins.json 里的绝对路径可解析
HOST_HOME: ${HOME}
volumes:
# REPOS_DIR 默认指向 ai-ops 的父目录;队友可在 .env 里改成自己的工作目录
- ${REPOS_DIR:-..}/chat-gw:/workspace/chat-gw
- ${REPOS_DIR:-..}/xiaoshou:/workspace/xiaoshou
- ${REPOS_DIR:-..}/gongdan:/workspace/gongdan
- ${REPOS_DIR:-..}/casdoor-internal:/workspace/casdoor-internal
- ${REPOS_DIR:-..}/CloudCostbrank:/workspace/CloudCostbrank
- ${REPOS_DIR:-..}/lobechat-enterprise:/workspace/lobechat-enterprise
- ./CLAUDE.md:/workspace/CLAUDE.md:ro
- ./.claude:/workspace/.claude
- claude-home:/root/.claude
# 共享宿主 Claude Code 的 plugins + skills(只读)
# 让容器里的 claude 能看到 superpowers / oh-my-claudecode / frontend-design 等
- ${HOME}/.claude/plugins:/root/.claude/plugins:ro
- ${HOME}/.claude/skills:/root/.claude/skills:ro
- pip-cache:/root/.cache/pip
- go-cache:/root/go/pkg
- npm-cache:/root/.npm
- pnpm-store:/root/.local/share/pnpm/store
- bun-cache:/root/.bun/install/cache
- ${HOME}/.ssh:/root/.ssh:ro
# az CLI / gh CLI 需要写 session cache,不能用 :ro
- ${HOME}/.azure:/root/.azure
- ${HOME}/.config/gh:/root/.config/gh
# 注意:不要挂载 ~/.gitconfig —— 若宿主机没这个文件,Docker 会
# 把它自动创建为「空目录」,导致 git 报错。用上面 GIT_AUTHOR_*
# 环境变量就足够了。
healthcheck:
test: ["CMD", "claude", "--version"]
interval: 30s
timeout: 10s
retries: 3
volumes:
claude-home:
pip-cache:
go-cache:
npm-cache:
pnpm-store:
bun-cache: