<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/scripts/pretty-feed-v3.xsl" type="text/xsl"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:h="http://www.w3.org/TR/html4/"><channel><title>Mokiia&apos;s Blog</title><description>Think different</description><link>https://mokiia1107.pages.dev</link><item><title>Mac 终端一键转换 AVCHD 到 MP4：从安装到批处理的完整指南</title><link>https://mokiia1107.pages.dev/blog/blog10</link><guid isPermaLink="true">https://mokiia1107.pages.dev/blog/blog10</guid><description>Powered by Kimi 2.6 Agent. AI may make mistakes, double check before execute.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;你的摄像机素材为什么打不开&lt;/h2&gt;
&lt;p&gt;AVCHD（.MTS / .m2ts）是索尼、松下等摄像机常用的蓝光标准格式。我自己就吃过这个苦头——手头有一台索尼 A7R2，这台老机器画质依然能打，但录出来的素材偏偏是 AVCHD 格式。把卡插到 Mac 上，QuickTime 可以查看但是无法编辑，Premiere 和 Final Cut Pro 导入后根本不支持打开。更让人头疼的是，AVCHD 并不是单个视频文件，而是一整套 BDMV 文件夹结构，CLIPINF、PLAYLIST、STREAM 层层嵌套，体积庞大却不知道怎么下手。&lt;/p&gt;
&lt;p&gt;很多人第一反应是去下载格式工厂或者付费转码软件，其实完全没必要。&lt;strong&gt;FFmpeg 这条命令就能搞定&lt;/strong&gt;，免费、无损、速度极快。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;环境准备：安装 FFmpeg&lt;/h2&gt;
&lt;p&gt;macOS 上安装 FFmpeg 主要有两种方式，看你电脑上已经有什么环境：&lt;/p&gt;
&lt;h3&gt;Homebrew 安装（推荐）&lt;/h3&gt;
&lt;p&gt;如果你之前用 Homebrew 装过其他软件，这条命令就够了：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;brew install ffmpeg
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Homebrew 会自动处理所有依赖，适合绝大多数 Mac 用户。&lt;/p&gt;
&lt;h3&gt;conda 安装&lt;/h3&gt;
&lt;p&gt;如果你平时用 Anaconda 或 Miniconda 做数据分析，走 conda-forge 更方便：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;conda install -c conda-forge ffmpeg
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样 FFmpeg 会被装在你的 conda 环境里，不会和系统其他工具冲突。&lt;/p&gt;
&lt;p&gt;装完之后，在终端输入以下命令验证：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;ffmpeg -version
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果看到版本号输出，说明安装成功。如果提示 &lt;code&gt;command not found&lt;/code&gt;，先检查安装过程有没有报错，然后确认你的 PATH 环境变量是否包含了 FFmpeg 的安装路径（比如 &lt;code&gt;/opt/homebrew/bin&lt;/code&gt; 或 &lt;code&gt;/usr/local/bin&lt;/code&gt;）。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;核心知识：无损复制 vs 重新编码&lt;/h2&gt;
&lt;p&gt;在动手转换之前，先理解 FFmpeg 的两种工作模式，这能帮你根据实际情况做出选择。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;无损复制（&lt;code&gt;-c copy&lt;/code&gt;）&lt;/strong&gt; 的意思是只换容器格式，完全不碰里面的音视频数据。AVCHD 的本质是 H.264 视频 + AC3 音频，只是套了一个 MTS 外壳。&lt;code&gt;-c copy&lt;/code&gt; 就是把这个外壳换成 MP4，里面的内容原封不动。速度有多快？我亲测过，50GB 的素材几分钟就转完了，画质零损失，因为根本没有重新编码。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;重新编码（&lt;code&gt;-c:v libx264 -c:a aac&lt;/code&gt;）&lt;/strong&gt; 则是把视频和音频都重新压一遍。这种方式耗时更长，CPU 风扇会狂转，但换来的是更好的兼容性——转成 AAC 音频后，iPhone、网页播放器、各种剪辑软件都不会出现&quot;有画面没声音&quot;的尴尬。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;我的建议&lt;/strong&gt;：先无脑用无损复制试试，如果导入剪辑软件或播放器时报错，再换回重新编码方案。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;实战操作：三种常见场景&lt;/h2&gt;
&lt;h3&gt;场景 A：单个文件转换&lt;/h3&gt;
&lt;p&gt;只想转某一个文件？一行命令：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;ffmpeg -i input.MTS -c copy output.mp4
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;-i&lt;/code&gt; 后面跟输入文件名，最后面是输出文件名。FFmpeg 会根据后缀自动判断容器格式。&lt;/p&gt;
&lt;h3&gt;场景 B：批量转换同一文件夹&lt;/h3&gt;
&lt;p&gt;摄像机导出来的素材通常有几十个 .MTS 文件，手动一条一条敲不现实。用 &lt;code&gt;for&lt;/code&gt; 循环批量处理：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 进入 STREAM 目录（AVCHD 的实际视频文件都在这里）
cd /Users/你的用户名/Desktop/AVCHD/BDMV/STREAM

# 无损批量转换所有 .MTS 文件
for f in *.MTS; do ffmpeg -i &quot;$f&quot; -c copy &quot;${f%.MTS}.mp4&quot;; done
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;${f%.MTS}.mp4&lt;/code&gt; 是个实用的 shell 技巧：&lt;code&gt;%&lt;/code&gt; 号去掉原文件的后缀 &lt;code&gt;.MTS&lt;/code&gt;，然后接上 &lt;code&gt;.mp4&lt;/code&gt;。如果你的文件后缀是 &lt;code&gt;.m2ts&lt;/code&gt; 或 &lt;code&gt;.mts&lt;/code&gt;（小写），把通配符和去掉后缀的部分对应改掉即可，比如 &lt;code&gt;*.m2ts&lt;/code&gt; 和 &lt;code&gt;${f%.m2ts}.mp4&lt;/code&gt;。&lt;/p&gt;
&lt;h3&gt;场景 C：输出到桌面，不污染原目录&lt;/h3&gt;
&lt;p&gt;不想在原文件夹里生成一堆 MP4 和其他文件混在一起？指定绝对路径输出到桌面：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;for f in *.MTS; do ffmpeg -i &quot;$f&quot; -c copy &quot;/Users/你的用户名/Desktop/${f%.MTS}.mp4&quot;; done
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样原卡里的目录结构保持不动，桌面直接拿到干净的 MP4 文件。&lt;/p&gt;
&lt;h3&gt;场景 D：重新编码（兼容性优先）&lt;/h3&gt;
&lt;p&gt;如果无损复制出来的 MP4 在某些设备上播不了，用这个重新编码的版本：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;for f in *.MTS; do
  ffmpeg -i &quot;$f&quot; \
    -c:v libx264 -crf 23 \
    -c:a aac -b:a 192k \
    -movflags +faststart \
    &quot;${f%.MTS}.mp4&quot;
