标签 Claude API 下的文章

昨天看到了 pencil(佬补充之前一直有 MCP 服务(好像是 25 年),昨天我才看见 ),于是在 linux(系统为 Ubuntu 24.04.3 LTS)上下载了一个 Tarball 版本,按照通用步骤配置了 nvm,以及 nodejs,安装了 claude code,并配置了中转的 api 端点,控制台使用没有问题。但是 pencil 的界面打开聊天之后依旧显示需要 /login,于是写了一个脚本,用来自定义 pencil 的 api 端点。如果佬们有更好的办法,欢迎在下面补充(~~ 第一次写类似的,有问题希望佬前来指正)

步骤如下,先测试一下 api 端点和模型能否访问:

测试脚本 (记得切换测试模型)
#!/bin/bash

#============================================================
# API 配置测试脚本
# 用于验证你的 API 端点和密钥是否配置正确
#============================================================

GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

echo -e "${BLUE}==================================${NC}"
echo -e "${BLUE}Pencil API 配置测试${NC}"
echo -e "${BLUE}==================================${NC}"
echo ""

# 读取用户输入
read -p "请输入你的 API 端点 (例如: https://api.anthropic.com): " API_ENDPOINT
read -p "请输入你的 API 密钥: " API_KEY

if [ -z "$API_ENDPOINT" ] || [ -z "$API_KEY" ]; then
    echo -e "${RED}错误: API 端点和密钥不能为空${NC}"
    exit 1
fi

echo ""
echo -e "${YELLOW}正在测试 API 连接...${NC}"

# 测试 API 连接
RESPONSE=$(curl -s -w "\n%{http_code}" \
  -H "x-api-key: $API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  "$API_ENDPOINT/v1/messages" \
  -d '{
    "model": "claude-opus-4-5",
    "max_tokens": 10,
    "messages": [{"role": "user", "content": "Hi"}]
  }')

HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
BODY=$(echo "$RESPONSE" | sed '$d')

echo ""
echo -e "${BLUE}==================================${NC}"
echo -e "${BLUE}测试结果${NC}"
echo -e "${BLUE}==================================${NC}"

if [ "$HTTP_CODE" = "200" ]; then
    echo -e "${GREEN}✓ API 连接成功!${NC}"
    echo -e "${GREEN}HTTP 状态码: $HTTP_CODE${NC}"
    echo ""
    echo -e "${YELLOW}响应内容:${NC}"
    echo "$BODY" | python3 -m json.tool 2>/dev/null || echo "$BODY"
    echo ""
    echo -e "${GREEN}你的配置正确!可以使用启动脚本了。${NC}"
    echo ""
    echo -e "${YELLOW}下一步:${NC}"
    echo "1. 编辑 start-pencil-custom.sh"
    echo "2. 修改 API_ENDPOINT=\"$API_ENDPOINT\""
    echo "3. 修改 API_KEY=\"${API_KEY:0:10}...\""
    echo "4. 运行: ./start-pencil-custom.sh"
else
    echo -e "${RED}✗ API 连接失败${NC}"
    echo -e "${RED}HTTP 状态码: $HTTP_CODE${NC}"
    echo ""
    echo -e "${YELLOW}错误响应:${NC}"
    echo "$BODY"
    echo ""
    echo -e "${YELLOW}可能的原因:${NC}"
    echo "1. API 密钥无效或已过期"
    echo "2. API 端点 URL 不正确"
    echo "3. 网络连接问题"
    echo "4. API 端点不兼容 Anthropic API 格式"
    echo ""
    echo -e "${YELLOW}请检查你的配置后重试${NC}"
fi

echo -e "${BLUE}==================================${NC}"

然后按照如下步骤修改配置文件:

修改启动脚本
  1. 编辑启动脚本

    nano start-pencil-custom.sh
    

    修改以下两行:

    export API_ENDPOINT="https://your-api-endpoint.com" export API_KEY="sk-your-actual-api-key-here" 
  2. 启动 Pencil

    ./start-pencil-custom.sh
    

启动脚本的代码如下:

启动脚本
#!/bin/bash

#============================================================
# Pencil 自定义 API 启动脚本
# 使用方法:
# 1. 修改下面的 API_ENDPOINT 和 API_KEY 变量
# 2. chmod +x start-pencil-custom.sh
# 3. ./start-pencil-custom.sh
#============================================================

# ==================== 配置区域 ====================

# 你的自定义 API 端点(替换为你的实际端点)
# 示例:export API_ENDPOINT="https://api.openai.com/v1"
# 示例:export API_ENDPOINT="https://your-custom-api.com/v1"
export API_ENDPOINT="中转站的api"

# 你的 API 密钥(替换为你的实际密钥)
# 安全提示:不要将真实密钥提交到版本控制系统
export API_KEY="sk-xxx"

# Claude 模型选择(可选)
# 可选值: claude-opus-4-5, claude-sonnet-4-5, claude-haiku-4-5
export CLAUDE_MODEL="claude-opus-4-5"

# ================= 高级配置(可选) =================

# Anthropic Beta 功能
export ANTHROPIC_BETAS="fine-grained-tool-streaming-2025-05-14"

# 调试模式(设置为 1 启用调试日志)
# export DEBUG=1
# export DEBUG_SDK=1

# 配置目录(默认:~/.config/Pencil)
# export CLAUDE_CONFIG_DIR="$HOME/.config/Pencil"

# ==================== 脚本逻辑 ====================

# 颜色输出
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color

# Pencil 可执行文件路径
PENCIL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PENCIL_EXEC="$PENCIL_DIR/pencil"

