自建中转站,省事又省钱

有时候需要经常给龙虾或者codex,claude code换模型。如果不想频繁改openclaw.json的话,可以使用 sub2api,将几个云厂商的CodingPlan或者API封装一下,然后将 sub2api 的接口和 apiKey 给龙虾用。

步骤一:使用 docker compose 启动 sub2api

(docker和镜像问题请自行安装解决)以下密码请修改

services:
  # ================= 主程序 =================
  sub2api:
    image: weishaw/sub2api:latest
    container_name: sub2api
    restart: unless-stopped
    ports:
      - "6780:8080"
    volumes:
      - ./data/sub2api:/app/data # 挂载到当前目录的 data/sub2api
    environment:
      - AUTO_SETUP=true # 开启自动初始化
      - TZ=Asia/Shanghai # 设置时区
      - SERVER_MODE=release # 运行模式
      - DATABASE_HOST=postgres
      - DATABASE_PORT=5432
      - DATABASE_USER=sub2api # 默认数据库用户
      - DATABASE_PASSWORD=sub2api_password # 默认数据库密码
      - DATABASE_DBNAME=sub2api # 默认数据库名
      - REDIS_HOST=redis
      - REDIS_PORT=6379
      - REDIS_PASSWORD=redis_password # 默认 Redis 密码
      - ADMIN_EMAIL=admin@admin.com # 默认管理员账号
      - ADMIN_PASSWORD=abcd1234 # 默认管理员密码
      - JWT_SECRET= # 固定 JWT 密钥
      - TOTP_ENCRYPTION_KEY= # 固定 2FA 密钥
      - SECURITY_URL_ALLOWLIST_ENABLED=false # 禁用白名单检查
      - SECURITY_URL_ALLOWLIST_ALLOW_INSECURE_HTTP=true # 允许 HTTP URL(⚠️ 不安全)
    depends_on:
      postgres: { condition: service_healthy }
      redis: { condition: service_healthy }
    networks:
      - sub2api-network

  # ================= 数据库 (PostgreSQL) =================
  postgres:
    image: postgres:13
    container_name: sub2api-postgres
    restart: unless-stopped
    volumes:
      - ./data/postgres:/var/lib/postgresql/data # 挂载到当前目录的 data/postgres
    environment:
      - POSTGRES_USER=sub2api
      - POSTGRES_PASSWORD=sub2api_password
      - POSTGRES_DB=sub2api
      - PGDATA=/var/lib/postgresql/data 
      - TZ=Asia/Shanghai
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U sub2api -d sub2api"]
      interval: 10s
      timeout: 5s
      retries: 5
    networks:
      - sub2api-network

  # ================= 缓存 (Redis) =================
  redis:
    image: redis:latest
    container_name: sub2api-redis
    restart: unless-stopped
    volumes:
      - ./data/redis:/data # 挂载到当前目录的 data/redis
    command: ["redis-server", "--requirepass", "redis_password", "--appendonly", "yes"]
    environment:
      - REDISCLI_AUTH=redis_password
      - TZ=Asia/Shanghai
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5
    networks:
      - sub2api-network

networks:
  sub2api-network:
    driver: bridge

步骤二:sub2api配置

分三步,以我在用的方舟的 CodingPlan 为例:

  1. 分组管理-建一个分组,平台选Anthropic,其它随意

  1. 账号管理-添加一个账号,模型限制选模型映射,auto指向ark-code-latest,意思是,如果龙虾请求一个叫auto的模型,最终实际上用的是ark-code-latest(也就是方舟的自动模型)。在账号最下方,选择刚才创建的分组。

  1. API 秘钥-选择刚才创建的分组

步骤三:龙虾配置

openclaw configure

添加一个自定义的模型。API地址填写你的sub2api的登录地址,比如http://192.168.0.101:6780,

模型填写auto。

这样,如果你有多个CodingPlan,或者当前CodingPlan过期了,那就可以在 sub2api 这里再加一个账号,禁用之前的账号,就可以不用改龙虾配置达到更换模型的目的。

很多中转站都在用这个软件,通过上面的截图,大家也能看到,偷改模型(告诉你是chat-gpt5-codex,实际是glm)、虚报token(你用了100M,扣了你150M)是很容易的。所以建议大家买中转的话,找信得过的朋友哦~


广告时间:

macOS的必备软件(剪切板管理、屏幕贴纸、右键菜单)

笔顺问一问(iOS),解放孩子和家长双手的语音学汉字软件

新建了一个频道(一个完全由龙虾管理的的频道),欢迎加入讨论,一起讨论AI、软件、机器人等等【奇风造物局】:https://pd.qq.com/s/dimdbke5p