done
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;-crf 23&lt;/code&gt; 是画质控制参数，数字越小画质越好、文件越大，23 是平衡画质和体积的常用值。&lt;code&gt;-movflags +faststart&lt;/code&gt; 会把视频的关键信息移到文件开头，优化网页播放时的加载速度。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;进阶：处理 BDMV 目录结构&lt;/h2&gt;
&lt;p&gt;很多人第一次接触 AVCHD 会懵——插卡后看到的是一个 &lt;code&gt;AVCHD&lt;/code&gt; 文件夹，点进去有 &lt;code&gt;BDMV&lt;/code&gt;，里面又有 &lt;code&gt;CLIPINF&lt;/code&gt;、&lt;code&gt;PLAYLIST&lt;/code&gt;、&lt;code&gt;STREAM&lt;/code&gt;……&lt;strong&gt;真正的视频文件只在 STREAM 文件夹里&lt;/strong&gt;，后缀是 &lt;code&gt;.MTS&lt;/code&gt;。其他的文件是摄像机用来管理播放列表、时间码等元数据的，转格式时不需要动它们。&lt;/p&gt;
&lt;p&gt;如果你不确定视频文件具体散落在哪，用这条命令一键找出所有 .MTS：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;find /Users/你的用户名/Desktop/AVCHD -name &quot;*.MTS&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;找到之后，cd 进那个 STREAM 目录再执行上面的批量转换命令即可。&lt;strong&gt;不要删除或修改 BDMV 里的 CLIPINF 和 PLAYLIST 文件&lt;/strong&gt;，除非你确认已经备份好了原卡数据。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;常见问题 FAQ&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q：转换后的 MP4 没有声音？&lt;/strong&gt;&lt;br&gt;
A：无损复制模式下音频是原生的 AC3 格式，某些播放器或旧版剪辑软件不支持。改用场景 D 的重新编码命令，音频参数 &lt;code&gt;-c:a aac&lt;/code&gt; 会把 AC3 转成通用 AAC，兼容性问题解决。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q：转出来的文件还是很大，能进一步压缩吗？&lt;/strong&gt;&lt;br&gt;
A：可以。把场景 D 中的 &lt;code&gt;-crf 23&lt;/code&gt; 改成 &lt;code&gt;-crf 28&lt;/code&gt;，文件体积会明显缩小，画质损失在大多数情况下肉眼不太容易察觉。需要更小还可以调到 30，但别超过 35，否则块效应会比较严重。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q：转换后时间码或元数据丢了？&lt;/strong&gt;&lt;br&gt;
A：FFmpeg 默认不会复制 AVCHD 的私有元数据。如果你需要保留原始时间戳等信息，在命令里加上 &lt;code&gt;-map_metadata 0&lt;/code&gt;，这会尽量把原文件的元数据映射到新文件。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q：命令跑完了，输出文件在哪？&lt;/strong&gt;&lt;br&gt;
A：默认输出到你执行命令时终端所在的目录。不确定的话，在终端输入 &lt;code&gt;pwd&lt;/code&gt; 查看当前路径。如果你在场景 C 里指定了桌面路径，就去桌面找。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q：这套命令能处理 .m2ts 文件吗？&lt;/strong&gt;&lt;br&gt;
A：完全没问题。.m2ts 和 .MTS 本质是同一种格式，只是后缀不同。把命令里的文件名通配符从 &lt;code&gt;*.MTS&lt;/code&gt; 改成 &lt;code&gt;*.m2ts&lt;/code&gt;，&lt;code&gt;${f%.MTS}&lt;/code&gt; 改成 &lt;code&gt;${f%.m2ts}&lt;/code&gt; 即可。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;写在最后&lt;/h2&gt;
&lt;p&gt;FFmpeg 是 Mac 上处理 AVCHD 素材最高效的工具——免费、开源、无损复制速度快到离谱。下次从摄像机导素材时，打开终端复制粘贴上面的命令，等几分钟就能拿到剪辑软件流畅编辑的 MP4 文件。建议把这篇文章收藏，或者直接把那条批量转换命令保存在备忘录里，随取随用。&lt;/p&gt;</content:encoded><h:img src="undefined"/><enclosure url="undefined"/></item><item><title>Mac 识别到 U 盘但无法读取的完整排查与修复指南</title><link>https://mokiia1107.pages.dev/blog/blog9</link><guid isPermaLink="true">https://mokiia1107.pages.dev/blog/blog9</guid><description>Powered by Kimi 2.6 Agent. AI may make mistakes, double check before execute.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR 快速结论&lt;/strong&gt;：如果你的 U 盘插入 Mac 后有反应但 Finder 不显示，先打开终端执行 &lt;code&gt;diskutil list&lt;/code&gt; 确认硬件是否被识别。如果能看到设备但无法挂载，立即尝试 &lt;code&gt;diskutil mount readOnly&lt;/code&gt; 抢救数据，备份后再用 &lt;code&gt;diskutil eraseDisk&lt;/code&gt; 格式化。若看到 &lt;code&gt;Volume Total Space: 0 B&lt;/code&gt; 或 &lt;code&gt;Invalid BS_jmpBoot&lt;/code&gt;，说明文件系统元数据损坏，硬件大概率完好，别急着扔。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;在日常使用 Mac 的过程中，U 盘问题是一种常见但令人头疼的故障。典型表现包括：插入 U 盘后指示灯亮起、系统发出插入提示音，甚至有震动反馈，但 Finder 中却完全不显示设备；打开&quot;磁盘工具&quot;可能能看到该设备但呈灰色无法挂载；有时 U 盘之前在 Windows 上使用正常，插到 Mac 上却突然&quot;消失&quot;。用户的第一反应往往是&quot;U 盘坏了&quot;，但实际上硬件可能完好，只是文件系统层面的问题。以下是一份从诊断到修复的完整排查指南。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;核心排查流程&lt;/h2&gt;
&lt;p&gt;我们将按照从诊断到修复的顺序，在终端中执行一系列命令。&lt;strong&gt;在开始之前，请将 U 盘插入 Mac，并确保你当前没有在该 U 盘上打开任何文件。&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;第一步：确认硬件是否被系统识别&lt;/h3&gt;
&lt;p&gt;我们要做的第一件事，是确认 Mac 的 USB 子系统是否成功识别到了 U 盘的硬件。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;诊断命令：&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;diskutil list
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在输出的列表中，寻找标记为 &lt;code&gt;(external, physical)&lt;/code&gt; 的磁盘条目。它通常位于列表末尾，类似这样：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/dev/disk4 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *126.1 GB   disk4
   1:                 DOS_FAT_32 UDISK                   126.1 GB   disk4s2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果你能看到类似 &lt;code&gt;/dev/disk4&lt;/code&gt; 这样的设备，且容量与你的 U 盘相符，那么恭喜你——&lt;strong&gt;U 盘的硬件大概率是好的&lt;/strong&gt;。这意味着 USB 控制器、数据线和闪存芯片都在正常工作，问题出在文件系统或分区表层面。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;如果这一步就看不到设备&lt;/strong&gt;：尝试更换 USB 接口（优先使用机身原生接口而非扩展坞），或换一台电脑测试。如果仍然无法识别，才可能真的是硬件故障。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3&gt;第二步：查看分区详细信息&lt;/h3&gt;