# 检查 Pencil 是否存在
if [ ! -f "$PENCIL_EXEC" ]; then
    echo -e "${RED}错误: 找不到 Pencil 可执行文件${NC}"
    echo -e "${YELLOW}期望路径: $PENCIL_EXEC${NC}"
    exit 1
fi

# 设置环境变量
export ANTHROPIC_API_URL="$API_ENDPOINT"
export ANTHROPIC_API_KEY="$API_KEY"

# 如果设置了模型,导出模型环境变量
if [ -n "$CLAUDE_MODEL" ]; then
    export CLAUDE_DEFAULT_MODEL="$CLAUDE_MODEL"
fi

# 显示配置信息
echo -e "${GREEN}==================================${NC}"
echo -e "${GREEN}Pencil 自定义 API 启动${NC}"
echo -e "${GREEN}==================================${NC}"
echo -e "${YELLOW}API 端点:${NC} $API_ENDPOINT"
echo -e "${YELLOW}API 密钥:${NC} ${API_KEY:0:10}...${API_KEY: -4}" # 只显示部分密钥
echo -e "${YELLOW}模型:${NC} $CLAUDE_MODEL"
echo -e "${YELLOW}配置目录:${NC} ${CLAUDE_CONFIG_DIR:-$HOME/.config/Pencil}"
echo -e "${GREEN}==================================${NC}"
echo ""

# 验证配置
if [ "$API_KEY" = "sk-ant-your-api-key-here" ]; then
    echo -e "${RED}警告: 你还没有设置真实的 API 密钥!${NC}"
    echo -e "${YELLOW}请编辑此脚本,修改 API_KEY 变量${NC}"
    echo ""
    read -p "是否继续?(y/N) " -n 1 -r
    echo
    if [[ ! $REPLY =~ ^[Yy]$ ]]; then
        exit 1
    fi
fi

# 启动 Pencil
echo -e "${GREEN}正在启动 Pencil...${NC}"
"$PENCIL_EXEC" "$@"

# 保存退出代码
EXIT_CODE=$?

# 显示退出信息
if [ $EXIT_CODE -eq 0 ]; then
    echo -e "${GREEN}Pencil 已正常退出${NC}"
else
    echo -e "${RED}Pencil 退出异常 (退出码: $EXIT_CODE)${NC}"
    echo -e "${YELLOW}请检查日志: ~/.config/Pencil/logs/main.log${NC}"
fi

exit $EXIT_CODE

运行的时候可能会报错,例如显示:Pencil-1.1.1-linux-x64/chrome-sandbox is owned by root and has mode 4755.

这时候使用如下命令:

sudo chown root:root chrome-sandbox
sudo chmod 4755 chrome-sandbox

然后再去启动脚本应该就可以了正常启动了,欢迎佬们补充更好的方案。


📌 转载信息
原作者:
EXQS
转载时间:
2026/1/23 12:05:10

最重要的就是先更新最新的 Antigravity Tools,否则很可能会 429,我就是这么困扰了好几天的。
地址:Release Antigravity Tools v3.3.49 · lbjlaq/Antigravity-Manager · GitHub


账号可以多加几个,可以一键切换,启动反代服务,其它的我目前是都默认就可以。
个人经验分享一下 Antigravity tools 配合 cc switch2


然后就是在 cc switch 中增加配置,这里我增加了一手配置
地址:Releases · farion1231/cc-switch · GitHub

