⚠️ 两个推论,写 patch 时务必刻在脑子里: 后应用的层按行胜出;而且 patch 是替换目标行的整个 config 值,不是深合并各键。所以你想覆盖某一行,必须把那一行需要的每个 key 都重述一遍,不能只写要改的那一个。
5. 从 GitHub 装:构建这道坎
dsh plugin --profile demo add github:you/hello-plugin
这条命令看着省事,其实有个坑:git 装拉的是源码,不是构建产物。整个流程里没有任何一步会跑你的 build,所以 TypeScript 写的包到手时没有 lib/,加载直接失败。要让它跑起来,作者和用户各做一件事:
allowBuilds: dsh-hello-plugin: true
然后再跑一次 add 就行。
🔴 说句实在话,这条授权你得想清楚:allowBuilds 等于允许这个包的代码在你机器上、且不在 agent 沙箱里执行。所以只对源码信得过的包授权,并且锁 commit(github:you/hello-plugin#<sha>),免得别人之后悄悄 push 改了内容。
不想让用户做这个授权,就发构建产物,两种方式都不需要构建权限:
本篇小结
下一篇:05-六个核心接口-v2