&lt;p&gt;既然硬件被识别了，接下来我们要看看 Mac 对这个分区的&quot;理解&quot;是什么。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;诊断命令：&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;diskutil info /dev/disk4s2
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;注意：将 &lt;code&gt;disk4s2&lt;/code&gt; 替换为你上一步看到的实际分区标识符。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;在输出中，我们需要重点关注以下几个字段：&lt;/p&gt;
&lt;p&gt;| 字段 | 含义 |
|------|------|
| &lt;code&gt;Mounted: No&lt;/code&gt; | 系统没有成功挂载该分区 |
| &lt;code&gt;File System Personality: MS-DOS&lt;/code&gt; / &lt;code&gt;ExFAT&lt;/code&gt; / &lt;code&gt;NTFS&lt;/code&gt; | 文件系统类型 |
| &lt;code&gt;Volume Total Space: 0 B&lt;/code&gt; | &lt;strong&gt;关键信号！&lt;/strong&gt; 表示文件系统元数据已损坏，系统无法读取分区结构 |
| &lt;code&gt;Protocol: USB&lt;/code&gt; | 确认是 USB 设备（排除内建磁盘） |&lt;/p&gt;
&lt;p&gt;在我们的案例中，&lt;code&gt;Volume Total Space&lt;/code&gt; 显示为 &lt;code&gt;0 B&lt;/code&gt;，这是一个非常典型的症状。它意味着 macOS 知道这里有一个分区，但完全无法理解它的结构——就像你面前有一本书，但目录页被撕掉了，你不知道章节从哪里开始。&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;第三步：尝试手动挂载&lt;/h3&gt;
&lt;p&gt;有时候系统只是&quot;犹豫&quot;了一下，手动催促它挂载或许能解决问题。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;修复命令：&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;diskutil mount /dev/disk4s2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果终端返回类似这样的信息：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Volume on disk4s2 failed to mount
If the volume is damaged, try the &quot;readOnly&quot; option
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这说明系统检测到了文件系统的异常，&lt;strong&gt;主动拒绝以读写模式挂载&lt;/strong&gt;——这其实是一种保护机制。如果强行以读写模式挂载，可能会进一步损坏本已脆弱的文件系统结构。&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;第四步：只读模式挂载——数据抢救的最后机会&lt;/h3&gt;
&lt;p&gt;当常规挂载失败时，只读挂载是我们挽救数据的最佳机会。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;修复命令：&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;diskutil mount readOnly /dev/disk4s2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;为什么只读模式有时能成功？&lt;/strong&gt; 只读模式不会向 U 盘写入任何数据，因此可以绕过文件系统中某些损坏的写入相关检查点。如果文件的核心数据区还完好，系统就可能允许我们以只读方式&quot;看一眼&quot;。&lt;/p&gt;
&lt;p&gt;如果命令执行成功，U 盘会立刻出现在 Finder 中。此时，&lt;strong&gt;你必须立即将需要的数据复制到本地硬盘或其他安全位置&lt;/strong&gt;，不要在 U 盘上打开、编辑或移动任何文件——每一次操作都可能让情况变得更糟。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;关键提醒&lt;/strong&gt;：只读挂载成功后，Finder 中的文件可能看起来完好，也可能部分文件夹显示为空。这是正常的，说明那些区域的文件索引已经损坏。优先抢救最重要的、体积较小的文件（如文档、表格），而非视频等大型文件。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h3&gt;第五步：文件系统修复&lt;/h3&gt;
&lt;p&gt;数据已经备份（或你确认不需要恢复数据）后，我们可以尝试修复文件系统本身。根据 U 盘的文件系统类型，选择对应的命令：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;FAT32 / ExFAT（最常见的情况）：&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo fsck_msdos -y /dev/rdisk4s2
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;注意这里使用的是 &lt;code&gt;rdisk4s2&lt;/code&gt;（带 &lt;code&gt;r&lt;/code&gt; 前缀），表示原始磁盘设备，绕过系统缓存，直接操作硬件。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;-y&lt;/code&gt; 参数表示对所有修复提示自动回答&quot;是&quot;。在执行过程中，你可能会看到大量输出。在我们的案例中，终端最终显示：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Invalid BS_jmpBoot in boot block: 000000
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这个错误信息非常关键。&lt;code&gt;BS_jmpBoot&lt;/code&gt; 是 FAT 文件系统引导扇区中的一个字段，它告诉系统如何跳转到启动代码。当它变成 &lt;code&gt;000000&lt;/code&gt; 时，意味着&lt;strong&gt;引导扇区（Boot Sector）已经完全损坏&lt;/strong&gt;，&lt;code&gt;fsck_msdos&lt;/code&gt; 无法从中获取文件系统的基本参数（如簇大小、FAT 表位置等），因此修复失败。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;APFS 格式（较新的 Mac 专用格式）：&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;diskutil repairVolume /dev/disk4s2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;HFS+ 格式（较旧的 Mac 格式）：&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;diskutil repairDisk /dev/disk4
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果修复命令报告成功（通常会显示 &lt;code&gt;The volume UDISK appears to be OK&lt;/code&gt;），你可以尝试重新正常挂载。如果修复失败（如本例中的引导扇区损坏），那就说明文件系统的元数据损坏过于严重，&lt;strong&gt;格式化是唯一能让 U 盘重新投入使用的途径&lt;/strong&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;第六步：底层数据抢救（进阶）&lt;/h3&gt;
&lt;p&gt;如果你第五步修复失败，但 U 盘里还有极其重要的数据没有备份，格式化之前还有一个最后的手段：&lt;strong&gt;创建磁盘镜像&lt;/strong&gt;。这个镜像文件可以在之后用 PhotoRec、TestDisk 或 Disk Drill 等专业工具扫描恢复。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;修复命令：&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo dd if=/dev/disk4s2 of=~/Desktop/usb_backup.img bs=1m
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;dd&lt;/code&gt; 命令会按原始字节逐块复制 U 盘的内容，完全忽略文件系统结构。哪怕文件系统的目录已经一团糟，原始数据字节仍然可能存在于闪存中。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;重要警告&lt;/strong&gt;：一个 128GB 的 U 盘会生成一个 128GB 的镜像文件。在执行此命令前，请确保你的 Mac 硬盘有足够空间。整个过程可能需要几十分钟到数小时，期间终端不会有任何进度提示，请耐心等待，不要中断。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;镜像制作完成后，你可以安装 &lt;a href=&quot;https://www.cgsecurity.org/wiki/PhotoRec&quot;&gt;PhotoRec&lt;/a&gt; 或 &lt;a href=&quot;https://www.cgsecurity.org/wiki/TestDisk&quot;&gt;TestDisk&lt;/a&gt;（免费），或购买 &lt;a href=&quot;https://www.cleverfiles.com/&quot;&gt;Disk Drill&lt;/a&gt; 来扫描这个 &lt;code&gt;.img&lt;/code&gt; 文件，尝试恢复其中的文档、照片等。&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;第七步：格式化重新使用&lt;/h3&gt;
&lt;p&gt;如果数据已经备份完毕，或者数据不重要，那么格式化是让 U 盘重获新生的最彻底方法。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;修复命令：&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;diskutil eraseDisk ExFAT &quot;MyUSB&quot; /dev/disk4
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里的几个要点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ExFAT&lt;/strong&gt; 是我们推荐的格式。Mac 和 Windows 都能原生读写，且支持大于 4GB 的单个文件，是目前跨平台 U 盘的最佳选择。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;注意路径是 &lt;code&gt;/dev/disk4&lt;/code&gt;（整个磁盘）&lt;/strong&gt;，而不是 &lt;code&gt;/dev/disk4s2&lt;/code&gt;（单个分区）。因为分区表本身可能也有问题，从头重建整个磁盘的分区结构更干净。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&quot;MyUSB&quot;&lt;/code&gt; 是你给 U 盘起的新名字，可以自定义。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;如果格式化过程中卡住怎么办？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;有时候格式化会长时间停留在某一百分比（比如 20% 不动超过 10 分钟），这通常说明闪存中存在物理坏块。此时：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;按 &lt;code&gt;Ctrl+C&lt;/code&gt; 强制中断当前命令&lt;/li&gt;
&lt;li&gt;执行 &lt;code&gt;diskutil eject /dev/disk4&lt;/code&gt;，安全弹出 U 盘&lt;/li&gt;
&lt;li&gt;重新插入 U 盘后，可以尝试更彻底的擦除：&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 零填充（彻底擦除并标记坏块，非常耗时）
diskutil zeroDisk /dev/disk4
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;或者强制格式化：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;diskutil eraseDisk force ExFAT &quot;MyUSB&quot; /dev/disk4
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;force&lt;/code&gt; 参数会跳过某些检查，直接写入新的分区表和文件系统。&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;第八步：判断硬件是否报废&lt;/h3&gt;
&lt;p&gt;经过以上所有步骤后，如果你的 U 盘：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;格式化最终成功，且之后能正常使用 → &lt;strong&gt;问题已解决&lt;/strong&gt;，继续愉快地使用吧。&lt;/li&gt;
&lt;li&gt;格式化反复失败，或刚修好不久又出现同样的问题 → &lt;strong&gt;U 盘可能存在物理损坏&lt;/strong&gt;（闪存颗粒老化、主控芯片不稳定等）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;对于后一种情况，我们的建议是：&lt;strong&gt;停止使用，直接更换&lt;/strong&gt;。U 盘本身不贵，但其中数据的价值无法估量。一颗已经出现过物理级故障的闪存芯片，就像有过裂缝的杯子，你不知道它下一次会在什么时候彻底崩坏。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;关键概念解释&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;引导扇区（Boot Sector）损坏意味着什么？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;FAT 文件系统的第一个扇区被称为引导扇区（Boot Sector），它存储着整个分区的&quot;地图信息&quot;：分区总大小、每个簇的大小、FAT 表的位置和大小、数据区的起始位置等。当这个区域损坏时（如本例中的 &lt;code&gt;Invalid BS_jmpBoot&lt;/code&gt;），操作系统就像一个没有地图的探险者——它知道这里有一块地，但完全不知道该从哪里走。这就是为什么 &lt;code&gt;diskutil info&lt;/code&gt; 会显示 &lt;code&gt;Volume Total Space: 0 B&lt;/code&gt;，也是为什么 &lt;code&gt;fsck_msdos&lt;/code&gt; 无法修复——修复工具自己也需要先读这张&quot;地图&quot;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;为什么 Mac 对 NTFS 支持不佳？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;macOS 对 NTFS（Windows 的默认文件系统）的原生支持是&lt;strong&gt;只读且不完整&lt;/strong&gt;的。苹果没有购买 NTFS 的完整写入授权，因此内置驱动在处理 NTFS 分区时经常不稳定，尤其当分区已经存在轻微损坏时，Mac 会比 Windows 更先表现出拒绝挂载的行为。如果你的 U 盘需要在 Mac 和 Windows 之间频繁交换使用，&lt;strong&gt;强烈建议格式化为 ExFAT&lt;/strong&gt;，这是两大系统都能完美支持的格式。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;只读挂载在数据恢复中的意义&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在数据恢复领域有一个铁律：&lt;strong&gt;任何写入操作都可能覆盖可恢复的数据&lt;/strong&gt;。即使是一次看似无害的&quot;挂载&quot;操作，系统也可能向磁盘写入日志、索引或其他元数据。只读模式从根本上杜绝了这种风险，是安全浏览损坏磁盘、抢救最后一批文件的最佳实践。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;完整命令速查表&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# ============================================
# 诊断命令
# ============================================

# 查看所有磁盘及分区
diskutil list

# 查看指定分区的详细信息
diskutil info /dev/disk4s2

# ============================================
# 修复命令
# ============================================

# 手动挂载分区
diskutil mount /dev/disk4s2

# 以只读模式挂载（数据抢救）
diskutil mount readOnly /dev/disk4s2

# 修复 FAT32 / ExFAT 文件系统
sudo fsck_msdos -y /dev/rdisk4s2

# 修复 APFS 文件系统
diskutil repairVolume /dev/disk4s2

# 修复 HFS+ 磁盘
diskutil repairDisk /dev/disk4

# 创建磁盘镜像（底层数据抢救）
sudo dd if=/dev/disk4s2 of=~/Desktop/usb_backup.img bs=1m

# 格式化为 ExFAT（推荐）
diskutil eraseDisk ExFAT &quot;MyUSB&quot; /dev/disk4

# 零填充彻底擦除（耗时较长，可标记坏块）
diskutil zeroDisk /dev/disk4

# 强制格式化（跳过错误检查）
diskutil eraseDisk force ExFAT &quot;MyUSB&quot; /dev/disk4

