npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@perry-lx/ccfg

v1.0.0

Published

Claude Code Config Manager — 管理 Claude Code settings.json 配置预设的 CLI 工具

Readme

ccfg — Claude Code Config Manager

npm versionLicense: MITNode.jsPlatform

ccfg 是一个命令行工具,用于管理 Claude Codeclaude CLI)的 settings.json 配置文件。支持多配置预设的创建、切换、编辑、备份等操作,让你在不同的 AI 模型配置之间快速切换。


为什么需要 ccfg?

Claude Code 的配置文件位于 ~/.claude/settings.json。当需要在不同模型(如 DeepSeek、GLM、GPT)之间切换时,通常需要手动备份、编辑、替换这个 JSON 文件。ccfg 将这一流程自动化:

  • 一键切换不同模型的配置预设
  • 自动传入 --model 参数,无需手动指定
  • 内置备份和恢复机制,防止配置丢失
  • 跨平台:Windows、macOS、Linux 均可使用

目录


安装

前置条件

  • Node.js ≥ 14(通过 npm 安装时需要)
  • Claude Code CLIclaude 命令,ccfg 管理的目标)

通过 npm 安装(推荐)

npm install -g @perry-lx/ccfg

安装后 ccfg 命令即可全局使用。安装脚本会自动创建所需的目录结构(~/.claude/~/.claude/backups/)。

从本地安装

# 在项目根目录执行
npm install -g .

手动安装(仅 Windows,无需 Node.js)

ccfg.bat 所在目录添加到系统 PATH 即可。此方式不需要 Node.js 环境。


快速上手

# 1. 查看所有可用的配置预设
ccfg list

# 2. 切换到某个预设
ccfg switch deepseek

# 3. 切换并启动 Claude Code
ccfg open deepseek

# 4. 将当前配置保存为一个新预设
ccfg create my-config

# 5. 查看当前配置状态
ccfg info

命令速查

| 命令 | 别名 | 简短参数 | 说明 | |------|------|----------|------| | ccfg list | ls | — | 列出所有配置预设 | | ccfg show <名称> | cat | — | 查看指定配置内容 | | ccfg switch <名称> | use | — | 切换到指定配置 | | ccfg switch <名称> --run | use ... -r | — | 切换配置并启动 Claude Code | | ccfg open <名称> | — | — | 切换配置并启动 Claude Code(自动传入模型参数) | | ccfg edit <名称> | vi | — | 编辑指定配置 | | ccfg create <名称> | new | — | 从当前设置创建新预设 | | ccfg create <名称> --from <源> | new ... -f | — | 从已有预设创建新预设 | | ccfg delete <名称> | rm | — | 删除指定预设 | | ccfg rename <旧名> <新名> | mv | — | 重命名预设 | | ccfg backup | bk | — | 备份当前 settings.json | | ccfg backup delete <文件...> | bk delete ... | — | 删除指定备份(支持多个) | | ccfg backup delete | bk delete | — | 删除所有备份 | | ccfg restore <文件> | rs | — | 从备份恢复 | | ccfg backups | bks | — | 列出所有备份 | | ccfg diff <名称A> <名称B> | df | — | 比较两个配置预设的差异 | | ccfg info | i | — | 查看当前配置状态概览 | | ccfg(无参数) | — | — | 直接启动 Claude Code | | ccfg --help | -h | — | 显示完整帮助 |

提示ccfg openccfg switch --runccfg(无参数)在启动 Claude Code 时会自动从配置中提取 model 字段并通过 --model 参数传入,确保打开的 Claude Code 使用正确的模型,不受上次保存的默认值影响。


使用示例

查看所有配置

$ ccfg list

[*] Available presets:
    ====================
    Total: 3 presets

   * deepseek         38 B  2026/05/18 23:42
     glm             603 B  2026/05/26 17:51
     gpt             1.3 KB  2026/06/01 15:49

   [i] Active: deepseek

* 标记的是当前正在使用的配置。

切换配置

# 切换到 glm 配置
ccfg switch glm

# 切换到 gpt 配置并立即启动 Claude Code
ccfg switch gpt --run

# 使用别名(等价于上面的命令)
ccfg use deepseek
ccfg use glm -r        # -r 等于 --run

一键切换并启动

# 切换配置并启动 Claude Code(自动传入模型参数)
ccfg open deepseek
ccfg open glm

# 直接启动 Claude Code(使用当前配置,自动传入模型参数)
ccfg

查看配置内容

$ ccfg show deepseek

  ========================================================
    Preset: deepseek
    File:   /Users/用户名/.claude/settings.json.deepseek
  ========================================================

  {
    "model": "deepseek-v4-flash"
  }

  ========================================================

创建配置预设

# 从当前 settings.json 创建新预设
ccfg create my-config

# 从已有预设复制创建
ccfg create my-config --from deepseek

# 强制覆盖已存在的预设
ccfg create my-config --from glm --force

编辑配置

# 使用系统默认编辑器
#   Windows → 记事本
#   macOS/Linux → $EDITOR 或 vim(保存退出后自动验证 JSON 格式)
ccfg edit glm

比较配置差异

$ ccfg diff deepseek glm

