File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ M4 补充:tool executor 会围绕 `PreToolUse`、`PostToolUse`、`PermissionDe
3737
3838M10 补充:plugin command/agent 的 allowed tool frontmatter 解析现在只在顶层逗号或空白处分隔,保留括号、方括号和引号内的逗号/空白,避免 ` Bash(git commit -m "x,y") ` 这类 tool pattern 被误拆。
3939
40- M8 补充:CLI `plugin marketplace list` 现在可列出 settings 中已配置的 marketplace;`--json` 输出按名称排序的 source/repo/url/path/package/installLocation 结构,普通文本输出与无配置提示也已覆盖。CLI `plugin marketplace add [--scope user|project|local] [--type ...] <name> <source>` 和 `plugin marketplace remove [--scope user|project|local] <name>` 现在复用 `internal/config` settings 文件写入 helper,可按目标 scope 写入/删除 `extraKnownMarketplaces`,并在写入前复用 marketplace source validation,且 `installLocation` 会校验为 `user|project|local`。CLI `plugin marketplace update [name]` 现在可按全部或指定 marketplace 触发现有 URL/git/github/npm/settings cache 加载刷新路径,命名 update 会用轻量 settings 读取避免启动时提前刷新全部 marketplace。运行时插件发现现在会合并项目链 `.claude/plugins` 和用户级 `${CLAUDE_CONFIG_DIR}/plugins`,项目同名插件优先。CLI `plugin install --scope project|user|local <plugin>` 现在复用 `internal/plugins` 共享安装 API,把 marketplace 插件复制到目标 scope 的 `plugins/<safe-name>`,未显式传 scope 时会尊重 marketplace `installLocation` 默认值,并保留冲突检测、重复安装识别和 symlink/non-regular file 拒绝。CLI `plugin update --scope project|user|local|all <plugin>` 现在复用 `internal/plugins` 共享更新 API,把目标 scope 已安装同名插件替换为最新 marketplace 副本,未显式传 scope 的命名更新同样会尊重 marketplace `installLocation`。CLI `plugin enable|disable [--scope user|project|local] <plugin>` 与 `plugin disable --all --scope ...` 现在复用 `internal/config` settings 文件写入 helper,按目标 scope 更新 `enabledPlugins` 并覆盖基本参数冲突。
40+ M8 补充:CLI `plugin marketplace list` 现在可列出 settings 中已配置的 marketplace;`--json` 输出按名称排序的 source/repo/url/path/package/installLocation 结构,普通文本输出与无配置提示也已覆盖。CLI `plugin marketplace add [--scope user|project|local] [--type ...] <name> <source>` 和 `plugin marketplace remove [--scope user|project|local] <name>` 现在复用 `internal/config` settings 文件写入 helper,可按目标 scope 写入/删除 `extraKnownMarketplaces`,并在写入前复用 marketplace source validation,且 `installLocation` 会校验为 `user|project|local`。CLI `plugin marketplace update [name]` 现在可按全部或指定 marketplace 触发现有 URL/git/github/npm/settings cache 加载刷新路径,命名 update 会用轻量 settings 读取避免启动时提前刷新全部 marketplace。运行时插件发现现在会合并项目链 `.claude/plugins` 和用户级 `${CLAUDE_CONFIG_DIR}/plugins`,项目同名插件优先。CLI `plugin install --scope project|user|local <plugin>` 与 headless `/plugin install [--scope project|user|local] <plugin>` 现在复用 `internal/plugins` 共享安装 API,把 marketplace 插件复制到目标 scope 的 `plugins/<safe-name>`,未显式传 scope 时会尊重 marketplace `installLocation` 默认值,并保留冲突检测、重复安装识别和 symlink/non-regular file 拒绝。CLI `plugin update --scope project|user|local|all <plugin>` 与 headless `/plugin update [--scope project|user|local|all] [plugin]` 现在复用 `internal/plugins` 共享更新 API,把目标 scope 已安装同名插件替换为最新 marketplace 副本,未显式传 scope 的命名更新同样会尊重 marketplace `installLocation`。CLI `plugin enable|disable [--scope user|project|local] <plugin>` 与 `plugin disable --all --scope ...` 现在复用 `internal/config` settings 文件写入 helper,按目标 scope 更新 `enabledPlugins` 并覆盖基本参数冲突。
4141
4242M10 补充:新增 ` TaskOutput ` /` AgentOutputTool ` 和 ` KillTask ` /` TaskStop ` 内置工具;` TaskOutput ` 可列出当前 session 的 sidechain task,或按 task/sidechain ID 读取状态、summary、tail 输出和 agent metadata,` KillTask ` 会通过 sidechain manager 写入 cancelled lifecycle summary。完整 AgentTool 执行循环、progress event streaming、resume command UI 和 worktree isolation 仍未完成。
4343
@@ -1442,7 +1442,7 @@ M7 补充:terminal input parser 和 configurable keybinding name parser 现在
14421442- plugin manifest、marketplace、local install、URL catalog cache、git/github clone/update cache、npm pack/cache、update UI/background lifecycle。
14431443- plugin hooks/agents/MCP,其中本地 plugin 同步工具 hook 已接入,剩余完整 plugin agent/MCP 与 hook UI/policy parity。
14441444
1445- 当前状态:已完成项目 skill discovery、目录式 `SKILL.md` prompt metadata loading、project legacy `.claude/commands` prompt command loading、command registry metadata/lookup/filter、agent-metadata strict plugin-only policy filtering、部分内置 slash command aliases/metadata、prompt expansion、基础 `Skill` tool inline 调用、本地项目 prompt skill 的基础 slash 调用接入、本地 prompt skill 的 command permissions attachment/current-turn 权限继承,本地 plugin command/skill/agent/MCP server/output style/hook 的 manifest discovery,本地 plugin 同步工具 hook 执行,headless `/plugin available [query]` 与 `/plugin marketplace plugins|search|show` 可浏览已配置 marketplace 插件并标注 available/installed/update 状态,CLI `plugin list --json --available` 可输出 installed/available marketplace JSON,headless `/plugin install <name>` 可从 settings/directory/file/URL catalog/git/github/npm cache 配置的 marketplace 来源复制插件到项目 `.claude/plugins` 并刷新 plugin MCP server app-state,CLI `plugin install --scope project|user|local <plugin>` 可尊重 marketplace `installLocation` 默认值,headless `/plugin update [name]` 和 CLI `plugin update --scope project|user|local|all <plugin>` 可复用共享更新 API 并替换已安装同名插件,headless `/help`/`/skills` 列表与单项详情,output style 系统提示注入,以及 `/clear` 基础 local command no-query 路径;仍缺 bundled/MCP/remote skills、forked skill/agent 执行、完整 local/local-jsx 实际执行、TUI `/help`/`/skills` 面板、权限 UI/SDK 展示、plugin marketplace TUI/background lifecycle、skill prompt shell injection 和完整 agents/MCP/output-style UI 接线。
1445+ 当前状态:已完成项目 skill discovery、目录式 `SKILL.md` prompt metadata loading、project legacy `.claude/commands` prompt command loading、command registry metadata/lookup/filter、agent-metadata strict plugin-only policy filtering、部分内置 slash command aliases/metadata、prompt expansion、基础 `Skill` tool inline 调用、本地项目 prompt skill 的基础 slash 调用接入、本地 prompt skill 的 command permissions attachment/current-turn 权限继承,本地 plugin command/skill/agent/MCP server/output style/hook 的 manifest discovery,本地 plugin 同步工具 hook 执行,headless `/plugin available [query]` 与 `/plugin marketplace plugins|search|show` 可浏览已配置 marketplace 插件并标注 available/installed/update 状态,CLI `plugin list --json --available` 可输出 installed/available marketplace JSON,headless `/plugin install [--scope project|user|local] <name>` 可从 settings/directory/file/URL catalog/git/github/npm cache 配置的 marketplace 来源复制插件到目标插件目录并刷新 plugin MCP server app-state,CLI `plugin install --scope project|user|local <plugin>` 可尊重 marketplace `installLocation` 默认值,headless `/plugin update [--scope project|user|local|all] [name]` 和 CLI `plugin update --scope project|user|local|all <plugin>` 可复用共享更新 API 并替换已安装同名插件,headless `/help`/`/skills` 列表与单项详情,output style 系统提示注入,以及 `/clear` 基础 local command no-query 路径;仍缺 bundled/MCP/remote skills、forked skill/agent 执行、完整 local/local-jsx 实际执行、TUI `/help`/`/skills` 面板、权限 UI/SDK 展示、plugin marketplace TUI/background lifecycle、skill prompt shell injection 和完整 agents/MCP/output-style UI 接线。
14461446
14471447### M9: MCP Platform
14481448
Original file line number Diff line number Diff line change @@ -143,7 +143,7 @@ test/parity/ # golden tests against TS/official behavior
143143- 本轮补充:` strictPluginOnlyCustomization ` 已开始按 policy settings 生效,当前覆盖已实现的 ` skills ` 、` mcp ` 、` hooks ` 和 agent-metadata surfaces:锁定后 user/project/local skills 与 legacy commands 不加载,manual MCP server sources 不加载但 plugin/admin policy 仍保留,settings hooks 只保留 policy hooks 且 plugin hooks 继续运行;` agents ` 锁定时非 plugin/bundled/admin prompt command 的 ` agent ` 、` context: fork ` 和 ` effort ` frontmatter metadata 会被清除。完整 forked agent runtime/UI edge cases 仍按缺口追踪。
144144- 本轮补充:settings 文件读取现在有 path-keyed cache,按 size/mode/mtime 指纹复用内容并提供 ` ResetSettingsCache ` ;新增 settings change detector,可对 settings 文件快照区分 created/modified/deleted,并在检测到变化时清空 settings 文件缓存;Runner turn-start 会在检测到 user/project/local settings 文件变化时重载 merged settings 并同步刷新 plugin MCP server app-state。完整后台 watcher 和 remote managed 非 daemon 后台 refresh 生命周期仍按缺口追踪。
145145- 本轮补充:新增 settings JSON Schema generation,` SettingsJSONSchema() ` 会从 ` contracts.Settings ` 反射生成 draft 2020-12 schema,补强 ` $schema ` const、permission mode enum、` strictPluginOnlyCustomization ` union 和 login method enum;` /config show schema ` 现在可展示 schema ID、draft、字段数和生成大小,完整 Zod message parity 仍按缺口追踪。
146- - 本轮补充:settings validation 现在覆盖官方 marketplace source union 的基础语义,适用于 `extraKnownMarketplaces[].source`、`strictKnownMarketplaces[]` 和 `blockedMarketplaces[]`:校验 source discriminator、各 source 类型必填字段、URL source 绝对 URL、headers string record、github/git sparsePaths string array、settings-source plugins array/item path shape、settings-source name 安全/保留名,并继续覆盖 inline marketplace key/name 一致性,`extraKnownMarketplaces[].installLocation` 也会被约束为 `user|project|local`;`internal/plugins` 新增 marketplace policy resolver,blocked settings 优先、strict allowlist 非空时拒绝未列入来源,`/plugin marketplaces` 会展示 allow/block decision;本地 plugin manifest 可声明 `marketplace`/`marketplaceName`/`marketplace_name`/`source.name`,带 settings 的 plugin loader 会对这些来源执行 marketplace policy,`extraKnownMarketplaces.<name>.source.source=settings` 的 `plugins` 本地 root、`source=directory` 的本地 marketplace 目录、`source=file` catalog、`source=url` 远端 JSON catalog、`source=git` clone cache、`source=github` repo clone cache 以及 `source=npm` package cache 的 plugin roots 都会进入 plugin load path 并继承 marketplace 名称;URL catalog 支持配置 headers、大小限制、JSON 校验、写入 `marketplace-cache/catalogs` 并在后续请求失败时缓存回退;git/github source 会按 URL clone 到 `marketplace-cache/git`,后续加载 fetch/pull,支持 `ref` checkout 和 repo 内 `path` 指向单插件、插件目录或 catalog JSON,github `repo: owner/name` 会规范化为 GitHub clone URL;npm source 会用 `npm pack` 解包到 `marketplace-cache/npm`,失败时可从已有缓存回退,且支持 package 内 `path` 指向单插件、插件目录或 catalog JSON;`/plugin show/search` 会标注 blocked reason;运行时已安装插件发现会合并项目链 `.claude/plugins` 和用户级 `${CLAUDE_CONFIG_DIR}/plugins`,项目同名插件优先;headless `/plugin available [query]`、`/plugin marketplace plugins|search|show` 会浏览 configured marketplace 插件并标注 available/installed/update 状态;CLI `plugin list --json --available` 会输出 installed/available marketplace JSON,CLI `plugin marketplace list --json` 会列出已配置 marketplace 的 source/repo/url/path/package/installLocation 投影,CLI `plugin marketplace add/remove --scope user|project|local` 会按目标 scope 写入或删除 `extraKnownMarketplaces` 并复用 source validation,CLI `plugin marketplace update [name]` 会按全部或指定 marketplace 触发现有 cache 刷新路径,CLI `plugin install --scope project|user|local <plugin>` 与 headless `/plugin install <name>` 共享安装 API 并复制插件到目标 scope 的插件目录,不覆盖冲突路径并拒绝 symlink/non-regular 文件,未显式传 scope 时会尊重 marketplace `installLocation`;CLI `plugin update --scope project|user|local|all <plugin>` 与 headless `/plugin update [name]` 共享更新/目录替换 API,把目标 scope 已安装同名插件替换为最新 marketplace 副本,未显式传 scope 的命名更新同样会尊重 marketplace `installLocation`;CLI `plugin enable|disable [--scope user|project|local] <plugin>` 和 `plugin disable --all --scope ...` 共享 settings 文件写入 helper,按目标 scope 更新 `enabledPlugins`;headless install/update 后刷新 plugin MCP server app-state。完整 marketplace TUI/UI、后台自动更新和策略 lifecycle 仍按缺口追踪。
146+ - 本轮补充:settings validation 现在覆盖官方 marketplace source union 的基础语义,适用于 `extraKnownMarketplaces[].source`、`strictKnownMarketplaces[]` 和 `blockedMarketplaces[]`:校验 source discriminator、各 source 类型必填字段、URL source 绝对 URL、headers string record、github/git sparsePaths string array、settings-source plugins array/item path shape、settings-source name 安全/保留名,并继续覆盖 inline marketplace key/name 一致性,`extraKnownMarketplaces[].installLocation` 也会被约束为 `user|project|local`;`internal/plugins` 新增 marketplace policy resolver,blocked settings 优先、strict allowlist 非空时拒绝未列入来源,`/plugin marketplaces` 会展示 allow/block decision;本地 plugin manifest 可声明 `marketplace`/`marketplaceName`/`marketplace_name`/`source.name`,带 settings 的 plugin loader 会对这些来源执行 marketplace policy,`extraKnownMarketplaces.<name>.source.source=settings` 的 `plugins` 本地 root、`source=directory` 的本地 marketplace 目录、`source=file` catalog、`source=url` 远端 JSON catalog、`source=git` clone cache、`source=github` repo clone cache 以及 `source=npm` package cache 的 plugin roots 都会进入 plugin load path 并继承 marketplace 名称;URL catalog 支持配置 headers、大小限制、JSON 校验、写入 `marketplace-cache/catalogs` 并在后续请求失败时缓存回退;git/github source 会按 URL clone 到 `marketplace-cache/git`,后续加载 fetch/pull,支持 `ref` checkout 和 repo 内 `path` 指向单插件、插件目录或 catalog JSON,github `repo: owner/name` 会规范化为 GitHub clone URL;npm source 会用 `npm pack` 解包到 `marketplace-cache/npm`,失败时可从已有缓存回退,且支持 package 内 `path` 指向单插件、插件目录或 catalog JSON;`/plugin show/search` 会标注 blocked reason;运行时已安装插件发现会合并项目链 `.claude/plugins` 和用户级 `${CLAUDE_CONFIG_DIR}/plugins`,项目同名插件优先;headless `/plugin available [query]`、`/plugin marketplace plugins|search|show` 会浏览 configured marketplace 插件并标注 available/installed/update 状态;CLI `plugin list --json --available` 会输出 installed/available marketplace JSON,CLI `plugin marketplace list --json` 会列出已配置 marketplace 的 source/repo/url/path/package/installLocation 投影,CLI `plugin marketplace add/remove --scope user|project|local` 会按目标 scope 写入或删除 `extraKnownMarketplaces` 并复用 source validation,CLI `plugin marketplace update [name]` 会按全部或指定 marketplace 触发现有 cache 刷新路径,CLI `plugin install --scope project|user|local <plugin>` 与 headless `/plugin install [--scope project|user|local] <name>` 共享安装 API 并复制插件到目标 scope 的插件目录,不覆盖冲突路径并拒绝 symlink/non-regular 文件,未显式传 scope 时会尊重 marketplace `installLocation`;CLI `plugin update --scope project|user|local|all <plugin>` 与 headless `/plugin update [--scope project|user|local|all] [name]` 共享更新/目录替换 API,把目标 scope 已安装同名插件替换为最新 marketplace 副本,未显式传 scope 的命名更新同样会尊重 marketplace `installLocation`;CLI `plugin enable|disable [--scope user|project|local] <plugin>` 和 `plugin disable --all --scope ...` 共享 settings 文件写入 helper,按目标 scope 更新 `enabledPlugins`;headless install/update 后刷新 plugin MCP server app-state。完整 marketplace TUI/UI、后台自动更新和策略 lifecycle 仍按缺口追踪。
147147
148148### M4: Tool framework、permissions、sandbox
149149
You can’t perform that action at this time.
0 commit comments