Mingyu's Library主页
2026年8月11日

第 44 课(补):新功能速用 —— v2.1.227 / v2.1.228(Write 免先读、云端同步技能加固、marketplace 整条合并、压缩进度与 Vertex 快速失败)

说明:本文为 2026-10-13 回溯补生成,内容基于当时(D 前后)的公开报道检索。 📅 2026-08-11 场景还原:你让 Claude 用 Write 重写一个配置文件,以前它总要先 Read 一遍再写;你在 claude.ai 里启用的技能同步到了终端,却和本地同名命令"打架";你在项目级设置里覆盖了一个 marketplace 源,结果它悄悄带上了用户级配置里的私有 headers。08-10 / 08-11 的两个版本刚好处理了这些事。 版本窗口:v2.1.227(08-10,以修复为主)、v2.1.228(08-11)。v2.1.224 的自托管环境、archive 插件源等已在此前简报提过,本课不重复。 来源:官方 CHANGELOG(2.1.227 / 2.1.228 条目)· Havoptic 8 月版本表(发布日期) 说明:以下变更逐条来自官方 CHANGELOG;配置示例为作者据官方文档编写,用之前先 claude --version,并以 /help 与官方文档为准。


技巧 1(基础):Write 工具对新模型不再强制"先读后写"

解决的问题:整体重写一个文件时多一轮无意义的 Read,浪费上下文和时间。

v2.1.228 起,较新的模型可以用 Write 覆盖本会话没读过的已有文件,规则与 Edit 工具一致;较旧的模型仍需先读。少了"先读"这道缓冲,误覆盖的代价就落在你的版本控制和权限规则上:

claude --version   # 确认 ≥ 2.1.228
git status         # 让 Claude 动手前先保证工作区干净,随时可 git restore 回退
// .claude/settings.json:保护不该被整体重写的文件
{
  "permissions": {
    "deny": ["Edit(./package-lock.json)", "Edit(./.env*)"]
  }
}

要点:权限文档说明 Edit 规则作用于所有改文件的内置工具(包括 Write)。 📖 CHANGELOG 2.1.228 · 官方:Permissions

技巧 2(进阶):从 claude.ai 同步来的技能被"降权"了

解决的问题:云端同步的技能可能遮蔽本地命令、或在你机器上执行 ! 命令,带来混淆和安全风险。

v2.1.228 的加固包括四点:同步技能不再遮蔽本地命令或 MCP prompt;其描述会被清洗并打标签;在你的机器上,其正文不执行 ! 命令、不展开 @ 文件。所以依赖动态上下文注入的技能,应改放到本地:

# 找出依赖 !`cmd` 注入的技能,确认它们是本地技能而不是同步来的
grep -rn '!`' ~/.claude/skills/*/SKILL.md .claude/skills/*/SKILL.md 2>/dev/null
# 会话内输入 / 查看命令与技能列表,同步来的技能描述会带标签

📖 CHANGELOG 2.1.228 · 官方:Skills

技巧 3(进阶):marketplace 条目跨设置层级按"整条"合并

解决的问题:高优先级设置里重定义的 marketplace 条目会继承其他层级的自定义 headers,可能把私有凭据带到不该去的源。

修复后,同名 marketplace 条目在不同层级之间整条替换,不再字段级混合。反过来说:如果高优先级层级的条目确实需要某些字段,必须在那里写完整。

// .claude/settings.json(项目级同名条目会整条覆盖用户级条目)
{
  "extraKnownMarketplaces": {
    "team-tools": {
      "source": { "source": "github", "repo": "my-org/claude-plugins" }
    }
  }
}
claude plugin marketplace list   # 升级后逐个核对源是否仍可拉取

📖 CHANGELOG 2.1.228 · 官方:Plugin marketplaces

技巧 4(高阶):压缩时看得见重试 + Vertex 凭据秒级失败 + CI 修复

解决的问题:/compact 卡住时只有一条进度条,不知道是在重试还是死了;Vertex 凭据过期时要干等几分钟才报错;claude-code-action 某些配置下所有 Bash 都失败。

# 压缩时给出保留重点,配合新的进度提示判断是否卡住
/compact 保留:当前任务目标、已改文件列表、未通过的测试

# Vertex 用户:先确认凭据有效,再启动(失败现在会很快暴露)
gcloud auth application-default print-access-token >/dev/null && echo ok
CLAUDE_CODE_USE_VERTEX=1 claude -p "ping"

📖 CHANGELOG 2.1.227 / 2.1.228 · 官方:Vertex AI · GitHub Actions


今日实操(15 分钟)

  1. 升级到 ≥ 2.1.228,在 .claude/settings.json 里给 .env* 加一条 Edit deny 规则。
  2. 让 Claude "用 Write 把 .env.example 的内容整体写进 .env"。
  3. 验收:操作被权限规则拒绝;删掉规则后,新模型无需先 Read 即可完成覆盖(用 git diff 确认)。最后跑一次 grep -rn '!\' ~/.claude/skills/*/SKILL.md,确认依赖!` 注入的技能都在本地目录。