尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

claude-obsidian如何注入Marketplace目录?artifact-only发布策略解析

claude-obsidian如何注入Marketplace目录?artifact-only发布策略解析 claude-obsidian如何注入Marketplace目录artifact-only发布策略解析【免费下载链接】claude-obsidianSelf-organizing AI second brain for Obsidian Claude Code. Drop any source and Claude reads, links, and files it into one connected knowledge graph of plain Markdown you own. AI note-taking, personal knowledge management (PKM), and an open-source Notion alternative. Based on Karpathys LLM Wiki pattern.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-obsidianclaude-obsidian是一款开源的 AI 第二大脑工具AI note-taking / 个人知识管理 PKM面向 Obsidian Claude Code你丢进任何来源Claude 会读取、链接、归档成一份你完全拥有的纯 Markdown 知识图谱可以看作一个开源的 Notion 替代方案。很多用户安装后会发现一个反常细节克隆下来的仓库里居然没有.claude-plugin/marketplace.jsonMarketplace 目录是在发布构建时才被注入进发行产物的。这篇文章就用最短的篇幅讲清楚claude-obsidian 如何注入 Marketplace 目录以及这套 artifact-only仅产物发布策略到底在保护什么。为什么开发树里故意没有Marketplace 目录先建立一个心智模型claude-obsidian 把开发仓库和发行产物当成两个完全不同的角色。开发仓库可能混入贡献者的本地库状态wiki/hot.md、.raw/、.vault-meta/等私人运行时数据如果开发树自带 Marketplace 目录用户就可能把这个脏树直接添加为插件市场装进一个夹带私人状态的包所以项目明确约定私有开发树不含 Marketplace 目录只有审计通过的发行产物才包含它。这一点在 README.md 中写得很直白开发 checkout 故意没有 marketplace catalogrelease builder 只向 distribution-clean 的产物注入经过审查的 catalog。AGENTS.md 也把这条列为仓库级规则。 一句话Marketplace 目录是发布时生成的不是仓库里存在的。一行 overlay 配置public-marketplace.json 如何被注入注入动作的全部魔法来自发布白名单里的一个archive_overlays映射源文件config/public-marketplace.json —— 人工审查过的市场目录模板声明了插件名claude-obsidian、版本2.0.0、以及source: ./插件就取产物根目录注入目标.claude-plugin/marketplace.json映射关系定义在 config/release-allowlist.json 的archive_overlays字段中构建代码里的两个常量与之对应见 claude_obsidian/release.pyPUBLIC_MARKETPLACE_PATH .claude-plugin/marketplace.json产物里的落点PUBLIC_MARKETPLACE_TEMPLATE config/public-marketplace.json仓库里的模板也就是说构建器在打 ZIP 包时把config/public-marketplace.json的字节复制改写为.claude-plugin/marketplace.json放进产物。仓库本身永远不出现这个文件用户拿到的却是完整的、可安装的市场目录——这就是artifact-only的含义。注入后还要过审Marketplace 的 6 条硬性规则注入不等于放行。claude_obsidian/release.py 中的_validate_public_marketplace会对产物内的 marketplace 元数据做交叉校验任何一条不满足都会让整个构建失败fail-closed#规则错误码用意1必须恰好一个插件invalid_marketplace防止夹带2插件source必须是./unsafe_marketplace_source插件只能来自被审计的产物根目录3插件名必须与plugin.json一致marketplace_name_drift元数据不漂移4插件条目里禁止再写versionduplicate_version_authorityplugin.json是版本唯一权威5市场版本必须等于插件版本version_drift双份版本不能各说各话6产物内不得出现wiki/、.raw/、.vault-meta/等活的库状态unsafe_marketplace_root私人知识绝不外泄此外还会检查 7 个必需运行时文件plugin.json、claude_obsidian/__init__.py、skills/wiki/SKILL.md等是否齐全缺一个就报incomplete_marketplace。确定性构建同一个提交产出逐字节相同的 ZIP注入 Marketplace 只是构建流程的一小步。整个build_public_artifactclaude_obsidian/release.py遵循只读、确定性、失败即停的原则读取干净的 Git 工作树按白名单include_roots/exclude_globs选择文件——.git/、.env、.raw/**、wiki/hot.md、wiki/log.md等一律被排除config/release-allowlist.json逐字节扫描选中的内容GitHub/Anthropic token、AWS Key、私钥、私人邮箱、/home/xxx类绝对路径命中即失败二进制文件必须在reviewed_binaries清单里且 SHA-256 完全一致才能入选写确定性 ZIP条目按名排序、时间戳固定为SOURCE_DATE_EPOCH、权限位固定保证同一提交、同一 epoch 构建出的字节完全一致产物先自审再落盘audit_artifactclaude_obsidian/release.py会重新规范化编码并与原字节hmac.compare_digest比对任何偏差时间戳、权限、排序、清单不匹配都会让构建失败且绝不留下半成品。整个过程从不 stage、commit、tag、push 或 publish——发布动作被刻意留在代码能力之外。发布门禁与用户侧一键安装构建之外还有一层声明式门禁claude_obsidian/gates.py 的evaluate_release_gates依据 config/product-contract.json 中声明的release_gates逐条执行命令门禁可自动跑手动门禁永远保持显式通过 CLI 触发python3 scripts/claude-obsidian.py release gates --execute python3 scripts/claude-obsidian.py release build --output dist/xxx.zip --source-date-epoch 1700000000 python3 scripts/claude-obsidian.py release audit dist/xxx.zip而普通用户完全不需要关心这些细节。只要公开分支已由审计产物提升promote安装就是三条命令见 docs/install-guide.mdclaude plugin marketplace add AgriciDaniel/claude-obsidian claude plugin install claude-obsidianagricidaniel-claude-obsidian claude plugin list之后即可调用/claude-obsidian:wiki、/claude-obsidian:wiki-ingest、/claude-obsidian:save等带命名空间的技能。关键文件速查角色路径说明市场目录模板审查过的注入源config/public-marketplace.json插件名、版本、source: ./发布白名单 overlay 映射config/release-allowlist.json选什么、排除什么、覆盖什么构建 / 审计引擎claude_obsidian/release.py确定性 ZIP marketplace 校验发布门禁claude_obsidian/gates.py只读执行声明式门禁产物清单RELEASE_MANIFEST.json每个文件的 SHA-256、权限、大小用户安装指南docs/install-guide.mdMarketplace 安装命令总结artifact-only 的核心Marketplace 目录.claude-plugin/marketplace.json不存在于仓库而是构建时由 config/public-marketplace.json 经archive_overlays注入进被审计的 ZIP 产物安全收益开发树可以随便有私人库状态但发行产物逐字节受白名单、秘密扫描、版本一致性、必需文件完整性五重约束且构建全程只读、失败即停用户收益一条命令装进 Claude Code拿到的是干净、可复现同提交逐字节一致、版本权威的插件包。这套先审计、后注入、只读发布的流程对任何要把本地开发态与分发包隔离开来的开源项目都是值得抄作业的设计。【免费下载链接】claude-obsidianSelf-organizing AI second brain for Obsidian Claude Code. Drop any source and Claude reads, links, and files it into one connected knowledge graph of plain Markdown you own. AI note-taking, personal knowledge management (PKM), and an open-source Notion alternative. Based on Karpathys LLM Wiki pattern.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-obsidian创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表