{ "env": { "ANTHROPIC_AUTH_TOKEN": "sk-*", "ANTHROPIC_BASE_URL": "http://127.0.0.1:2333", "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-5-thinking", "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5-thinking", "API_TIMEOUT_MS": "3000000", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1" }, "model": "opus" } 


启用配置后再配合 opcode, 就可以畅享 CC 了。
地址:Release v0.2.0 · winfunc/opcode · GitHub
还有注意的就是「节点」要稳,大部分 429 都是节点问题。
不是大佬,只是把自己试出来的东西分享给大家,peace and love


📌 转载信息
原作者:
beauty
转载时间:
2026/1/23 11:59:05

我只提示几个词语,希望你们可以自己找到:
最近、代码、猴子、安全、国内

模型:
glm-4.7 (免费)、 sonnet-4.5(think_mode 加上提示词可以思考)

方法:
firecracker 内部、ssh、.claude/setting.json

如何薅:
可以直接对接到 cc 里面用,20000 积分能用很久很久。重点来了直说关键字:删了 task、key、额度

结束了,最好 github 登录,溯源难。且账号可以 (提示 qq 邮箱),好了教程到这里。

注意!!
国内大安全厂商的东西,抓人一流自己考虑好,别送自己进去(号商无视进去)

本教程只作为安全交流,如果你乱搞那你就自己承担责任雨我无瓜。


📌 转载信息
原作者:
beingS
转载时间:
2026/1/21 21:27:04

如题, 找了一圈全是一些随便 vibe 出来的东西或者很久没维护的项目, 找了一些部署来测试也有很多问题, 是不是我找的姿势不对? 有什么推荐工具吗? 主要想转发 claude/codex/gemini

前情提要

抠腚 API ,公益中转站,无套路,快来帮忙压测

  • 注册就送 每日 20 刀/总共 30 日的套餐,官方倍率没有套路,赶紧蹬起来

  • 官网 https://api.jonwinters.pw

  • 配置文档 https://docs.jonwinters.pw

  • 大家注册后,到图下这个地方复制自己的 id ,然后回帖自己的 id ,我看到了 会给你立即发放套餐

加速节点 无 cloudflare 纯 gcp 服务器直连

https://api-hk.jonwinters.pw
https://api-jp.jonwinters.pw

另外有问题欢迎进群吹水,交流 AI 使用经验,以及 claude code 、gemini cli 等配置相关问题

是的,我又来了,不过好像来晚了
BASE_URL: https://code.vmax.fr.cr
API_KEY : sk-eCANOawVuZDRXHmkg7v3wTybGFzbBOGqj2W0Pv50EgDSG9VV
模型:claude-sonnet-4-5-20250929,claude-opus-4-5-20251101,claude-haiku-4-5-20251001 以及 gpt-5.2,gpt-5.1-codex,gpt-5.2-codex
cc 中可直接 /model 切换到 opus

另外 求打赏


📌 转载信息
转载时间:
2026/1/12 17:06:44

最近启动了 Ally-Health 项目的可视化工作。

tips: 申请要个小

在这个可视化工作中我需要完成如下内容

  1. 套壳
  2. 能够正常交互到 claude code 的工具

遇到的问题

  1. 我没有购买 claude code 官方的计划 因此我需要解决中转
  2. 如何才可以读取到 某个目录下的 skill 或者斜杠命令

第一个问题的解决方案如下

# Claude API 配置 ANTHROPIC_API_KEY=GLM秘钥
ANTHROPIC_AUTH_TOKEN=GLM秘钥
ANTHROPIC_BASE_URL=https://api.z.ai/api/anthropic


# 工作目录(可选) WORKSPACE_DIR=/Users/zhangsan/cc-sdk-demo

第二个问题需要采用下面代码

const result = query({
      prompt: '/get-profile',
      // prompt: '项目里面有什么?',

      options: {
        settingSources: ["user", "project", "local"],
        cwd: config.workspaceDir,
        permissionMode: 'bypassPermissions',
        allowDangerouslySkipPermissions: true,
        allowedTools: [
          "Skill",
          "Bash",
          "WebSearch",
          "WebFetch",
          "Bash",
          "Write",
          "Read",
          "Glob",
          "Task",
          "Grep",
          "LS",
          "ExitPlanMode",
          "Edit",
          "MultiEdit",
          "NotebookEdit",
          "TodoWrite",
          "BashOutput",
          "KillBash"
        ],

      }
    });

这里特别说明:

  1. prompt: ‘/get-profile’, 是我们准备好的命令
  2.  cwd: config.workspaceDir, 是项目目录
    
  3. allowedTools 尽量按照上面的内容编写

验证

 for await (const message of result){

      if (message.type === "system" && message.subtype === "init") {
        console.log("Available commands:", message.slash_commands);
      }

套壳相关的就不具体展开讨论了~


📌 转载信息
原作者:
Zenf
转载时间:
2026/1/12 15:01:47

最近站里各位佬的公益站 / 转发站越来越多,屯屯鼠本鼠余额也攒了不少。公益站稳定性不可预测,经常写着写着代码就得停下来换站点。

所以让 Claude 搓了这个:Claude Code Proxy

用了 N 周还算稳定,就一个 py 脚本,核心功能:

  • Web UI 切换供应商,自动拉取模型列表
  • 一键复制 URL/Key/Model、打开签到 / 福利站链接、保持账号活跃
  • 多终端统一出口 IP,避免多设备访问同一公益站被封号

快速开始

仓库地址: GitHub - QAA-Tools/ccproxy: 轻量级 Claude API 反向代理,Web UI 即时切换供应商,自动发现模型,批量测试保持账号活跃。Lightweight Claude API reverse proxy with Web UI for instant provider switching, auto model discovery, batch testing to keep accounts active.

使用文档: Claude Code Proxy - 轻量级 Claude 代理切换工具

  1. 复制配置文件:
copy config.in.json config.json
  1. 编辑 config.json,填入你的公益站信息:
{ "HOST": "0.0.0.0", "PORT": 3456, "APIKEY": "sk-your-local-ui-key", "Providers": [ { "name": "站点1", "api_base_url": "https://api.example.com/v1/messages", "api_key": "sk-provider-key-1", "models": [], "checkin": "https://example.com/console/personal" } ] } 
  1. 启动代理:
python ccproxy.py --config config.json
  1. 修改 Claude Code 配置(~/.claude/settings.json%USERPROFILE%\.claude\settings.json):
{ "env": { "ANTHROPIC_AUTH_TOKEN": "sk-your-local-ui-key", "ANTHROPIC_BASE_URL": "http://127.0.0.1:3456" } } 

注意: ANTHROPIC_AUTH_TOKEN 要和上面的 APIKEY 一致。改完重启 CC CC 支持热重载,不用重启。

  1. WebUI 地址 http://127.0.0.1:3456,用 APIKEY 作为密码登录(用户名随便填)

WebUI 使用

基础操作:

  • 下拉选择 provider,立即生效
  • Refresh 按钮自动拉取上游模型列表
  • 选模型后点 Copy,粘贴 /model xxx 命令到 CC 切换模型
  • 上游挂了就回网页换一个
  • 改了 config.jsonReload Config 重新载入,不用重启代理

保活操作:

  • Refresh & Test 按钮,屯屯鼠保活,测试结果显示为颜色:绿色(成功)/ 黑色(失败)
  • 若失败可查看输出日志排查原因
  • 签到 按钮快速跳转到站点签到页面领额度

进阶技巧:

  • 点击 settings.json 按钮,将剪贴板粘贴到 ~/.claude/settings.json 文件中,也可以不重启 Claude Code 立即切换供应商


本脚本的配置格式兼容 ccr,但不包含模型转换功能(只支持原生 Claude 格式的 API)。

(对比) 之前采用的 公益站 切换方案:

  • NewAPI:能自动拉模型列表,兼容 CC/Chat 等调用方式,适合佬们开公益站。但个人用来管理公益站 URL 的话,出问题排查太费事
  • ccr:功能很全,路由能力强(能把不同模型转换)。但模型列表要自己填,Web 界面改配置经常不生效,路由功能用不到
  • cc-switch:热重启切换,单机体验很好。但配置只能图形界面或 SQLite 改,我更习惯直接编辑 JSON

因为经常要在 Linux 服务器上跑,就想要个更简单的方案:JSON 配置 + 不重启 CC 就能切换 + 自动拉模型列表 + 定期保活避免被清号。

类似项目推荐


📌 转载信息
转载时间:
2026/1/12 11:38:58

近期多家中转频繁出现 API 400 错误,据 ikun 群反馈是 new API 导致,示例错误参考:

API Error: 400 {"error":{"type":"<nil>","message":"{\"type\":\"error\",\"error\":{\"type\":\"invalid_request_error\",\"message\":\"***.***.content.0: Invalid `signature` in `thinking` block\"},
\"request_id\":\"req_011CWwHm8SAFuS3LqNrEZSX3\"}(traceid: b50513e473fa88186f5e6b1f077613e3)
(request id: 2026010xxxx) (request id: 2026010xxxx) (request id: 2026010xxxx)"
},"type":"error"}

查询到相关 issue [BUG] API Error 400 - Thinking Block Modification Error · Issue #10199 · anthropics/claude-code · GitHub

解决办法比较简单,直接删除 thinking block 即可。

我直接用 cc 糊了个命令来处理这个任务 /fix-thinking-error(也支持直接 python)

测试下来没什么问题,操作流程实际很简单:安装、出错之后使用 /clear/fix-thinking-error/resume 解决问题

工具链接:GitHub - a1exlism/claude-code-cmd-fix-thinking-error: a simple commands to fix thinking error caused by some claude code specific versions.

windows 自己不使用暂时没支持了(

PoC:


📌 转载信息
原作者:
Quinn_Sheng
转载时间:
2026/1/10 19:30:29

这又是一个重复造轮子系列,目的是解决一些公益站不支持 CC、模型不支持工具调用的问题,该项目可以让不支持工具调用的模型获得工具调用的能力
在佬友项目B4U2CC:让 B4U 支持 Claude Code+思考的基础上进行大量的迭代更新,

  • 支持了多组配置,可以配置多个站点,使用渠道+模型名称的形式进行分流
  • 支持的密钥透传
  • 支持使用 firecrawl 来模拟官方 api 才有的的 web searchweb fetch 功能 (目前仅 Preview 分支,测试镜像 ghcr.io/passerby1011/cc-proxy:preview
  • 在 b4u2cc 的基础上改用了 @curaalizm 佬友项目的随机字符标识 感觉更稳定? 好像?
  • 增加了远端 pg 数据库存储配置(hugging face 部署,冲!!!)
  • 增加了工具内部重试 (测试 ing)
  • 增加了 web 管理界面 (/admin),配置更方便
┌─────────────┐
│ Claude Code │ ──① Claude API 请求──▶
└─────────────┘    (包含 tools 定义)

┌──────────────────────────────────────┐
│           cc-proxy 代理层             │
│                                      │
│  ② 提示词注入 (prompt_inject.ts)       │
│     • 工具定义 → XML 格式提示词         │
│     • 注入到 system prompt            │
│     • 生成唯一分隔符                   │
│                                      │
│  ③ 协议转换 (map_claude_to_openai.ts) │
│     • Claude Messages API            │
│       → OpenAI Chat Completions      │
│     • 保持流式兼容                     │
│                                      │
│  ④ 上游转发 (upstream.ts)             │
│     • 支持 OpenAI 协议                │
│     • 支持 Anthropic 协议             │
│     • SSE 流式处理                    │
└──────────────────────────────────────┘
                    │
                    ▼
         ┌──────────────────┐
         │   上游 AI 服务    │ ──⑤ 返回 XML 格式的工具调用──▶
         │ (GPT-4/Claude等)  │
         └──────────────────┘

┌──────────────────────────────────────┐
│           cc-proxy 代理层             │
│                                      │
│  ⑥ 智能解析 (parser.ts)               │
│     • 识别 XML 工具调用块              │
│     • 识别 <thinking> 块              │
│     • 提取工具名称和参数                │
│                                      │
│  ⑦ 标准化输出 (claude_writer.ts)       │
│     • 生成标准 Claude SSE 事件         │
│     • tool_use 消息块                 │
│     • thinking 消息块                 │
└──────────────────────────────────────┘
                    │
                    ▼
         ┌─────────────┐
         │ Claude Code │ ◀── 标准 Claude API 响应
         └─────────────┘
Tip

使用 firecrawl 来模拟官方 api 才有的的 web searchweb fetch,这个思路可以引入到哪些能力更健全逆向模型上,更好的支持 cc
这个项目所有的工具调用都是用提示词来实现的,感觉还是太勉强

测试截图,模型来自 elysiver 的 claude-4.5-sonnet
吐槽:这数据从哪来的,编的和真一样


致谢:

Danger

部署者能看到您的部分聊天上下文推荐自行部署以保证数据安全

Tip

可能有非常多的 bug,代码都来自 claude,anthropic 公司对此负全责,有问题也可以找它修改


📌 转载信息
原作者:
passerby
转载时间:
2026/1/10 19:22:01

xAI,其内部员工长期以来一直透过 Cursor 使用 Anthropic 的 Claude 模型来辅助开发。然而,这条捷径在本周被无预警切断。

在一份我们检视过的 xAI 内部 Slack 讯息中,xAI 联合创始人 Tony Wu 向全体员工证实了这一变动。他在周三发送的讯息中写道:

「嗨团队,我相信你们许多人已经发现 Anthropic 的模型在 Cursor 上无法回应了。根据 Cursor 的说法,这是 Anthropic 针对其所有主要竞争对手执行的一项新政策。」

这证实了 Anthropic 正在识别并针对性地封锁竞争对手 IP 或帐户透过第三方工具调用其 API。

除了针对竞争对手,Anthropic 似乎也在收紧对第三方转售与非官方 API 使用的控制。据悉,部分用户在尝试透过非官方管道或被封锁的第三方应用(如 OpenCode)调用模型时,收到了如下的错误讯息:

「LLM 请求被拒绝:此凭证仅授权用于 Claude Code,不能用于其他 API 请求。」
(LLM request rejected: This credential is only authorized for use with Claude Code and cannot be used for other API requests.)

https://x.com/Yuchenj_UW/status/2009691122940211201
https://x.com/theo/status/2009464346846621700


📌 转载信息
原作者:
BunnHack
转载时间:
2026/1/10 19:20:09

今天 Thariq (来自 Anthropic) 再 X 表示,他们将对使用 Claude 订阅但通过第三方安软件使用行为做出账号封禁,同时也升级了内部系统来检测这个行为。

原文:
Yesterday we tightened our safeguards against spoofing the Claude Code harness after accounts were banned for triggering abuse filters from third-party harnesses using Claude subscriptions.

但是 Open AI 相反,表示将努力支持 OpenCode:

又有人独家爆料表示:
xAI (grok) 的员工之前一直通过 Cursor 在内部使用 Anthropic 的模型。直到本周 Anthropic 切断了这家初创公司的访问权限。据 Cursor 称,这是 Anthropic 对其所有主要竞争对手强制执行的新政策。


📌 转载信息
原作者:
dkly2004
转载时间:
2026/1/10 19:16:38

今天在蹬鸭佬的 0.2 倍率的 opus 的时候遇到的问题。 ..content.0: Invalid signature in thinking block (request id: 20260107203824618698631BX91vkHW)
水一下 主要思路参考 ClaudeCode 报 400(thinking block)的解决方案 佬的解决方案,
脚本如下
cluade_bash.zip
主要就是把处理过程用脚本实现了。 windows 场景下 我试了可以使用,linux 的脚本直接 gemini 转了一下 ,各位佬如果用的时候可以自己看下写的是否准确。。
需要注意要修改的会话是最近访问的那个会话,如果打开 claude 同时编辑了其他会话可能造成修复脚本在不正确的会话上执行

由于操作了 claude 的对话历史文件,所以可能存在数据丢失的风险,尽管脚本里有备份的操作,但是各位佬使用之前还是需要注意一下备份数据哈!


📌 转载信息
原作者:
InJuneYoung
转载时间:
2026/1/8 10:33:43

前言

最近 opencode 似乎爆火了,我也在自己电脑上下载了一个(搭配 oh-my-opencode)试了一下,用 Anthropic 正版的账号走浏览器登录(OAuth)是没问题的,但用公益站(AnyRouter 等)、中转站(claude-rely-servicesub2api 等)、本地代理(CLIProxyAPIAntigravity-Manager 等)配置起来极其繁琐,苦不堪言

正文

假设你已经安装了 opencodeoh-my-opencode 可有可无),可以有两种方式去配置任何非官方模型渠道:

简单粗暴版(推荐,不折腾)

  1. 命令行输入 opencode auth login
  2. 选择 Anthropic
  3. 选择 Manually enter API Key
  4. 输入你的对应渠道的 API Key(这个我相信你肯定能自己找到并输入)
  5. 打开 opencode.json(mac 用户的话就在 ~/.config/opencode/opencode.json,其他平台需要搜一下文档之类的)
  6. provider 插入 anthropic 对象,重载 baseURL(这是最基础的 JSON 编辑,如果编辑出来有问题别找我,去让 AI 帮你改):
     "provider": { "anthropic": { "options": { "baseURL": "你的渠道的Claude Code API URL地址/v1" } },
       ...其他原有的配置
     } 

    注意,大概率要在渠道给你的 API_URL 后面加个 /v1,例如 WONG公益站的话就是 https://wzw.pp.ua/v1

  7. 改一下模型,因为渠道里用的模型名可能是 claude-sonnet-4-5-20250929claude-opus-4-5-20251101,在 opencode.json 里加入或修改字段:
    "model": "anthropic/claude-sonnet-4-5-20250929", // 或 anthropic/claude-opus-4-5-20251101 
  8. 如果用了 oh-my-opencode 则需要顺便配置一下 oh-my-opencode.json(mac 用户的话就在 ~/.config/opencode/oh-my-opencode.json,其他平台需要搜一下文档之类的),把里面全部用到 claude-* 的模型都改一下:
    "model": "anthropic/claude-sonnet-4-5-20250929" // 或 anthropic/claude-opus-4-5-20251101 

自定义供应商

  1. 命令行输入 opencode auth login
  2. 选择 Other
  3. 输入你渠道名,英文全小写,这个就是 provider id(例如我们这里输入 test
  4. 输入你的对应渠道的 API Key(这个我相信你肯定能自己找到并输入)
  5. 打开 opencode.json(mac 用户的话就在 ~/.config/opencode/opencode.json,其他平台需要搜一下文档之类的)
  6. provider 插入新对象,把你的渠道加进去(这是最基础的 JSON 编辑,如果编辑出来有问题别找我,去让 AI 帮你改):
     "provider": { "test": { "npm": "@ai-sdk/anthropic", "name": "你的渠道名,用于显示到opencode的界面的", "options": { "baseURL": "你的渠道的Claude Code API URL地址/v1" }, "models": { "claude-sonnet-4-5-20250929": { "name": "Claude 4.5 Sonnet", "attachment": true, "limit": { "context": 1048576, "output": 65535 }, "modalities": { "input": [ "text", "image" ], "output": [ "text" ] } }, "claude-opus-4-5-20251101": { "name": "Claude 4.5 Opus", "attachment": true, "limit": { "context": 1048576, "output": 65535 }, "modalities": { "input": [ "text", "image" ], "output": [ "text" ] } } } },
       ...其他原有的配置
     } 

    注意,大概率要在渠道给你的 API_URL 后面加个 /v1,例如 WONG公益站的话就是 https://wzw.pp.ua/v1

  7. 改一下模型,因为渠道里用的模型名可能是 claude-sonnet-4-5-20250929claude-opus-4-5-20251101,在 opencode.json 里加入或修改字段:
    "model": "test/claude-sonnet-4-5-20250929", // 或 test/claude-opus-4-5-20251101 
  8. 如果用了 oh-my-opencode 则需要顺便配置一下 oh-my-opencode.json(mac 用户的话就在 ~/.config/opencode/oh-my-opencode.json,其他平台需要搜一下文档之类的),把里面全部用到 claude-* 的模型都改一下:
    "model": "test/claude-sonnet-4-5-20250929" // 或 test/claude-opus-4-5-20251101 

注意,记得把这里的 test 换成你自己的 provider id

效果


我们注意到,效果图2 用的是 sonnet4.5 出来的是 sonnet3.7,参考这个:

限制

  • 某些平台禁止非 Claude Code CLI 使用(如 88codeWONG公益站的Claude Code 0.25倍率专属分组

    WONG公益站可以用 default 分组,但这样就是 1 倍率了,小心使用…
    如果有大佬知道咋解决请在评论区里教教我

  • cc-switch 这种改 claude配置的工具对 opencode 没啥用,除非弄个 opencode-switch(不知道有没有)

总结

我们的保姆级教程就到这了,我也就用了半小时 opencode,目前感觉 UI 很炫酷,然后能自动识别和使用 claude code 的 skill 之类的,还自动用了 ralph 这个神器去防止会话自行终止(挂机摸鱼必备),要是能把更多公益站和中转站对接进来就好了!

记得点赞收藏~(跪谢)

引用


📌 转载信息
原作者:
jnx
转载时间:
2026/1/7 19:05:17

项目地址

主要功能亮点

  1. 主流的 CLI 工具转 API, 目前支持

  2. 转出的 API,支持 OpenAI(包括 Responses)/Gemini/Claude 三种格式

  3. 也可以配置自己现有的 API 进行集中管理,API 转换成其他格式 (配置个 OpenAI 格式,可以用三种主流格式调用)

大概流程

最近 glm4.7 效果还可以,我主要使用 iflow-cli 转 API 配置到 claude code 中使用

  1. github 下载 对应的包
  2. 修改配置文件 为了能用 UI 界面配置 要改下 secret-key 为登录密码
  3. 输入 http://127.0.0.1:8317/management.html 进入 UI 配置页面
  4. 配置登录 iflow-cli 这一步不需要本机安装 iflow-cli 只是要个授权信息
  5. 访问 API
  • OpenAI 格式的接口地址 http://127.0.0.1:8317/v1
  • Anthropic 格式的接口地址 http://127.0.0.1:8317
  • Gemini 格式的接口地址 http://127.0.0.1:8317

可以用这些格式的接口配置到你想用的工具中了,我主要配置到 claude code 和 Droid 中来用

  • 效果

最后

建议个人使用,别薅太猛了,没有需求的也推荐下 iflow-cli 效果也还可以,模型免费,更新很积极


📌 转载信息
原作者:
fredzhang
转载时间:
2026/1/6 19:09:33

最近折腾了一下 kiro2api,用的站内佬的开源项目 `kiroGate`

发现问题还挺多的,折腾了老半天,我自己修复了一些问题

1. 增加了思考模式的支持,支持 Claude 的扩展思考模式
2. 增加了图片的支持
3. 管理页面添加kiro账户详情功能
4. 其他等等

不过感觉还是有点问题,比如上下文不会中断 压缩也有问题等

改不动了…. 继续用公益佬们的 cc 了,哈哈哈

还有一些账号额度,不想用了….

所以分享出来给佬们用用,佬们 尝尝咸淡

{ "alwaysThinkingEnabled": true, "env": { "ANTHROPIC_AUTH_TOKEN": , "ANTHROPIC_BASE_URL": "https://awei.mail-account.biz", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1", "DISABLE_TELEMETRY": "1" }, "skipWebFetchPreflight": true, } 

话说有没有优秀稳定一点的 kiro2api 的项目可以抄一抄的??


📌 转载信息
原作者:
cao_Jacker
转载时间:
2026/1/5 12:20:35

Claude / GPT / Gemini 官方 API 一把梭

https://a‍i‌coding.sh
非转发 · 非中转 · 非魔改
官方 MAX $200 账号池 · 原生 API 直连

我们解决的是什么问题?
很多平台表面是「 Claude / GPT 」,
实际上是降级模型、私有代理或非官方 Key 。
结果往往是上下文丢失、输出不稳定,高峰期排队,甚至随时不可用。

我们选择的是最笨、也最贵的一条路。

技术细节说明
100% 官方模型( Claude / GPT / Gemini )
原生 API 直连,非镜像、非转译
支持 Stream 流式输出,Token 实时返回
国内直连延迟小于 500ms
不限速、不排队、不偷偷降级

你用的是什么模型,你自己最清楚。

为什么能长期稳定?
使用官方 MAX $200 账号池
成本透明,按 Token 实际消耗
不做低价引流,不靠“白嫖回血”
只做一件事:稳定、长期、可用

新用户福利
注册即送 1000 万 Token
邀请好友再送 500 万
充值可获得额外赠送

不限模型试用,不限使用场景
写代码、跑 Agent 、自动化脚本均可

最后说明
不卷价格,不讲故事。
能不能用、稳不稳、值不值,你跑一轮就知道。

小概率不到账的情况,留下 UID 或进群均可人工处理。

纯 Vibe Coding 镇楼!!!

为啥要搞这个

最近一直在用 cc 云 + GitHub Codespaces纯云开发,但踩了两个痛点。

  • 1. cc 的纯云掉 token 感觉比正常使用快
  • 2. 发布 PR > 合并 PR > Codespaces 拉取代码 这套流程有点繁琐,而且手机操作不方便
    (其实现在我这个也不太方便,因为终端操作比较费劲)

所以就因为这些原因我开发了这个项目:docker + cc + code-server
主要还是自用,但感觉功能还不够完善。

大家如果愿意当小白鼠的话可以尝试下 XDDDDDDDD
(白鼠哥们我写的不好千万轻喷我谢谢你们了)

关于 CC API / Key(重要说明)

  • 项目本身不提供 CC API,只有壳子环境
  • 需要的话可以通过 2api 方案转出来 key,然后通过环境变量直接设置即可。

具体的使用方案今天有点晚了,明天发个教程吧。

另外这个项目的配置有点蛮繁琐的,因为涉及到 code-server 代理的问题。

项目地址:GitHub - qinsehm1128/cloud_claude_code
SEO 优化页:https://ccc.qinshm1128.top

主要界面:


📌 转载信息
转载时间:
2026/1/4 10:05:03

看佬友安装工具来切换配置,可能有人像我一样,不喜欢安装,这里有一种简易通过环境变量自由修改 cc 配置的方法:

1、终端执行:nano ~/.zshrc
2、写入配置并保存,以 glm 为例:

# Claude code (glm) glm() {
    export ANTHROPIC_BASE_URL=https://open.bigmodel.cn/api/anthropic
    export ANTHROPIC_AUTH_TOKEN=xxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxx
    claude
}

3、终端执行:source ~/.zshrc
4、使用的时候只需要输入 glm 即可启动。可以在第 2 步里自定义更多的参数。


📌 转载信息
原作者:
ggvisPro
转载时间:
2026/1/2 16:13:59

有小伙伴对使用量没有概念,我分享下自己用的,统计每日 token 使用量的 statusline 插件,适用于官方标准输出结构,有些 2api 结构不符合标准,响应缺少 token 使用量的字段,会导致无法统计。

Claude Pro 用量统计

一个五小时周期差不多可以使用 15-20M 的总 token 数,算上读写缓存的计费方式,一个五小时周期差不多可以使用 8-12 刀的用量

插件代码

文件路径以及文件名: ~/.claude/statusline-tokens.sh

插件代码
#!/bin/bash

# Status line with daily token usage tracking for Claude Code
input=$(cat)

# Extract basic info
cwd=$(echo "$input" | jq -r '.workspace.current_dir')
transcript_path=$(echo "$input" | jq -r '.transcript_path')
base_dir=$(basename "$cwd")

# Git info
git_info=""
if git -C "$cwd" rev-parse --git-dir > /dev/null 2>&1; then
  branch=$(git -C "$cwd" --no-optional-locks rev-parse --abbrev-ref HEAD 2>/dev/null)
  if ! git -C "$cwd" --no-optional-locks diff --quiet 2>/dev/null || \
     ! git -C "$cwd" --no-optional-locks diff --cached --quiet 2>/dev/null; then
    git_info=$(printf "\033[1;34mgit:(\033[0;31m%s\033[1;34m) \033[0;33m✗\033[0m " "$branch")
  else
    git_info=$(printf "\033[1;34mgit:(\033[0;31m%s\033[1;34m)\033[0m " "$branch")
  fi
fi

# Daily token tracking file
DAILY_TOKENS_FILE="$HOME/.claude/daily_tokens.json"
TODAY=$(date +%Y-%m-%d)

# Initialize or load daily tokens data
if [ ! -f "$DAILY_TOKENS_FILE" ]; then
  # Create initial structure
  echo "{\"date\":\"$TODAY\",\"sessions\":{}}" > "$DAILY_TOKENS_FILE"
fi

# Check if we need to reset for a new day
stored_date=$(jq -r '.date // ""' "$DAILY_TOKENS_FILE" 2>/dev/null)
if [ "$stored_date" != "$TODAY" ]; then
  # New day, reset the file
  echo "{\"date\":\"$TODAY\",\"sessions\":{}}" > "$DAILY_TOKENS_FILE"
fi

# Token info - parse JSONL format
token_info=""
if [ -f "$transcript_path" ]; then
  # Calculate tokens from current session's JSONL file - separate by type
  session_input_tokens=$(jq -s '
    [.[] | select(.type == "assistant") |
     .message.usage.input_tokens // 0
    ] | add // 0
  ' "$transcript_path" 2>/dev/null)

  session_cache_creation_tokens=$(jq -s '
    [.[] | select(.type == "assistant") |
     .message.usage.cache_creation_input_tokens // 0
    ] | add // 0
  ' "$transcript_path" 2>/dev/null)

  session_cache_read_tokens=$(jq -s '
    [.[] | select(.type == "assistant") |
     .message.usage.cache_read_input_tokens // 0
    ] | add // 0
  ' "$transcript_path" 2>/dev/null)

  session_output_tokens=$(jq -s '
    [.[] | select(.type == "assistant") |
     .message.usage.output_tokens // 0
    ] | add // 0
  ' "$transcript_path" 2>/dev/null)

  # Update session tokens in the daily file (overwrite, not add)
  if [ -n "$session_input_tokens" ] && [ -n "$session_output_tokens" ] && \
     [ "$session_input_tokens" != "null" ] && [ "$session_output_tokens" != "null" ]; then

    # Escape the transcript path for use as JSON key
    escaped_path=$(echo "$transcript_path" | sed 's/\\/\\\\/g; s/"/\\"/g')

    # Update the session data with all token types
    jq --arg path "$escaped_path" \
       --argjson inp "$session_input_tokens" \
       --argjson cr "$session_cache_creation_tokens" \
       --argjson rd "$session_cache_read_tokens" \
       --argjson outp "$session_output_tokens" \
       '.sessions[$path] = {"input": $inp, "cache_create": $cr, "cache_read": $rd, "output": $outp}' \
       "$DAILY_TOKENS_FILE" > "${DAILY_TOKENS_FILE}.tmp" && \
       mv "${DAILY_TOKENS_FILE}.tmp" "$DAILY_TOKENS_FILE"

    # Calculate total from all sessions - separate by type
    input_tokens=$(jq '[.sessions[].input] | add // 0' "$DAILY_TOKENS_FILE" 2>/dev/null)
    cache_create_tokens=$(jq '[.sessions[].cache_create] | add // 0' "$DAILY_TOKENS_FILE" 2>/dev/null)
    cache_read_tokens=$(jq '[.sessions[].cache_read] | add // 0' "$DAILY_TOKENS_FILE" 2>/dev/null)
    output_tokens=$(jq '[.sessions[].output] | add // 0' "$DAILY_TOKENS_FILE" 2>/dev/null)

    # Format and display if we have valid data
    if [ "$input_tokens" != "0" ] || [ "$cache_create_tokens" != "0" ] || [ "$cache_read_tokens" != "0" ] || [ "$output_tokens" != "0" ]; then
      total_tokens=$((input_tokens + cache_create_tokens + cache_read_tokens + output_tokens))

      # Function to format number with K (thousands) and M (millions)
      format_number() {
        local num=$1
        if [ "$num" -ge 1000000 ]; then
          # Convert to M with 1 decimal place
          local m_value=$(echo "scale=1; $num / 1000000" | bc | sed 's/\.0$//')
          echo "${m_value}M"
        elif [ "$num" -ge 1000 ]; then
          # Convert to K with 1 decimal place
          local k_value=$(echo "scale=1; $num / 1000" | bc | sed 's/\.0$//')
          echo "${k_value}K"
        else
          echo "$num"
        fi
      }

      # Format with K/M suffix for all token types
      input_fmt=$(format_number $input_tokens)
      cache_create_fmt=$(format_number $cache_create_tokens)
      cache_read_fmt=$(format_number $cache_read_tokens)
      output_fmt=$(format_number $output_tokens)
      total_fmt=$(format_number $total_tokens)

      token_info=$(printf "\033[0;35m[📊 今日用量 |\033[0m In:\033[0;36m%s\033[0m CW:\033[0;33m%s\033[0m CR:\033[0;32m%s\033[0m Out:\033[0;35m%s\033[0m Total:\033[1;32m%s\033[0;35m]\033[0m " \
        "$input_fmt" "$cache_create_fmt" "$cache_read_fmt" "$output_fmt" "$total_fmt")
    fi
  fi
fi

# Output final status line
printf "\033[1;32m➜\033[0m  \033[0;36m%s\033[0m %s\n%s" "$base_dir" "$git_info" "$token_info"

配置方法

1. 设置状态栏脚本

~/.claude/settings.json 文件中添加以下配置:

{ "statusLine": { "type": "command", "command": "bash ~/.claude/statusline-tokens.sh" } } 

2. 确保脚本可执行

chmod +x ~/.claude/statusline-tokens.sh

3. 重启 Claude Code

配置完成后,重启 Claude Code 即可看到新的状态栏显示。


显示效果

状态栏格式

➜  项目名称 git:(分支名)
[📊 今日用量 | In:12.5K CW:5K CR:8K Out:6.3K Total:31.8K]

各部分说明

部分说明示例
命令提示符
项目名称当前工作目录名称my-project
git:(分支名)Git 分支信息(如果是 Git 仓库)git:(main)
📊 今日用量Token 统计标识📊 今日用量
In:XXX输入 Token 数量(青色)In:12.5K
CW:XXX缓存写入 Token 数量(黄色)CW:5K
CR:XXX缓存读取 Token 数量(绿色)CR:8K
Out:XXX输出 Token 数量(紫色)Out:6.3K
Total:XXX总 Token 数量(亮绿色加粗)Total:31.8K



📌 转载信息
原作者:
fuller-xu
转载时间:
2026/1/1 16:14:22