惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
A
About on SuperTechFans
IT之家
IT之家
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Blog — PlanetScale
Blog — PlanetScale
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
Vercel News
Vercel News
G
Google Developers Blog
J
Java Code Geeks
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
Cloudbric
Cloudbric
L
LINUX DO - 最新话题
MyScale Blog
MyScale Blog
H
Heimdal Security Blog
PCI Perspectives
PCI Perspectives
Attack and Defense Labs
Attack and Defense Labs
S
Security @ Cisco Blogs
Latest news
Latest news
I
Intezer
L
Lohrmann on Cybersecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
月光博客
月光博客
T
Threatpost
博客园 - 【当耐特】
S
Schneier on Security
P
Privacy International News Feed
G
GRAHAM CLULEY
T
Tenable Blog
AWS News Blog
AWS News Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
雷峰网
雷峰网
博客园 - Franky
Engineering at Meta
Engineering at Meta
美团技术团队
S
Secure Thoughts
T
Troy Hunt's Blog
Microsoft Security Blog
Microsoft Security Blog
SecWiki News
SecWiki News
V
Visual Studio Blog
人人都是产品经理
人人都是产品经理
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Cisco Talos Blog
Cisco Talos Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Martin Fowler
Martin Fowler
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
H
Hackread – Cybersecurity News, Data Breaches, AI and More

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux - V2EX [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 新电脑 brew install node 之后,一个小设置可以提升对供应链投毒的防御 - V2EX GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? - V2EX 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? - V2EX gemini cli 貌似挂了,一直返回 403 - V2EX 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 - V2EX 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 - V2EX 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 - V2EX 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 - V2EX 只有我一个人觉得 codex 不好用? 做了个 AI + 真人专家监督的广告投放平台 Auxora, 7 个品牌跑出 6x ROAS 如何走出至亲的离世 Claude Web 端貌似 claude-opus-4-7 偷偷上了? 现在 Apple 开发者帳號應該是用哪个地区会更好? - V2EX 用回测筛选因子的一点经验分享 给女儿 vibe 了一个故事类的 app,做完发现,这类应用似乎上线难度极大? - V2EX 手机格式化 bitget 钱包没了,里面开通的银行卡还有机会拿到吗 - V2EX [送码] TransVoice - 我的第一款 App 上架啦!实时转写+翻译+字幕,会议听课好助手! PictureHub 高清摄影作品的画廊 Planet 的第一个使用 macOS 26 SDK 构建的 Insider 版本 20260416-1 - V2EX 成都二手房是不是在涨价,有点坐不住了 - V2EX claude 生态(skill mcp plugin)等 Studio Display XDR VESA 适配器脱落 有在用印度区 applestore 的大哥嘛,请教一下礼品卡去哪里买呢 - V2EX 我好像知道京东家政爆火的原因了 - V2EX 薅了公司的 a 家 api key,用机场 ip 做代理容易被封吗 如何在初期就识别 HR 在刷 KPI,没打算招你? [分享]精心打造一个 AI 编程知识库(算法/设计模式/提示词/Skills),助力程序员转型 港版 iPhone 在国内支持联通 5GA 吗?在广东用 想办港卡 AI 对 it 行业影响太大了 我做了个把照片变成 iOS 小组件贴纸的 App ChatGPT Pro 5x 套餐 量真的很足! I have found a method to directly generate advertising video materials using scripts 在小城市开个店,给人写软件,有前途吗 chrome 最新的 147 版直接卡爆炸了 - V2EX 为什么厂家不在 skill/mcp 这类的工具中塞广告呢?这样不是可以大赚嘛? minimax 真是脸都不要了,工作日下午 14:00 定时开启 529,脸都不要了。训练模型居然占用用户使用时间 外资非核心部门 vs 另一家外资的核心部门,该跳吗? iTad 标签 扩展 加小动作 ? - V2EX 去年 H200 能买,不让买是代替快出来了? - V2EX AI 赛事通 - 2026 年 4 月中国区新增 AI 竞赛和黑客松汇总 - V2EX V2EX › 登录 现在安卓开发都在做啥 - V2EX 浏览器插件 沉浸式翻译 是不支持自定义模型了吗? - V2EX Codex 里的 GPT5.4 也能降智?上午让它改两个问题,改了一个小时了, plus 额度用了一半了还是没改好,和前几天用的体感完全不一样。要它改的问题也不复杂。服了。 目前有使用 claude code 的收到人脸认证的吗 - V2EX 分享一个自己做的 Nginx 管理工具,实时请求动态预览!(无奈市面上实在找不到好用的,自己撸了个) - V2EX claude code 崩了么? 今天在反重力上用 claude 一点都不丝滑,有同样的感受吗? opencode 消息周知插件 今天 claude opus 和前两天比,质的飞跃 - V2EX 999 包月价? - V2EX 一个版本, 50 项更新:我们几乎重做了整个播放页 本地大模型多大显存够用? GOGDNS 一款简易的私人 DNS 服务器 - V2EX API key (GLM) 怎么使用 claude code desktop ? Claude 这样订阅有问题吗 - V2EX 帮我爸找回了一篇赛博兰亭集序 求推荐稳定、高性价比使用 Claude Opus 4.6 的渠道/平台 搞个云端 claude code 防止 封号 - V2EX 用 Claude 要实名了,内地用户怎么办? OpenAI Plus 和 Team 都缩水了吗 海外 Android 手机有什么好用的国内第三方应用市场推荐吗 - V2EX 把电脑伪装成电视,用 DLNA 投屏拿到视频号直播流地址 - V2EX claude 认证莫慌 北京互联网法院有什么攻略么?起诉北京智谱华章科技股份有限公司退款可行么? - V2EX Claude 开始引入身份验证 求 vscode 做笔记软件的插件推荐 - V2EX 讯飞星辰的 Coding Plan 如何? Anthropic 宣布在 Claude 平台推行身份验证机制 科普一下低价 gpt 是怎么来的 有没有长期关注 Claude 的朋友,我建了一个 Channel 自动抓取 Claude Team 的推文 啃了那篇 54 页的 Agent Harness 综述, 给大伙讲个省流版 现在那家的 coding plan 还能买到 是不是最近会有什么更聪明的大模型要发布了呀? 用多了 AI 后,有没有觉得 AI 生成的文章有很强的既视感? 如何 实践 Harness 工程? 今日份 GPT 5.4 笑话 如何建一个自己的号池,让 cursor 真正实现 token 自由 写了三个月 Agent Harness,我终于敢让 Claude Code 全自动写代码了
CC Switch 的血泪教训:切一次提供商, 300 多行 Claude Code 配置消失了 - V2EX
dilightme · 2026-06-15 · via V2EX

你的 AI Agent 配置正在被 CC Switch 悄悄吃掉——不止 Claude Code ,是所有。

🔥 每次切换 API 提供商,你精心调教的所有 Agent 配置就各少一块。而你浑然不知。


一个真实故事

上周六晚上 11:47 ,上海某 AI 创业公司的全栈工程师刚完成一组 MCP Server 的配置。他花了一个下午,把 Filesystem 、GitHub 、Postgres 、Slack 和 Brave Search 五个 MCP Server 全部接入了 Claude Code 。

settings.json 已经长到快 300 行。他深吸一口气,在终端敲下:

> 帮我查一下数据库里上周的订单量,和 GitHub 上最近的 commits 对比一下

Claude Code 读到了数据库。读到了 GitHub 。读到了文件系统。全部打通了。

他兴奋地截了个图发到团队群。然后顺手用 CC Switch 切了个 API 提供商。

Claude Code 又启动了。但是——数据库访问失败了。GitHub 也读不了。五个 MCP Server 全部瘫痪。

他把昨晚的配置 commit 翻出来 diff 。一模一样。mcpServers 明明就写在文件里。他重启了 Claude Code 。又重启了电脑。他开始怀疑是不是 Claude Code 新版本改了 MCP 协议的 JSON Schema 。

凌晨一点半,他打开了 ~/.cc-switch/cc-switch.db。看见了 common_config_claude 这个 key 。


它到底干了什么

CC Switch 的设计是这样的:

你点击"切换提供商"
        │
        ▼
┌──────────────────────┐
│ 从 SQLite 读取模板    │  ← 这份模板是你第一次安装时存的快照
│ common_config_claude │
└──────┬───────────────┘
       │
       ▼
┌──────────────────────┐
│ 注入新提供商的 env     │
│ (API key, base URL)  │
└──────┬───────────────┘
       │
       ▼
┌──────────────────────────────────┐
│ 用这份拼装好的 JSON               │
│ 全量覆盖 ~/.claude/settings.json │  ← 💣 一切不在模板里的配置:没了
└──────────────────────────────────┘

注意那个「全量覆盖」。不是 merge 。不是 patch 。是 rm 然后 write

模板 = 天花板。任何模板之外的配置,在下次切换时原地消失。


打开 ~/.cc-switch/cc-switch.db,你会看到:

SELECT key FROM settings WHERE key LIKE 'common_config_%';

返回结果让人后背发凉:

common_config_claude      → 全量覆盖 ~/.claude/settings.json
common_config_codex       → 全量覆盖 ~/.codex/config.toml
common_config_opencode    → 全量覆盖 ~/.config/opencode/config.json
common_config_openclaw    → 全量覆盖 ~/.openclaw/openclaw.json

CC Switch 管理的每一个 Agent ,都有一份独立的模板。每一份模板都是全量覆盖的逻辑。切一次提供商,五个 Agent 的配置同时被各自的模板覆盖。

这不是一个 bug 。这是一个设计模式。它的破坏范围是你安装的所有 Agent 。

我们来看一个真实的数据库快照对比:

Agent 模板行数 实际配置行数 切换一次丢失
Claude Code ~30 行 ~50 行 marketplace 、statusLine 、allowedTools
Codex 110 行 373 行 263 行——4 个 marketplace 、model 设置、plugin_hooks 、context window
OpenCode ~2 行 未知 可能几乎全部
OpenClaw ~15 行 未知 workspace 、model defaults 、gateway 配置

Codex 用户尤其惨烈。你花了几周调出来的 373 行配置——包括 model_context_window = 1000000model_reasoning_effort = "xhigh"、四个社区 marketplace 、plugin_hooks = true——切一次提供商,回到 110 行的远古版本。Codex 不会报错。它只是突然变得行为诡异。你以为是 prompt 的问题。你不是一个人。


四个足够让人血压升高的场景

场景一:插件配置蒸发

你花了一个下午装了 8 个 Claude Code 插件,每个都调了参数。settings.json 长到 200 行。CC Switch 的模板里只有 4 个老插件。

切换一次提供商 → 4 个新插件配置消失。Claude Code 不报错——它只是静默地不再加载那些插件。你下次敲自定义命令时发现没反应,以为是 prompt 写错了,调试一个小时,最后发现插件根本没启用。

场景二:MCP Server 集体阵亡

就是你刚才读到的那个真实案例。MCP Server 是 Claude Code 最强大的功能——它让 Claude Code 能直接操作你的文件系统、读 GitHub 、查数据库、调用外部 API 。

配置 MCP Server 是体力活:每个 Server 的 JSON schema 不同,参数名称五花八门,有的需要 API key ,有的需要本地路径绝对引用,有的需要 Node 版本匹配。五个 Server 配完,半天没了。

切一次提供商。全部消失。Claude Code 不会提示"配置已变更"——它只是突然变得很笨。你问它"帮我看看数据库",它说我没有数据库连接。你以为是它理解不了你的意图,实际上你的 mcpServers 键已经被 CC Switch 的模板覆盖成了一年前的空对象。

场景三:团队配置滚回远古版本

你维护着一个团队共用的 Claude Code 配置模板。三个月里,团队成员陆续加了 12 个 marketplace 、6 个自定义 hook 、3 个 MCP server 。settings.json 现在是一个精心打磨的产物。

新同事第一次用 CC Switch 切提供商——模板是他三个月前第一次安装时的快照。

整个团队的三个月配置积累,一键回滚。

场景四:Codex 的 263 行无声蒸发

这是最容易被忽视的。CC Switch 也会管理 Codex 的提供商切换。它的 Codex 模板存了 110 行——第一次安装时的快照。但你实际用了 Codex 几周后,~/.codex/config.toml 已经长到 373 行。

这些多出来的 263 行包括:

  • model_context_window = 1000000——你花了一个小时试出来的最优值
  • model_reasoning_effort = "xhigh"——你专门查了文档才找到的参数
  • plugin_hooks = true——没有这个,Codex 的插件 hook 完全不生效
  • 四个社区 marketplace——Shortcuts Playground 、Compass 、Role-Specific Plugins 、Universal Plugins

切一次提供商。263 行没了。Codex 不会弹窗说"配置已回滚"。它只是突然不懂得怎么用 Shortcuts 了,review 质量也变差了。你以为是 OpenAI 改了模型行为。你开始怀疑 GPT-5.5 是不是被降智了。

直到你打开 ~/.cc-switch/cc-switch.db,看见自己的 110 行模板静静地躺在那里。


为什么这个设计是危险的

你期望的 它实际做的
只改 env 覆盖整个文件
合并配置 替换配置
增量更新 全量覆盖
保留所有自定义 保留模板里有的

CC Switch 的模板机制,本质上是把一个状态管理问题当成了配置生成问题。它假设 settings.json 除了它写入的东西之外没有其他重要内容。这在 2026 年的 AI agent 生态里是完全站不住脚的——Claude Code 的 settings.json 已经是一个会被多个工具(插件安装器、EchoBird 、手动编辑)同时修改的文件。


如何自救

如果你还在用 CC Switch

每次修改任意 Agent 的配置之后,手动反同步。全部 Agent 一键脚本(保存为 sync-cc-switch.sh):

#!/bin/bash
DB="$HOME/.cc-switch/cc-switch.db"

# Claude Code
python3 -c "import json; c=json.load(open("$HOME/.claude/settings.json")); json.dump({k:v for k,v in c.items() if k!="env"}, open("/tmp/ccs.json","w"), separators=(",",":"))"
sqlite3 "$DB" "UPDATE settings SET value = readfile("/tmp/ccs.json") WHERE key="common_config_claude";"

# Codex (TOML)
sqlite3 "$DB" "UPDATE settings SET value = readfile("$HOME/.codex/config.toml") WHERE key="common_config_codex";"

# OpenCode
python3 -c "import json; c=json.load(open("$HOME/.config/opencode/config.json")); json.dump({k:v for k,v in c.items() if k!="env" and k!="model_providers"}, open("/tmp/ccs.json","w"), separators=(",",":"))"
sqlite3 "$DB" "UPDATE settings SET value = readfile("/tmp/ccs.json") WHERE key="common_config_opencode";"

# OpenClaw
python3 -c "import json; c=json.load(open("$HOME/.openclaw/openclaw.json")); json.dump({k:v for k,v in c.items() if k!="env"}, open("/tmp/ccs.json","w"), separators=(",",":"))"
sqlite3 "$DB" "UPDATE settings SET value = readfile("/tmp/ccs.json") WHERE key="common_config_openclaw";"

rm /tmp/ccs.json && echo "✅ All 4 agents synced"

或者单独同步 Claude Code:

python3 -c "
import json
with open('$HOME/.claude/settings.json') as f:
    c = json.load(f)
template = {k:v for k,v in c.items() if k != 'env'}
with open('/tmp/sync.json','w') as f:
    json.dump(template, f, separators=(',',':'))
" && sqlite3 ~/.cc-switch/cc-switch.db \
  "UPDATE settings SET value = readfile('/tmp/sync.json') WHERE key = 'common_config_claude';" && \
  echo "Synced ✅"

长远来看

CC Switch 没有提供「从当前配置导入」的功能,也没有在切换前做 diff 警告。如果你发现自己经常需要跑上面的脚本,那说明你的使用模式已经超出了 CC Switch 的设计假设。

用 EchoBird 切模型——它只动 env,不动别的:

// EchoBird: 只改这个 block
"env": {
    "ANTHROPIC_BASE_URL": "...",
    "ANTHROPIC_AUTH_TOKEN": "..."
}

// CC Switch: 覆盖整个文件
{
    "enabledPlugins": {...},    // ← 从模板
    "extraKnownMarketplaces": {...},  // ← 从模板
    "skipDangerous...": true,   // ← 从模板
    "env": {...}                // ← 从提供商
    // statusLine? 不在模板里 → 💥
}

写在最后

CC Switch 是个好工具——它对「一键切换 API 提供商」这个原始需求的解法很直接。但它的模板机制有一个静默丢失数据的致命缺陷,而它不会给你任何提示。

如果你读了这篇文章之后去检查自己的 settings.json,发现少了点什么——不要怀疑自己。你没记错。你是被覆盖了。