# 安全弹出设备
diskutil eject /dev/disk4
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;再次提醒&lt;/strong&gt;：以上所有 &lt;code&gt;/dev/disk4&lt;/code&gt; 和 &lt;code&gt;/dev/disk4s2&lt;/code&gt; 仅为示例，请务必根据你本机 &lt;code&gt;diskutil list&lt;/code&gt; 的输出替换为实际的设备标识符。&lt;strong&gt;操作错误的磁盘可能导致数据丢失！&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2&gt;预防措施建议&lt;/h2&gt;
&lt;p&gt;最后，我们想分享三个简单但极有效的习惯，能最大程度避免你再次遇到类似困境：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;安全弹出是底线&lt;/strong&gt;：每次使用完 U 盘后，务必在 Finder 中点击旁边的&quot;推出&quot;图标，或通过右键菜单选择&quot;推出&quot;。直接拔出正在读写的 U 盘，是文件系统损坏的头号元凶。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;跨平台请选 ExFAT&lt;/strong&gt;：如果你的 U 盘需要在 Mac 和 Windows 之间频繁交换文件，格式化为 ExFAT 能避免大量兼容性 headaches。NTFS 在 Mac 上不稳定，而 APFS/HFS+ Windows 无法原生读取。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;遵循 3-2-1 备份原则&lt;/strong&gt;：对于重要数据，始终保持 &lt;strong&gt;3 份副本&lt;/strong&gt;，使用 &lt;strong&gt;2 种不同介质&lt;/strong&gt;（如电脑硬盘 + U 盘 + 云盘），其中 &lt;strong&gt;1 份存放在异地&lt;/strong&gt;。U 盘是便携工具，不是保险箱，任何 U 盘都可能在某一天突然罢工。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;希望这篇指南能帮你顺利解决问题。U 盘无法读取虽然令人头疼，但只要按照步骤来，大多数情况下数据都是可以抢救回来的。记住最关键的要点：&lt;strong&gt;先诊断、再备份、最后修复&lt;/strong&gt;，切勿在数据尚未安全之前就急于格式化。&lt;/p&gt;</content:encoded><h:img src="undefined"/><enclosure url="undefined"/></item><item><title>从零开始：在 VS Code 终端部署 Claude Code + Kimi API 完整指南</title><link>https://mokiia1107.pages.dev/blog/blog8</link><guid isPermaLink="true">https://mokiia1107.pages.dev/blog/blog8</guid><description>Powered by Kimi 2.6 Agent. AI may make mistakes, double check before execute.</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Aiming For&lt;/strong&gt;：Macintosh OS、VS Code&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Final Result&lt;/strong&gt;：在 VS Code 集成终端中运行 &lt;code&gt;claude&lt;/code&gt; 命令，启动 Claude Code 界面，底层调用 Kimi k2.6 模型，享受 Claude Code 的交互体验 + Kimi 的代码生成能力&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2&gt;目录&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#part-1-%E6%96%B9%E6%A1%88%E6%A6%82%E8%BF%B0&quot;&gt;方案概述：Claude Code + CC Switch + Kimi API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#part-2-%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C&quot;&gt;准备工作：打开 VS Code 集成终端&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#part-3-%E7%AC%AC%E4%B8%80%E6%AD%A5%E5%AE%89%E8%A3%85-homebrew&quot;&gt;第一步：安装 Homebrew&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#part-4-%E7%AC%AC%E4%BA%8C%E6%AD%A5%E5%AE%89%E8%A3%85-claude-code&quot;&gt;第二步：安装 Claude Code（Anthropic 官方 CLI）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#part-5-%E7%AC%AC%E4%B8%89%E6%AD%A5%E5%AE%89%E8%A3%85-cc-switch&quot;&gt;第三步：安装 CC Switch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#part-6-%E7%AC%AC%E5%9B%9B%E6%AD%A5%E6%B3%A8%E5%86%8C-kimi-%E8%B4%A6%E5%8F%B7%E5%B9%B6%E8%8E%B7%E5%8F%96-api-key&quot;&gt;第四步：注册 Kimi 账号并获取 API Key&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#part-7-%E7%AC%AC%E4%BA%94%E6%AD%A5%E5%9C%A8-cc-switch-%E4%B8%AD%E9%85%8D%E7%BD%AE-kimi-%E6%8F%90%E4%BE%9B%E5%95%86&quot;&gt;第五步：在 CC Switch 中配置 Kimi 提供商&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#part-8-%E7%AC%AC%E5%85%AD%E6%AD%A5%E5%9C%A8-vs-code-%E7%BB%88%E7%AB%AF%E4%B8%AD%E5%90%AF%E5%8A%A8%E5%92%8C%E4%BD%BF%E7%94%A8&quot;&gt;第六步：在 VS Code 终端中启动和使用&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#part-9-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E9%80%9F%E6%9F%A5%E4%B8%8E%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98&quot;&gt;常用命令速查与常见问题&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2&gt;Part 1: 方案概述&lt;/h2&gt;
&lt;h3&gt;这个方案是什么？&lt;/h3&gt;
&lt;p&gt;本教程的核心思路是：&lt;/p&gt;
&lt;p&gt;| 组件 | 作用 | 本质 |
|------|------|------|
| &lt;strong&gt;Claude Code&lt;/strong&gt; | Anthropic 官方的终端 AI 编程助手，提供交互界面和代码操作功能 | 交互界面 |
| &lt;strong&gt;CC Switch&lt;/strong&gt; | 一个开源桌面工具，帮你切换 Claude Code 连接的 AI 模型后端 | 图形化设置工具 |
| &lt;strong&gt;Kimi API&lt;/strong&gt; | 月之暗面（Moonshot AI）提供的大模型服务 | 实际提供服务的后端 |&lt;/p&gt;
&lt;p&gt;简单说：&lt;strong&gt;Claude Code 是外壳和操作界面，Kimi 是大脑&lt;/strong&gt;。通过 CC Switch 这个&quot;切换器&quot;，你可以让 Claude Code 的界面调用 Kimi 的模型能力，而不是 Anthropic 官方的 Claude 模型。&lt;/p&gt;
&lt;h3&gt;为什么要这样搭配？&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Claude Code 的交互体验非常出色&lt;/strong&gt;：文件编辑、命令执行、代码审查等操作流畅&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kimi k2.6 代码能力强大&lt;/strong&gt;：月之暗面专门优化的代码模型，长程代码编写能力强，国内订阅方便&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CC Switch 让切换无痛&lt;/strong&gt;：不需要手动改配置文件，图形界面一键切换提供商&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;你最终看到的效果&lt;/h3&gt;
&lt;p&gt;在终端中运行 &lt;code&gt;claude&lt;/code&gt; 后，你会看到 Claude Code 的欢迎界面，底部状态栏显示：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kimi-k2.6 • API Usage Billing
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这表示你正在使用 Claude Code 的界面，但后端连接的是 Kimi k2.6 模型。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;Part 2: 准备工作&lt;/h2&gt;
&lt;h3&gt;确认你的环境&lt;/h3&gt;
&lt;p&gt;| 条件 | 要求 | 检查方式 |
|------|------|----------|
| 操作系统 | &lt;strong&gt;macOS 12 (Monterey) 或更高版本&lt;/strong&gt; | 点击屏幕左上角苹果图标 → &quot;关于本机&quot; |
| VS Code | 已安装 | 在&quot;启动台&quot;中搜索 &quot;Visual Studio Code&quot; |
| 网络 | 能访问 Kimi 和 GitHub | 打开浏览器访问 &lt;a href=&quot;https://kimi.com&quot;&gt;kimi.com&lt;/a&gt; |
| 费用 | 需要 Kimi 会员订阅 | 详见 Part 6 |&lt;/p&gt;
&lt;h3&gt;打开 VS Code 集成终端&lt;/h3&gt;
&lt;p&gt;本教程的所有终端命令都在 &lt;strong&gt;VS Code 集成终端&lt;/strong&gt; 中执行：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;打开 VS Code&lt;/li&gt;
&lt;li&gt;点击顶部菜单栏 → &lt;code&gt;Terminal&lt;/code&gt;（终端）→ &lt;code&gt;New Terminal&lt;/code&gt;（新建终端）&lt;/li&gt;
&lt;li&gt;窗口底部会出现终端面板，显示类似以下的提示符：&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;yourname@MacBook-Pro ~ %
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h2&gt;Part 3: 第一步——安装 Homebrew&lt;/h2&gt;
&lt;h3&gt;什么是 Homebrew？&lt;/h3&gt;
&lt;p&gt;Homebrew 是 macOS 上最流行的&lt;strong&gt;包管理器&lt;/strong&gt;。你可以把它理解为一个命令行版的 App Store，专门用来安装开发工具。后续的 Claude Code、CC Switch 都需要通过它来安装。&lt;/p&gt;
&lt;h3&gt;安装命令&lt;/h3&gt;
&lt;p&gt;将以下命令完整复制，粘贴到 VS Code 终端中，按回车执行：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;/bin/bash -c &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;安装过程说明&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;终端会提示你输入 Mac 的&lt;strong&gt;开机密码&lt;/strong&gt;（输入时不会显示任何字符，这是正常的），输入后按回车&lt;/li&gt;
&lt;li&gt;脚本会自动下载并安装 Homebrew，这个过程通常需要 &lt;strong&gt;5-15 分钟&lt;/strong&gt;，取决于你的网络速度&lt;/li&gt;
&lt;li&gt;安装完成后，终端会显示 &lt;code&gt;Installation successful!&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;验证安装&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;brew --version
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果显示类似 &lt;code&gt;Homebrew 4.x.x&lt;/code&gt; 的版本号，说明安装成功。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;常见问题&lt;/strong&gt;：如果提示 &lt;code&gt;command not found: brew&lt;/code&gt;，关闭当前终端重新打开一个新的 VS Code 终端即可。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2&gt;Part 4: 第二步——安装 Claude Code（Anthropic 官方 CLI）&lt;/h2&gt;
&lt;h3&gt;什么是 Claude Code？&lt;/h3&gt;
&lt;p&gt;Claude Code 是 Anthropic 公司推出的终端 AI 编程助手。它可以帮你：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;编写和修改代码&lt;/li&gt;
&lt;li&gt;理解项目结构&lt;/li&gt;
&lt;li&gt;执行终端命令&lt;/li&gt;
&lt;li&gt;搜索网页获取信息&lt;/li&gt;
&lt;li&gt;自主完成多步骤开发任务&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我们要使用的就是它的&lt;strong&gt;界面和操作体验&lt;/strong&gt;，但通过 CC Switch 把背后的 AI 模型换成 Kimi，这将帮助用户使用更稳定且便捷的服务。&lt;/p&gt;
&lt;h3&gt;安装方式（macOS 推荐用 Homebrew）&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;brew install claude-code
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;备选方式&lt;/strong&gt;（如果 Homebrew 安装失败）：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npm install -g @anthropic-ai/claude-code
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;验证安装&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;claude --version
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果显示版本号（如 &lt;code&gt;Claude Code x.x.x&lt;/code&gt;），说明安装成功。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;Part 5: 第三步——安装 CC Switch&lt;/h2&gt;
&lt;h3&gt;什么是 CC Switch？&lt;/h3&gt;
&lt;p&gt;CC Switch 是一个&lt;strong&gt;开源的桌面管理工具&lt;/strong&gt;，专门用来管理 Claude Code、Codex、Gemini CLI 等 AI 编程助手的 API 提供商配置。它有 80,000+ GitHub Stars，是这个领域最流行的配置工具。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;它能帮你做什么&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不用手动改配置文件，图形界面一键切换 AI 提供商&lt;/li&gt;
&lt;li&gt;管理多个 API Key（Kimi、Anthropic、OpenAI 等）&lt;/li&gt;
&lt;li&gt;系统托盘快速切换，无需打开完整界面&lt;/li&gt;
&lt;li&gt;内置 50+ 提供商预设，包括 Kimi&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;安装 CC Switch（macOS）&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;方式一：Homebrew（推荐）&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;brew tap farion1231/ccswitch
brew install --cask cc-switch
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;方式二：手动下载&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;访问 CC Switch 官网 &lt;a href=&quot;https://ccswitch.io&quot;&gt;ccswitch.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;或访问 GitHub Releases 页面：&lt;a href=&quot;https://github.com/farion1231/cc-switch/releases&quot;&gt;github.com/farion1231/cc-switch/releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;下载 &lt;code&gt;CC-Switch-v{版本号}-macOS.dmg&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;打开 DMG 文件，将 &lt;code&gt;CC Switch.app&lt;/code&gt; 拖动到「应用程序」文件夹&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：CC Switch 已通过 Apple 代码签名和公证，可直接打开，无需额外安全设置。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;启动 CC Switch&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;在「启动台」或「应用程序」文件夹中找到 &lt;strong&gt;CC Switch&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;双击打开&lt;/li&gt;
&lt;li&gt;首次启动时，你会看到如下界面：&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;┌─────────────────────────────────────────────────────┐
│  CC Switch                                          │
│                                                     │
│  ┌──────────┐ ┌──────────┐ ┌───────┐ ┌──────────┐   │
│  │ ☀ Claude │ │ ✱ Kimi   │ │ □ ... │ │ ...      │   │
│  └──────────┘ └──────────┘ └───────┘ └──────────┘   │
│                                                     │
│  ┌─────────────────────────────────────────────────┐│
│  │  Claude Official                                ││
│  │  https://www.anthropic.com/claude-code          ││
│  └─────────────────────────────────────────────────┘│
│                                                     │
│  ┌─────────────────────────────────────────────────┐│
│  │  Kimi                                           ││
│  │  https://platform.moonshot.cn/console           ││
│  │  5小时: 0%  7天: 3%                              ││
│  └─────────────────────────────────────────────────┘│
│                                                     │
└─────────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h2&gt;Part 6: 第四步——注册 Kimi 账号并获取 API Key&lt;/h2&gt;
&lt;h3&gt;6.1 注册 Kimi 账号&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;打开浏览器，访问 &lt;a href=&quot;https://kimi.com&quot;&gt;kimi.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;点击页面右上角的 &lt;strong&gt;&quot;注册/登录&quot;&lt;/strong&gt; 按钮&lt;/li&gt;
&lt;li&gt;使用手机号或邮箱注册账号&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;6.2 订阅 Kimi Code 会员&lt;/h3&gt;
&lt;p&gt;Kimi Code 是 Kimi 会员计划中专为开发者提供的服务：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;访问 &lt;a href=&quot;https://kimi.com/membership/pricing&quot;&gt;kimi.com/membership/pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;选择适合你的会员档位：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Andante&lt;/strong&gt;：日常使用&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Moderato&lt;/strong&gt;：效率升级（推荐）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Allegretto&lt;/strong&gt;：专业优选&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Allegro&lt;/strong&gt;：全能尊享&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;完成支付订阅&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;6.3 获取 API Key&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;访问 Kimi Code 控制台：&lt;a href=&quot;https://kimi.com/code/console&quot;&gt;kimi.com/code/console&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;或访问 Kimi 开放平台：&lt;a href=&quot;https://platform.moonshot.cn&quot;&gt;platform.moonshot.cn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;使用你的 Kimi 账号登录&lt;/li&gt;
&lt;li&gt;进入 &lt;strong&gt;&quot;API Key 管理&quot;&lt;/strong&gt; 或控制台页面&lt;/li&gt;
&lt;li&gt;点击 &lt;strong&gt;&quot;新建 API Key&quot;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;为 API Key 起一个名字（如 &quot;My MacBook&quot;），然后创建&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;立即复制并保存&lt;/strong&gt;生成的 API Key（以 &lt;code&gt;sk-kimi-&lt;/code&gt; 或 &lt;code&gt;sk-&lt;/code&gt; 开头），因为它只会显示一次&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ 重要安全提示&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;API Key 相当于你的账户密码，&lt;strong&gt;不要分享给他人&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;不要将其上传到 GitHub 等公开平台&lt;/li&gt;
&lt;li&gt;如果泄露，立即在控制台&quot;废弃&quot;该 Key 并重新创建&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h3&gt;6.4 充值（如不按量计费）&lt;/h3&gt;
&lt;p&gt;如果你不使用会员订阅，也可以在 Kimi 开放平台充值按量调用：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在 &lt;a href=&quot;https://platform.moonshot.cn&quot;&gt;platform.moonshot.cn&lt;/a&gt; 控制台中找到 &lt;strong&gt;&quot;账户充值&quot;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;选择充值金额并完成支付&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2&gt;Part 7: 第五步——在 CC Switch 中配置 Kimi 提供商&lt;/h2&gt;
&lt;p&gt;这是整个部署的&lt;strong&gt;核心步骤&lt;/strong&gt;。通过 CC Switch，你可以轻松地将 Claude Code 的 API 切换到 Kimi。&lt;/p&gt;
&lt;h3&gt;7.1 添加 Kimi 提供商&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;打开 &lt;strong&gt;CC Switch&lt;/strong&gt; 应用&lt;/li&gt;
&lt;li&gt;确认顶部的 &lt;strong&gt;Claude&lt;/strong&gt; 标签页被选中（因为我们要配置的是 Claude Code 的提供商）&lt;/li&gt;
&lt;li&gt;在提供商列表区域，点击 &lt;strong&gt;&quot;+&quot;&lt;/strong&gt;（添加提供商）按钮&lt;/li&gt;
&lt;li&gt;在弹出的提供商预设列表中，找到并选择 &lt;strong&gt;&quot;Kimi&quot;&lt;/strong&gt; 或 &lt;strong&gt;&quot;Kimi For Coding&quot;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;CC Switch 内置了 Kimi 的预设配置，你不需要手动填写 API 地址&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;7.2 填写 API Key&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;选择 Kimi 预设后，会弹出配置表单&lt;/li&gt;
&lt;li&gt;在 &lt;strong&gt;API Key&lt;/strong&gt; 字段中，粘贴你在 Part 6.3 中复制的 Key（以 &lt;code&gt;sk-kimi-&lt;/code&gt; 开头）&lt;/li&gt;
&lt;li&gt;其他字段保持默认即可：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Base URL&lt;/strong&gt;：&lt;code&gt;https://api.kimi.com/coding/&lt;/code&gt;（已由预设自动填写）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Model&lt;/strong&gt;：&lt;code&gt;kimi-for-coding&lt;/code&gt;（Kimi k2.6 的 API 内部标识符）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;点击 &lt;strong&gt;&quot;添加&quot;&lt;/strong&gt; 或 &lt;strong&gt;&quot;保存&quot;&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;7.3 启用 Kimi 提供商&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;添加成功后，你会在 CC Switch 的提供商列表中看到新添加的 &lt;strong&gt;Kimi&lt;/strong&gt; 卡片&lt;/li&gt;
&lt;li&gt;点击 Kimi 卡片，然后点击 &lt;strong&gt;&quot;启用&quot;&lt;/strong&gt; 按钮&lt;/li&gt;
&lt;li&gt;CC Switch 会自动修改 Claude Code 的配置文件，将其指向 Kimi 的 API&lt;/li&gt;
&lt;li&gt;如果显示 &lt;strong&gt;&quot;运行正常&quot;&lt;/strong&gt;（绿色提示），说明配置成功&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;7.4 验证切换结果&lt;/h3&gt;
&lt;p&gt;启用 Kimi 提供商后，CC Switch 界面会显示类似以下信息：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;┌──────────────────────────────────────────────────────────┐
│  Kimi                                                    │
│  https://platform.moonshot.cn/console                    │
│  3 分钟前                                                 │
│  5小时: 0% ◷4h52m    7天: 3% ◷19h52m                      │
└──────────────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;底部的使用率统计显示 CC Switch 已成功连接到 Kimi 的 API。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;Part 8: 第六步——在 VS Code 终端中启动和使用&lt;/h2&gt;
&lt;h3&gt;启动 Claude Code&lt;/h3&gt;
&lt;p&gt;在 VS Code 集成终端中，输入：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;claude
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;你会看到 Claude Code 的欢迎界面，注意底部状态栏显示：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kimi-k2.6 • API Usage Billing
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这表示：&lt;strong&gt;Claude Code 的界面 + Kimi k2.6 的模型&lt;/strong&gt;。配置成功！&lt;/p&gt;
&lt;h3&gt;基础使用场景&lt;/h3&gt;
&lt;h4&gt;1. 代码生成&lt;/h4&gt;
&lt;p&gt;直接在 &lt;code&gt;&gt;&lt;/code&gt; 提示符后输入你的需求：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&gt; 写一个 Python 函数，计算斐波那契数列的前 n 项
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kimi k2.6 会生成代码并询问你是否要写入文件。&lt;/p&gt;
&lt;h4&gt;2. 代码编辑&lt;/h4&gt;
&lt;p&gt;告诉 Claude Code 修改当前目录下的某个文件：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&gt; 在 main.py 中添加错误处理逻辑
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;它会读取文件、规划修改方案，并在执行前让你确认。&lt;/p&gt;
&lt;h4&gt;3. 问答与代码解释&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;&gt; 解释这段代码的作用：[粘贴代码]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;或直接询问技术问题：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&gt; async/await 在 Python 中是怎么工作的？
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;4. 读取本地图片&lt;/h4&gt;
&lt;p&gt;你可以直接告诉它图片的本地路径，它会自动读取并分析：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&gt; 请分析这张图片中的代码问题：/Users/yourname/Desktop/screenshot.png
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：图片路径支持绝对路径（如 &lt;code&gt;/Users/yourname/Desktop/xxx.png&lt;/code&gt;）或相对路径（如 &lt;code&gt;./assets/image.png&lt;/code&gt;）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;5. 执行 Shell 命令&lt;/h4&gt;
&lt;p&gt;Claude Code 可以帮你执行终端命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&gt; 运行当前项目的测试
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;它会提议执行 &lt;code&gt;npm test&lt;/code&gt; 或 &lt;code&gt;pytest&lt;/code&gt; 等命令，并在执行前征得你的同意。&lt;/p&gt;
&lt;h3&gt;常用交互命令&lt;/h3&gt;
&lt;p&gt;在交互界面中，你可以使用以下特殊命令：&lt;/p&gt;
&lt;p&gt;| 命令 | 作用 |
|------|------|
| &lt;code&gt;/model&lt;/code&gt; | 查看或切换当前使用的模型 |
| &lt;code&gt;/login&lt;/code&gt; | 重新配置 API Key 和平台 |
| &lt;code&gt;/status&lt;/code&gt; | 查看当前连接状态和模型信息 |
| &lt;code&gt;/help&lt;/code&gt; | 显示帮助信息 |
| &lt;code&gt;?&lt;/code&gt; | 显示快捷键列表 |
| &lt;code&gt;Ctrl + C&lt;/code&gt; | 中断当前操作 |
| &lt;code&gt;/exit&lt;/code&gt; 或 &lt;code&gt;Ctrl + D&lt;/code&gt; | 退出 Claude Code |&lt;/p&gt;
&lt;h3&gt;在 VS Code 中的工作流建议&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;打开项目文件夹&lt;/strong&gt;：在 VS Code 中打开你的项目文件夹（&lt;code&gt;File&lt;/code&gt; → &lt;code&gt;Open Folder&lt;/code&gt;），这样 Claude Code 能访问项目中的所有文件&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;保持终端在底部&lt;/strong&gt;：将终端面板放在编辑器底部，方便随时查看和操作&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多终端切换&lt;/strong&gt;：点击终端面板右侧的 &lt;code&gt;+&lt;/code&gt; 号可以创建多个终端，一个运行 Claude Code，一个执行其他命令&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;代码自动应用&lt;/strong&gt;：当 Claude Code 生成代码修改时，它会在终端中显示差异（diff），你可以输入 &lt;code&gt;y&lt;/code&gt; 确认应用或 &lt;code&gt;n&lt;/code&gt; 拒绝&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2&gt;Part 9: 常用命令速查与常见问题&lt;/h2&gt;
&lt;h3&gt;命令速查表&lt;/h3&gt;
&lt;p&gt;| 场景 | 命令 |
|------|------|
| 启动 Claude Code | &lt;code&gt;claude&lt;/code&gt; |
| 查看 Claude Code 版本 | &lt;code&gt;claude --version&lt;/code&gt; |
| 查看当前模型 | &lt;code&gt;/model&lt;/code&gt; |
| 查看连接状态 | &lt;code&gt;/status&lt;/code&gt; |
| 重新配置 API | &lt;code&gt;/login&lt;/code&gt; |
| 显示帮助 | &lt;code&gt;/help&lt;/code&gt; |
| 退出程序 | &lt;code&gt;/exit&lt;/code&gt; 或 &lt;code&gt;Ctrl + D&lt;/code&gt; |
| 中断操作 | &lt;code&gt;Ctrl + C&lt;/code&gt; |
| 升级 Claude Code | &lt;code&gt;brew upgrade claude-code&lt;/code&gt; |
| 升级 CC Switch | &lt;code&gt;brew upgrade --cask cc-switch&lt;/code&gt; |&lt;/p&gt;
&lt;h3&gt;常见问题 FAQ&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Q: 运行 &lt;code&gt;claude&lt;/code&gt; 提示 &lt;code&gt;command not found: claude&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;关闭当前终端，重新打开一个新的 VS Code 终端&lt;/li&gt;
&lt;li&gt;确认安装成功：&lt;code&gt;brew list | grep claude-code&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;如果未安装，重新执行 &lt;code&gt;brew install claude-code&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Q: CC Switch 中 Kimi 显示&quot;连接失败&quot;或红色状态&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;确认你的 Kimi 会员订阅是否有效&lt;/li&gt;
&lt;li&gt;检查 API Key 是否输入正确（以 &lt;code&gt;sk-kimi-&lt;/code&gt; 开头）&lt;/li&gt;
&lt;li&gt;点击 Kimi 卡片旁的 &lt;strong&gt;刷新按钮&lt;/strong&gt; 重新测试连接&lt;/li&gt;
&lt;li&gt;确认网络可以访问 &lt;code&gt;api.kimi.com&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Q: Claude Code 启动后显示 &lt;code&gt;Anthropic&lt;/code&gt; 而不是 &lt;code&gt;kimi-k2.6&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;确认在 CC Switch 中已&lt;strong&gt;启用&lt;/strong&gt; Kimi 提供商（不只是添加）&lt;/li&gt;
&lt;li&gt;关闭 Claude Code（&lt;code&gt;Ctrl + D&lt;/code&gt;），然后重新启动&lt;/li&gt;
&lt;li&gt;检查 CC Switch 中 Claude 标签页顶部的提供商图标，Kimi 应该被高亮&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Q: 提示 &quot;API Error: 401 Invalid Authentication&quot;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在 &lt;a href=&quot;https://kimi.com/code/console&quot;&gt;kimi.com/code/console&lt;/a&gt; 确认 API Key 是否有效&lt;/li&gt;
&lt;li&gt;在 CC Switch 中删除 Kimi 提供商，重新添加并输入正确的 API Key&lt;/li&gt;
&lt;li&gt;确认使用的是 Kimi Code 平台签发的 Key（不是 Moonshot 开放平台的 Key）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Q: 如何切换回 Anthropic 官方的 Claude 模型？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A: 打开 CC Switch，在 Claude 标签页中点击 &lt;strong&gt;&quot;Claude Official&quot;&lt;/strong&gt; 卡片，然后点击 &lt;strong&gt;&quot;启用&quot;&lt;/strong&gt; 即可一键切换回来。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: macOS 首次运行 &lt;code&gt;claude&lt;/code&gt; 命令很慢&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A: 这是 macOS Gatekeeper 安全机制的正常表现。在「系统设置 → 隐私与安全性 → 开发者工具」中添加你的终端应用后，后续启动会快很多。&lt;/p&gt;
&lt;h3&gt;参考资源&lt;/h3&gt;
&lt;p&gt;| 资源 | 链接 |
|------|------|
| CC Switch 官网 | &lt;a href=&quot;https://ccswitch.io&quot;&gt;ccswitch.io&lt;/a&gt; |
| CC Switch GitHub | &lt;a href=&quot;https://github.com/farion1231/cc-switch&quot;&gt;github.com/farion1231/cc-switch&lt;/a&gt; |
| Kimi Code 官网 | &lt;a href=&quot;https://kimi.com/code&quot;&gt;kimi.com/code&lt;/a&gt; |
| Kimi Code 文档 | &lt;a href=&quot;https://kimi.com/code/docs/&quot;&gt;kimi.com/code/docs&lt;/a&gt; |
| Kimi 控制台（获取 API Key） | &lt;a href=&quot;https://kimi.com/code/console&quot;&gt;kimi.com/code/console&lt;/a&gt; |
| Kimi 会员定价 | &lt;a href=&quot;https://kimi.com/membership/pricing&quot;&gt;kimi.com/membership/pricing&lt;/a&gt; |
| Claude Code 官方 | &lt;a href=&quot;https://www.anthropic.com/claude-code&quot;&gt;anthropic.com/claude-code&lt;/a&gt; |&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;恭喜你完成了从零开始的全部部署！让我们回顾一下你做了什么：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;✅ 安装了 &lt;strong&gt;Homebrew&lt;/strong&gt; —— macOS 的包管理器&lt;/li&gt;
&lt;li&gt;✅ 安装了 &lt;strong&gt;Claude Code&lt;/strong&gt; —— Anthropic 官方的终端 AI 编程助手&lt;/li&gt;
&lt;li&gt;✅ 安装了 &lt;strong&gt;CC Switch&lt;/strong&gt; —— 管理 AI 工具 API 提供商的桌面工具&lt;/li&gt;
&lt;li&gt;✅ 注册了 &lt;strong&gt;Kimi 账号&lt;/strong&gt; 并订阅会员&lt;/li&gt;
&lt;li&gt;✅ 获取并配置了 &lt;strong&gt;API Key&lt;/strong&gt; 到 CC Switch&lt;/li&gt;
&lt;li&gt;✅ 在 &lt;strong&gt;VS Code 集成终端&lt;/strong&gt; 中启动并使用&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;你现在拥有了一个强大的 AI 编程环境：&lt;strong&gt;Claude Code 的流畅交互体验 + Kimi k2.6 的强大代码能力&lt;/strong&gt;。所有操作都在 VS Code 内完成，无需切换窗口。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;本文最后更新于 2026-05-25。Claude Code、CC Switch 和 Kimi 都在快速迭代中，部分界面和命令可能随版本更新而调整，请以官方文档为准。&lt;/em&gt;&lt;/p&gt;</content:encoded><h:img src="undefined"/><enclosure url="undefined"/></item><item><title>词源浅析——商店、仓库与杂志</title><link>https://mokiia1107.pages.dev/blog/blog7</link><guid isPermaLink="true">https://mokiia1107.pages.dev/blog/blog7</guid><description>Etymological Insight - Stores, Warehouses and Magazines</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Magazine /mæɡəˈziːn/——杂志 [英]&lt;/p&gt;
&lt;p&gt;Magasin /maɡazɛ̃/——商店 [法]&lt;/p&gt;
&lt;p&gt;Магазин /məɡɐˈzʲin/——商店 [俄]&lt;/p&gt;
&lt;p&gt;初学俄语见到 Магазин 时便会自然联想到这是否是一个英语的借词（正如 Супермаркет-Supermarket 一样），但对应含义却是 “商店”。为此，不免联想到俄语中同样存在的大量法语借词——法语也是沙俄贵族的通用语言。顺着“商店”这一含义，轻易地找到法语中的 Magasin。&lt;/p&gt;
&lt;p&gt;若继续向前推进，沿着意大利语的 magazzino 直到阿拉伯语的 مخازن (makhāzin)，才能发现该词作为 “仓库” 一词的复数形式，指代的是任何可以储存、存放东西的场所。从构词法角度来看，阿语的三字母字根 خ-ز-ن (kh-z-n) 本意即为“储存”或“堆积”的动作形式，而词首的 م (m) 通常来表示进行某种动作的场所（出现在词首的连写形式即为 “مـ” ）。因此，مخازن (makhāzin) 的单数形式 مخزن (makhzan) 便可直译为 “储藏的场所”。以此为基础，将这种储藏场所附加予交易属性，便构成了商店的雏形——储藏+售卖。&lt;/p&gt;
&lt;p&gt;在英语中，Magazine 也来源于法语，并在大约16世纪于英语中继续承担“仓库”的含义（而在军事中会使用 Magazine 指代弹匣便是这一原因，即小的火药库）。但一本刊物的出现改变了这个仓库的现实意义：&lt;/p&gt;
&lt;p&gt;阅读分散于不同报纸上的各类文摘与短讯总是显得麻烦且费心（比如制作各类手帐与剪报），每日一报的形势也让各类废纸堆积如山。大约18世纪初，爱德华·卡夫创办的刊物 “The Gentleman’s Magazine” 开创性地将各类有趣的文段、诗歌、资讯集合到一起并统一出版，并前卫地利用 Magazine 一词描述这一刊物——即堆满信息的仓库。&lt;/p&gt;
&lt;p&gt;这种由现实含义到抽象隐喻的转变大获成功，此后英语中几乎只用 Magazine 来指代集合了各种记述一样的出版物——即和制汉字 “雑誌（ざっし）”，而把 “商店” 的含义交给了来自于拉丁语的 Store。而在另外一边，还记得 مخازن (makhāzin) 的单数形式 مخزن (makhzan) 吗？它由西班牙语进入英语时变为了 Mizen，意为 “后桅杆” ——因为水手们认为那是&lt;strong&gt;存放&lt;/strong&gt;备用索具的地方。&lt;/p&gt;
&lt;p&gt;语言的演化总是携带着固有的基因：产生于沙漠中描述“堆积”动作的字根，随着在驼背上的商队，跨越地中海的战舰与飞舞着油墨的印刷机分散在高卢的橱窗、莫斯科的杂货店与康河边上某处杂志社中。当我们今天重新在键盘上打出这些词的时候，本质上也是在重写着这一自文明开始就储存着各类密码因子的 Magazine ——每一个词语，都是一个活着的仓库。&lt;/p&gt;</content:encoded><h:img src="/_astro/Gemini_Generated_Image_wyox4kwyox4kwyox.DO47cDly.png"/><enclosure url="/_astro/Gemini_Generated_Image_wyox4kwyox4kwyox.DO47cDly.png"/></item><item><title>‘橘色、头骨与正发生的事’</title><link>https://mokiia1107.pages.dev/blog/blog6</link><guid isPermaLink="true">https://mokiia1107.pages.dev/blog/blog6</guid><description>Mandarin, skull, and what is happening now</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;大约是在中学一年级、又或者是二年级，不知道是突然浮现在脑海中的、或是由梦中来的一个场景，大约是下午：读书+咖啡+夕阳，还有一些由简单几何体组成的建筑。所有的颜色都是极其温暖却柔和的橘色，透过某种柔光滤镜进行着略微的浮变。&lt;/p&gt;
&lt;p&gt;这是一定可以实现的梦，而非某种空想——是只要愿意做到就一定可以实现的愿景。但那梦却禁止我用某种有意识的方式实现它，只希望我在某个无意识、不经意的时刻遇见它，而当我意识到处于梦中的那一刻，梦便自顾地终结了。&lt;/p&gt;
&lt;p&gt;另一个梦则来自随意 (Voluntary) 的捏造，原料则是现实的规则与个人的幻想，正如利用头骨做面部复原一样，将以幻想形成的肌肉、皮肤与结缔组织一一按顺序黏合到规则的骨头上便可以见到它的样貌。可是真正随意的部分只是规则之外的东西，而那骨骼绝非是可以被改变的，不过没什么好急迫的，因为我能想象出那梦的样貌。&lt;/p&gt;
&lt;p&gt;而直到前不久——大约是八年后的现在——新的梦才继续出现。作为完完全全的构造主义  (Structuralism) 梦境，能看到的只有一些线条、图形与颜色，而令人平静的格式塔样景观却并未出现。“这是毫无道理的”，这样告诉自己。但这是已经发生在现实 (wirklich) 中的事情，它必然合乎某种理性(Vernünftig)。“事实就是这样”，这是没有办法的事情，无论如何它都必然存在着。&lt;/p&gt;
&lt;p&gt;“Stand by me, but I bet that I’ll never be back…”
“Stand by me, but I bet that I’ll never be back…”，「春嵐」的歌词这样在新的梦中、世界的中心继续着，呼唤着试图对梦作出解答的声音。&lt;/p&gt;
&lt;p&gt;而现在能回忆起的，大约只有橘色、头骨与正在发生的事情&lt;/p&gt;</content:encoded><h:img src="undefined"/><enclosure url="undefined"/></item><item><title>‘魔女宅急便——去往能看到海的街道’</title><link>https://mokiia1107.pages.dev/blog/blog5</link><guid isPermaLink="true">https://mokiia1107.pages.dev/blog/blog5</guid><description>Kiki&apos;s Delivery Service - To the town with a view of the sea</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;喜欢是需要理由的，但直到我们意识到这个理由需要存在之前，我们都可以继续喜欢下去——我们是否可以毫无理由地处于幸福中？&lt;/p&gt;
&lt;p&gt;“那么你有什么特长呢？”，修行即将结束的魔女这样问琪琪&lt;/p&gt;
&lt;p&gt;“除了飞行，我什么都不会”，琪琪这样说&lt;/p&gt;
&lt;p&gt;“真傲慢，还有那只猫，也令人讨厌”，琪琪的黑猫吉吉伸出舌头，“噗～”&lt;/p&gt;
&lt;p&gt;飞行是一件伴随着铃铛响声、收音机的歌声还有天气预报的事情，琪琪虽然飞得不好，但她已经迫不及待地向往着飞向某个地方了——带着妈妈给的扫帚——直到她来到了能看得到海的街道：&lt;/p&gt;
&lt;p&gt;“哎！你的东西忘拿了！”，面包店的索娜姐这样对着推着婴儿车走远的人喊道&lt;/p&gt;
&lt;p&gt;“我或许能帮你送过去”，琪琪跨上扫帚飞到空中，为索娜姐带回了一封感谢信&lt;/p&gt;
&lt;p&gt;这之后，刻着使命必达的宅急便牌子挂到了面包房的橱窗上，克拉克城的高空多出了一个穿着黑色衣服，总是带着一只黑猫的魔女。&lt;/p&gt;
&lt;p&gt;“请你在这里签收”，琪琪总是这样说。&lt;/p&gt;
&lt;p&gt;有一天，名叫蜻蜓的男孩带着琪琪骑着用螺旋桨驱动的自行车，带她来到了即将试航的飞艇面前：螺旋桨呼呼地转着，琪琪觉得好刺激，大家就算没有魔法也拥有飞翔的力量。&lt;/p&gt;
&lt;p&gt;那琪琪有什么特长呢？&lt;/p&gt;
&lt;p&gt;“除了飞行，我什么都不会”，琪琪这样想。吉吉只是看着她，什么也没说&lt;/p&gt;
&lt;p&gt;当存在异化为功能，当幸福被衡量，当我们不得不为喜欢找到一个普世化的价值——以支持它们的合法性。因此我们首先将幸福变现为理由，将劳动变现为物质。直到在不远的一天，我们不得不发现：奇迹与魔法并不独属于自己，而是普惠的、世俗的、大众的——直至这种本真性的丧失。&lt;/p&gt;
&lt;p&gt;琪琪突然不会飞了：她握着扫帚，但熟悉的风并未出现。住在森林中的画家乌露丝拉告诉她，不妨停下来试试，直到遇到某件事情将灵感一下子激发出来，就像她遇到琪琪那时一样——将无意识的激情重新调动起来——将心回归原始吧。&lt;/p&gt;
&lt;p&gt;“快看！”，试航那天，阿美指着电视，“飞艇要被吹走了！”&lt;/p&gt;
&lt;p&gt;“飞艇快要被大风刮倒天上去了！只剩下一根固定的绳子了！大家能否拽住它呢！”，转播员这样说。琪琪在那位会做鲱鱼南瓜派的老妇人家中的电视上看到蜻蜓被吹上了天，他只能抓住那根绳子好让自己不掉下去。&lt;/p&gt;
&lt;p&gt;“抱歉！这个可以借用一下吗！”，琪琪拿过清洁工大叔手里的地板刷，使劲让自己周围出现一股风——正如她第一次起飞那样——腾空而起。当象征物被功能物替代后，琪琪便摆脱了对无意识激情的依赖——它是多么的不可靠啊——尽管代价是琪琪的心再也无法回归原始了，但她已经能稳稳拉住掉落的蜻蜓，一起迎接众人的掌声。&lt;/p&gt;
&lt;p&gt;我们曾追问：是否可以毫无理由地处于幸福中？我们当然可以毫无理由地继续下去，可是当我们的情绪本身变为彻底祛魅的符号，当无意识的激情变为完全的工具理性，我们便再也无法假装不知道：喜欢，是需要理由的——有知的增加，即痛苦的增加。&lt;/p&gt;
&lt;p&gt;吉吉已经不需要再对琪琪说什么了：琪琪已经能够自己找到下一个、能看得到海的街道了。&lt;/p&gt;</content:encoded><h:img src="undefined"/><enclosure url="undefined"/></item><item><title>‘GVS——例外的变迁’</title><link>https://mokiia1107.pages.dev/blog/blog4</link><guid isPermaLink="true">https://mokiia1107.pages.dev/blog/blog4</guid><description>GVS - Exceptional Changes</description><pubDate>Sat, 22 Nov 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;当我们用/iː/的发音念meat(/miːt/)时，可能会联想到为什么人们不会用同样的发音去拼读great(/ɡreɪt/)，若详细观察类似的拼写方式与其在单词中实际发音的方式，不难发现其多变性：&lt;/p&gt;
&lt;p&gt;great(/ɡreɪt/)—meat(/miːt/)&lt;/p&gt;
&lt;p&gt;room(/ruːm/)—flood(/flʌd/)&lt;/p&gt;
&lt;p&gt;soup(/suːp/)—house(/haʊs/)&lt;/p&gt;
&lt;p&gt;resume(/ˈrezjuːmeɪ/)—resume(/rɪˈzjuːm/)&lt;/p&gt;
&lt;p&gt;准确地说，在英语中的长元音似乎发生了某种变化，使得它们的发音位置移向了口腔的“更深处”——也就是元音音值的推移。在英语研究中，这种被称为 “元音大推移（Great Vowel Shift）” 的变动，是英语从中古英语过渡到早现代英语的核心语音转折。&lt;/p&gt;
&lt;p&gt;在 GVS 过程中，许多长元音的舌位被“抬高”，有些甚至变成双元音（为什么不试试读一读上面的单词呢？注意感受舌中部的位置变化）。这种差异化与15-16世纪的拼写标准化（尤其是印刷术引入与正字法的推行）共同作用：印刷术的普及让不同地区、不同方言的发音 “被锚定在某些拼写上”，同时拼写和发音可能来自不同的方言，从而进一步加剧了发音与拼写的脱节。&lt;/p&gt;
&lt;p&gt;但并不是所有长元音都遵循GVS的变化，正如前例中第一列单词：它们因拼读了特殊的辅音（例如双唇辅音 /m/、/p/等，它们被认为会阻碍某些元音音值的抬升）而保留了GVS前的发音——为我们理解长元音的链推提供了样本——我们或许可以得知某些单词较为原始的发音。额外地，部分外来词在GVS逐渐结束后加入到英语中，这些词进入英语时已经有成熟拼写或语音系统，它们未必经历当时大规模音系的连锁变动。&lt;/p&gt;
&lt;p&gt;语言作为人类信息的载体，并非是一个完美闭环的符号系统，而是嵌入在言语活动中的语言实践（language-games）——语言的意义来自于它的使用，而非抽象逻辑的完美规则。而GVS作为语言变迁的重大节点，恰是这一张力最生动、最真实的体现。&lt;/p&gt;</content:encoded><h:img src="undefined"/><enclosure url="undefined"/></item><item><title>‘Evangelion——在人生分界线处的选择’</title><link>https://mokiia1107.pages.dev/blog/blog3</link><guid isPermaLink="true">https://mokiia1107.pages.dev/blog/blog3</guid><description>Evangelion - The Choice at the Turning Point of Life</description><pubDate>Wed, 05 Nov 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;假如问我为何要为其他人推荐EVA，最好的答案可能是：它是为了回答“我将要向哪去”而创作的：&lt;/p&gt;
&lt;p&gt;神之子对于补完计划的抉择，决定了人类究竟以何种形态存在：&lt;/p&gt;
&lt;p&gt;他说：“大家都去死吧！...”&lt;/p&gt;
&lt;p&gt;又说：“...虽然这样的世界依旧存在隔阂与误解，但只有在那里，‘我’才是存在的”&lt;/p&gt;
&lt;p&gt;自我的世界是一切所感事实的总和，——“自我”即世界的界限，而不是它的一部分&lt;/p&gt;
&lt;p&gt;在LCL之海中我们到底是完全融入、理解了他人，还是将自我的边界无限扩大，将所有的“非我”同化为“自我”？&lt;/p&gt;
&lt;p&gt;自我不能凭空成立，自我必须以“他者”为界。正是他者的界限，痛苦才得以被体验——一道清晰的边界线——痛苦不会来源于世界之内。正因如此，我们才确信地具有独立的意志：我们无法除去他者世界之内的存在&lt;/p&gt;
&lt;p&gt;在不存在A.T. Field的世界里，我们的选择是：如何处理自我的世界——去远离界限，或是因它而存在——尤其是在人生分界线处，我们不得不做出回答&lt;/p&gt;
&lt;p&gt;因此，它逼着我们面对这最后一个问题：“我将要向怎样的世界出发”&lt;/p&gt;</content:encoded><h:img src="undefined"/><enclosure url="undefined"/></item><item><title>‘复数——基于群体的尊重’</title><link>https://mokiia1107.pages.dev/blog/blog2</link><guid isPermaLink="true">https://mokiia1107.pages.dev/blog/blog2</guid><description>Pluralism - Respect Based on Populations</description><pubDate>Tue, 04 Nov 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;在对各种语言的敬语体系考察中，不难发现如下有趣的现象：&lt;/p&gt;
&lt;p&gt;we（英文：我们）——尊称：我（指代“I”）&lt;/p&gt;
&lt;p&gt;vous（法文：你们）——敬称：您（指代“tu”）&lt;/p&gt;
&lt;p&gt;вы（俄文：你们）——敬称：您（指代“ты”）&lt;/p&gt;
&lt;p&gt;朕（中文：我们）——尊称：我（指代“我”）&lt;/p&gt;
&lt;p&gt;简而言之，它们利用某一种人称代词的复数形式表示尊敬，或可称其为“尊严复数“（pluralis majestatis/royal we）。这种语言现象跨越了多个语系，但使用同一套逻辑来表达尊敬的效果&lt;/p&gt;
&lt;p&gt;以英语中的royal we为例，最为人们熟知的短语应当是维多利亚女王的”we are not amused“：这种表达习惯是以犹太教的三位一体教义为背景，传入英国后被亨利二世首次使用，以用we表示君权神授下的”上帝和我“，并以此彰显皇家地位。&lt;/p&gt;
&lt;p&gt;当说话人想不外加任何冗余的词汇而意图强调身份的区别时，最好的做法是将演讲者与受话人分割开——要么自居高位，要么抬举对方——这便产生了基于某种特征划分群体的需求。在以三位一体为信仰基础的文化中，说话人最常采取的策略便是依赖君权神授的解释，将自身与神权分为一类，并以此将自身与受话人所属群体分隔开，这一点不约而同地也被中文的语言环境所采用。&lt;/p&gt;
&lt;p&gt;这也引申出一个概念：对说话人或受话人的敬意并不起源于该人自身，而是对对方所属身份的敬意——随之而来的是距离感，即一种由原始的畏惧心理所引发的感受——我们不希望与利害者过近。&lt;/p&gt;
&lt;p&gt;这种距离感带来的隐喻同样可观：你不止是一个人，而是某个群体权威的代表。反之，将自身置于某种神圣地位上时，也是在宣告：违背我等于抵抗我们所有人的意志，这或许是作为群体动物的天生反射——依赖群体的幻想来维持自身的生存，同时也在敬畏存在于群体中的、更宏大的秩序。&lt;/p&gt;</content:encoded><h:img src="undefined"/><enclosure url="undefined"/></item><item><title>沙耶之歌——不必要的存在</title><link>https://mokiia1107.pages.dev/blog/blog1</link><guid isPermaLink="true">https://mokiia1107.pages.dev/blog/blog1</guid><description>Saya no Uta - An Unnecessary Existence</description><pubDate>Mon, 03 Nov 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;在物种演化的过程中，最不必要的存在之一是文明的存在，而当人被剥离掉一切文明的框架后，我们到底是得到了更纯粹的情感，还是基于欲望的幻觉？&lt;/p&gt;
&lt;p&gt;人类的文明建立是以摒弃动物性本能的代价所建立的——“若是个体间需要爱情才能繁衍，那大概九成的物种都会灭亡”因此，从生物量上看，虽然人类不是环境中最优势的物种，但正是文明的存在将人类与其它生物区分开，这也是沙耶选择人类的原因。&lt;/p&gt;
&lt;p&gt;到底是文明依赖于人类而存在，还是人类需要被文明接纳？沙耶之歌或许间接回答了这一问题：&lt;/p&gt;
&lt;p&gt;郁纪的状态就像是面对着失去了所有文明属性的世界，或者说与沙耶相同，他来到了完全陌生的世界，他/她没有继续存在于此的理由，直到对方的出现为这种不必要的存在重新带来了目的性——即对方本身&lt;/p&gt;
&lt;p&gt;这种关系存在的唯一理由是彼此之间确实存在的需要，但也正是这种需求的欲望为存在本身带来了设想下的目的性： 郁纪所产生的并不是基于文明所赋予他的理性，而是基于对情感，这一文明产物的渴求产生的幻觉，这种幻觉并非是不存在的东西，它依旧是物质的，当它得以在个体的认知中存在时，便成了他的个人现实&lt;/p&gt;
&lt;p&gt;沙耶也是如此——这种幻觉如此之强以至于她爱上了一只怪物，尽管这种幻觉的背后是难以理喻的疯狂，正常不过是无尽混乱与疯狂中的某种间歇的集体性幻觉，只不过当它在所有人的可知中存在时，便成了所谓的现实&lt;/p&gt;
&lt;p&gt;于是，当我们抛弃文明的伪装，得到的并不是更纯粹的情感，而是正在坠入幻觉内部的深渊&lt;/p&gt;</content:encoded><h:img src="undefined"/><enclosure url="undefined"/></item></channel></rss>