摘要
Claude Code 用户安装 nowledge-mem@nowledge-community 时,不应该为了一个 Claude Code plugin,把整个多平台 nowledge-co/community repo 都拉到 Claude 的 marketplace cache 里。
我本来只是想用 Claude Code 的 Nowledge Mem plugin,但本地的:
~/.claude/plugins/marketplaces/nowledge-community/
里面出现了 Cursor、Codex、Droid、Gemini、OpenCode、Raycast、Hermes、Pi 等一堆和当前 Claude Code 使用无关的 integration。排查问题时看到这些东西会非常困惑,也会让人误以为 Claude Code plugin 本体混进了其他平台的包。
当前观察到的状态
实际安装的 Claude Code plugin 本体是干净的:
~/.claude/plugins/cache/nowledge-community/nowledge-mem/0.7.3/
里面主要是:
.claude-plugin/plugin.json
skills/
commands/
hooks/
README.md
CHANGELOG.md
icon.png
这个部分没问题。
但 marketplace cache 是整个 community repo:
~/.claude/plugins/marketplaces/nowledge-community/
里面包含很多其他平台的集成,例如:
nowledge-mem-claude-code-plugin/
nowledge-mem-cursor-plugin/
nowledge-mem-codex-plugin/
nowledge-mem-droid-plugin/
nowledge-mem-gemini-cli/
nowledge-mem-opencode-plugin/
nowledge-mem-openclaw-plugin/
nowledge-mem-hermes/
nowledge-mem-raycast/
nowledge-mem-pi-package/
...
从维护 repo 的角度看,monorepo 可以理解;但从 Claude Code 用户的本地安装体验看,这个 cache 太脏了。
为什么这很难受
这不是说 Claude Code runtime 真的加载了 Cursor/Codex plugin。实际加载的 Claude Code plugin 是干净的。
问题是:用户为了安装一个 Claude Code plugin,本地 Claude marketplace cache 里被塞进了一整个多平台 integration repo。之后排查 hook、plugin、nmem 行为时,很容易被这些无关目录干扰。
尤其是 Nowledge Mem 本来就跨很多 agent/IDE,用户看到一堆 Cursor/Codex/Droid/OpenCode 目录,很难第一眼判断:
- 哪些是 Claude Code 真正在用的
- 哪些只是 marketplace repo 的旁支内容
- 哪些 hook/README/manifest 有可能影响当前 Claude Code 行为
这个体验不够清晰。
Claude Code 现在已经有更优雅的机制
Claude Code marketplace 现在支持 sparse checkout:
claude plugin marketplace add nowledge-co/community \
--sparse .claude-plugin nowledge-mem-claude-code-plugin
这样对 Claude Code 用户来说,只需要拉:
.claude-plugin/
nowledge-mem-claude-code-plugin/
另外,Claude Code marketplace docs 也支持 git-subdir plugin source,用来从 monorepo 里只取某个 plugin subdir。
期望行为
希望 Nowledge 的 Claude Code 安装文档或 marketplace 配置能避免让用户默认拉完整 community monorepo。
可能的做法:
-
在 Claude Code 安装文档里使用 sparse checkout 版本:
claude plugin marketplace add nowledge-co/community \
--sparse .claude-plugin nowledge-mem-claude-code-plugin
claude plugin install nowledge-mem@nowledge-community
-
或者调整 .claude-plugin/marketplace.json,让 Claude plugin entry 使用 git-subdir 指向 nowledge-mem-claude-code-plugin。
-
或者提供一个 Claude-Code-only marketplace/repo,让 Claude Code 用户不需要把 Cursor/Codex/Droid/Gemini/OpenCode 等无关 integration 拉到本地。
目标
不是反对 community monorepo。monorepo 作为维护仓库没问题。
我希望的是:Claude Code 用户安装 Claude Code plugin 时,本地只出现和 Claude Code 有关的内容。这样更清楚,也更容易排查问题。
摘要
Claude Code 用户安装
nowledge-mem@nowledge-community时,不应该为了一个 Claude Code plugin,把整个多平台nowledge-co/communityrepo 都拉到 Claude 的 marketplace cache 里。我本来只是想用 Claude Code 的 Nowledge Mem plugin,但本地的:
里面出现了 Cursor、Codex、Droid、Gemini、OpenCode、Raycast、Hermes、Pi 等一堆和当前 Claude Code 使用无关的 integration。排查问题时看到这些东西会非常困惑,也会让人误以为 Claude Code plugin 本体混进了其他平台的包。
当前观察到的状态
实际安装的 Claude Code plugin 本体是干净的:
里面主要是:
这个部分没问题。
但 marketplace cache 是整个 community repo:
里面包含很多其他平台的集成,例如:
从维护 repo 的角度看,monorepo 可以理解;但从 Claude Code 用户的本地安装体验看,这个 cache 太脏了。
为什么这很难受
这不是说 Claude Code runtime 真的加载了 Cursor/Codex plugin。实际加载的 Claude Code plugin 是干净的。
问题是:用户为了安装一个 Claude Code plugin,本地 Claude marketplace cache 里被塞进了一整个多平台 integration repo。之后排查 hook、plugin、nmem 行为时,很容易被这些无关目录干扰。
尤其是 Nowledge Mem 本来就跨很多 agent/IDE,用户看到一堆 Cursor/Codex/Droid/OpenCode 目录,很难第一眼判断:
这个体验不够清晰。
Claude Code 现在已经有更优雅的机制
Claude Code marketplace 现在支持 sparse checkout:
这样对 Claude Code 用户来说,只需要拉:
另外,Claude Code marketplace docs 也支持
git-subdirplugin source,用来从 monorepo 里只取某个 plugin subdir。期望行为
希望 Nowledge 的 Claude Code 安装文档或 marketplace 配置能避免让用户默认拉完整 community monorepo。
可能的做法:
在 Claude Code 安装文档里使用 sparse checkout 版本:
或者调整
.claude-plugin/marketplace.json,让 Claude plugin entry 使用git-subdir指向nowledge-mem-claude-code-plugin。或者提供一个 Claude-Code-only marketplace/repo,让 Claude Code 用户不需要把 Cursor/Codex/Droid/Gemini/OpenCode 等无关 integration 拉到本地。
目标
不是反对 community monorepo。monorepo 作为维护仓库没问题。
我希望的是:Claude Code 用户安装 Claude Code plugin 时,本地只出现和 Claude Code 有关的内容。这样更清楚,也更容易排查问题。