[*] Comparing: deepseek <-> glm
    ====================

  [+] env:
    - [deepseek]: (not present)
    - [glm]: {"ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/paas/v4"}

  [+] model:
    - [deepseek]: "deepseek-v4-flash"
    - [glm]: "opus"

JSON 结构化对比,清晰展示两个预设之间每个字段的差异。

备份与恢复

# 备份当前 settings.json(自动生成带时间戳的文件名)
ccfg backup

# 查看所有备份
ccfg backups

# 从备份恢复
ccfg restore settings_backup_deepseek_20260601_120000.json

# 删除指定备份(支持同时删除多个)
ccfg backup delete settings_backup_deepseek_20260601_120000.json
ccfg backup delete settings_backup_1.json settings_backup_2.json

# 删除所有备份(会弹出交互式确认)
ccfg backup delete

查看配置状态

$ ccfg info

[*] Claude Code Config Status
    ====================

    Config dir: /Users/用户名/.claude
    settings.json:  exists (38 B, 2026/05/18 23:42)
    Active preset:  deepseek
    Available:      3 presets
    Backups:        2 files

    Preset list:
       * deepseek
         glm
         gpt

配置目录

ccfg 的配置文件存储在以下位置:

| 操作系统 | 路径 | |----------|------| | Windows | %USERPROFILE%\.claude\ | | macOS / Linux | ~/.claude/ |

目录结构:

~/.claude/
├── settings.json                    # 当前活动的配置文件
├── settings.json.deepseek           # 预设:deepseek
├── settings.json.glm                # 预设:glm
├── settings.json.gpt                # 预设:gpt
├── backups/
│   ├── settings_backup_deepseek_20260601_120000.json
│   └── ...

命名规则

| 文件 | 规则 | 示例 | |------|------|------| | 预设文件 | settings.json.<名称> | settings.json.deepseek | | 备份文件 | settings_backup_<预设名>_<时间戳>.json | settings_backup_deepseek_20260601_120000.json | | 临时备份 | settings.json.bak | 切换预设时自动生成 |


配置文件格式

settings.json 是标准的 JSON 文件。以下是一些常见的配置项:

{
    "model": "模型名称",
    "env": {
        "ANTHROPIC_BASE_URL": "自定义 API 地址",
        "ANTHROPIC_AUTH_TOKEN": "认证令牌"
    },
    "permissions": {
        "allow": [],
        "deny": [],
        "defaultMode": "bypassPermissions"
    },
    "skipDangerousModePermissionPrompt": true,
    "theme": {
        "name": "theme-name"
    }
}

完整配置项请查阅 Claude Code 官方文档


跨平台支持

ccfg 提供两种运行方式:

| 入口 | 平台 | 依赖 | 说明 | |------|------|------|------| | bin/ccfg.js | Windows / macOS / Linux | Node.js ≥ 14 | 跨平台版本(推荐,通过 npm 安装时自动使用) | | ccfg.bat | Windows 仅 | 无 | 纯批处理脚本,无需任何运行时 |

npm 包的 bin 入口指向 bin/ccfg.js,通过 npm 安装可在所有平台上使用。


文件结构

ccfg/
├── bin/
│   └── ccfg.js              # Node.js CLI 入口(跨平台)
├── src/
│   └── ccfg.js              # 核心模块(所有命令实现)
├── ccfg.bat                 # 纯批处理版本(Windows)
├── postinstall.js            # npm 安装后自动配置脚本
├── package.json              # npm 包配置
├── .npmignore                # npm 发布排除配置
├── LICENSE                   # MIT 许可证
└── README.md                 # 本文档

常见问题

ccfg open / switch --run 没有启动 Claude Code?

检查你是否从 npm 全局安装了最新版本。之前存在一个 bug(spawn 异步导致主进程提前退出),已在 v1.0.0 中修复:

npm uninstall -g @perry-lx/ccfg
npm install -g @perry-lx/ccfg

如果问题依旧,尝试直接运行 claude --version 确认 Claude Code 已正确安装并在 PATH 中。

中文显示乱码?

在 Windows CMD 中正常运行即可。如果使用 Git Bash 等环境,请确保终端编码为 UTF-8。

切换后 Claude Code 配置不生效?

Claude Code 在启动时读取 settings.json,切换配置后需要重启 Claude Code 才能生效。推荐使用:

  • ccfg switch <名称> -r — 切换配置并自动启动 Claude Code
  • ccfg open <名称> — 切换配置并自动启动(自动传入 --model 参数)
  • ccfg(无参数)— 直接启动 Claude Code(也会自动传入当前配置的模型参数)

没有 Node.js 环境怎么办?

可以直接使用 ccfg.bat(仅 Windows),它不依赖 Node.js。将 ccfg.bat 所在目录添加到系统 PATH 即可。

ccfg backup delete 命令如何确认?

删除单个备份时会逐文件确认。删除所有备份时会弹出一个交互式确认提示([y/N]),输入 yyes 确认后才执行删除。


卸载

npm uninstall -g @perry-lx/ccfg

卸载后,ccfg 命令将不再可用。已创建的配置预设和备份文件(位于 ~/.claude/)不会被删除。


从源码构建

git clone https://github.com/Perry-LX/ccfg.git
cd ccfg
npm install -g .
# 即可全局使用 ccfg 命令

License

MIT