/** * 内置技能安装:把包内 skills/ 同步到 bot 工作目录的 .claude/skills/。 * * claude CLI 自动发现会话 cwd 下 .claude/skills/ 目录的技能(Agent 需要时 * 自动加载 SKILL.md),因此 NiuBot 只需把内置技能放到标准位置,加载完全交给 * CLI 原生机制。 * * 同步策略(update 策略): * - 目录级镜像:包内没有的技能目录 → 目标里整个删除(技能被移除时自动消失) * - 文件级镜像:目标里源没有的文件 → 删除(技能内被删文件不残留), * 但保留 installer 产物(scripts/.env 等 .env 文件) * - 包内文件 → 同名覆盖(技能更新自动生效) * * 每个技能可带 install.mjs(可选,Node 跨平台):幂等安装自己的依赖/配置; * 没有 install.mjs 的技能走默认通用行为(无操作)。installer 异步执行 * (不阻塞启动),输出写入日志。 */ /** * 把内置技能同步到备份源($NIUBOT_HOME/skills/),并在 bot 工作目录的 * .claude/skills/ 和 .agents/skills/(claude / codex 的发现位置)建软链接。 * * 软链接方案:备份源是 NiuBot 独占目录(镜像同步,无用户冲突); * 挂载点下 NiuBot 只创建/删除"指向备份源的软链接"——用户自己装的 * 真实 skill 目录(无论 claude 还是 codex 位置)永不被动。 * 升级增删 = 备份源镜像 + 挂载点按"链接指向备份源"识别清理。 * 失败不阻断启动(技能缺失只影响能力,不影响 Bot 运行)。 */ export declare function installBuiltinSkills(workingDirectory: string, backupRoot: string): void; /** * 挂载点同步:为备份源里的每个技能建软链接。 * 清理:指向备份源但源里已无的软链接(升级移除的技能)→ 删; * 与备份源同名的真实目录(旧版复制残留)→ 删后改链接; * 其他(用户真实 skill / 用户自建链接)→ 保留不动。 * 导出供测试(内部函数)。 */ export declare function syncMountLinks(mountDir: string, backupRoot: string): void;