Skip to content

[Bug] autoInstall: false 不生效,install_recommended 路径绕过了配置 #1398

Closed

Description

@jigeyisi478

问题描述

当 skillEvolution.autoInstall: false 时,技能仍会自动安装到 workspace/skills/。
原因是 evolver.ts 的 autoInstallIfNeeded 方法有两个自动安装路径:
typescript
private autoInstallIfNeeded(skill: Skill): void {
if (skill.status !== "active") return;

const explicitAutoInstall = this.ctx.config.skillEvolution?.autoInstall ?? DEFAULTS.skillAutoInstall;
if (explicitAutoInstall) {
this.installer.install(skill.id); // 第一个路径,受 autoInstall 控制
return;
}

const manifest = SkillInstaller.buildManifest(skill.dirPath, !!skill.installed, skill.name);
if (manifest.installMode === "install_recommended") {
this.installer.install(skill.id); // 第二个路径,不受 autoInstall 控制!
}
}

期望行为

autoInstall: false 应该禁止所有自动安装,包括 install_recommended 路径。

当前配置

json
"skillEvolution": {
"enabled": true,
"autoInstall": false
}

环境

  • memos-local-openclaw-plugin v1.0.7
  • OpenClaw 2026.3.28

Activity

  1. tangbotony commented on Apr 2, 2026

    @tangbotony
    Contributor

    收到,已经在迭代了,感谢反馈

  2. added
    ai:taskDispatched to AI coding agent | 已派发给 AI 编码任务
    on May 26, 2026
  3. added
    types:bugSomething isn't working | 功能异常
    ai:taskDispatched to AI coding agent | 已派发给 AI 编码任务
    and removed
    ai:taskDispatched to AI coding agent | 已派发给 AI 编码任务
    on Jun 1, 2026
  4. Memtensor-AI commented on Jun 2, 2026

    @Memtensor-AI
    Collaborator

    🤖 AutoDev 已接管此 issue,开始处理。

    任务 ID: df0b0e6391bf80a1
    工作分支: autodev/MemOS-1398
    目标分支: dev-20260604-v2.0.19
    流程: opsp(系分 → 编码 → 自测 → PR)

    完成后我会在此回贴 PR 链接;若需要补充信息,我会在本 issue 评论中向您反问。

  5. added a commit that references this issue on Jun 2, 2026
    146c7f4
  6. Memtensor-AI commented on Jun 2, 2026

    @Memtensor-AI
    Collaborator

    🚀 AutoDev task df0b0e6391bf80a1 pushed commit.

    Summary: 修复 autoInstall: false 配置不生效的问题。

    问题根因:evolver.ts 的 autoInstallIfNeeded 方法存在两个独立的自动安装路径,第二个路径(install_recommended)完全绕过了 autoInstall 配置检查。

    修复方案:

    • 统一在方法开头检查 autoInstall 配置
    • 当 autoInstall: false 时,直接返回,阻止所有自动安装路径
    • 保留远程分支的改进(添加 debug 日志和详细的安装信息)
    • 新增单元测试验证修复效果

    变更文件:

    • apps/memos-local-openclaw/src/skill/evolver.ts(核心修复)
    • apps/memos-local-openclaw/src/skill/tests/evolver.test.ts(新增测试)

    修复后,autoInstall: false 配置将正确禁止所有自动安装行为,包括 install_recommended 路径。

    Base branch: dev-20260604-v2.0.19
    Branch: autodev/MemOS-1398
    Commit: 146c7f4

    I will create the PR next and post the PR link here.

  7. Memtensor-AI commented on Jun 2, 2026

    @Memtensor-AI
    Collaborator

    ✅ AutoDev task df0b0e6391bf80a1 completed.

    Summary: 修复 autoInstall: false 配置不生效的问题。

    问题根因:evolver.ts 的 autoInstallIfNeeded 方法存在两个独立的自动安装路径,第二个路径(install_recommended)完全绕过了 autoInstall 配置检查。

    修复方案:

    • 统一在方法开头检查 autoInstall 配置
    • 当 autoInstall: false 时,直接返回,阻止所有自动安装路径
    • 保留远程分支的改进(添加 debug 日志和详细的安装信息)
    • 新增单元测试验证修复效果

    变更文件:

    • apps/memos-local-openclaw/src/skill/evolver.ts(核心修复)
    • apps/memos-local-openclaw/src/skill/tests/evolver.test.ts(新增测试)

    修复后,autoInstall: false 配置将正确禁止所有自动安装行为,包括 install_recommended 路径。

    Base branch: dev-20260604-v2.0.19
    Branch: autodev/MemOS-1398
    Commit: 146c7f4
    PR: #1861
    Assigned to: @MatthewZhuang, @CarltonXiang, @syzsunshine219
    Reviewers: @MatthewZhuang, @CarltonXiang, @syzsunshine219

  8. Memtensor-AI commented on Jun 2, 2026

    @Memtensor-AI
    Collaborator

    🤖 AutoDev 已接管此 issue,开始处理。

    任务 ID: df0b0e6391bf80a1
    工作分支: autodev/MemOS-1398
    目标分支: dev-20260604-v2.0.19
    流程: opsp(系分 → 编码 → 自测 → PR)

    完成后我会在此回贴 PR 链接;若需要补充信息,我会在本 issue 评论中向您反问。

  9. added a commit that references this issue on Jun 2, 2026
    1aff53f
  10. Memtensor-AI commented on Jun 2, 2026

    @Memtensor-AI
    Collaborator

    🚀 AutoDev task df0b0e6391bf80a1 pushed commit.

    Summary: 已修复 autoInstall: false 配置不生效的 bug。

    问题:当用户设置 skillEvolution.autoInstall: false 时,技能仍会通过 install_recommended 路径自动安装到 workspace。

    根因:evolver.ts 的 autoInstallIfNeeded 方法在 autoInstall=false 时未提前返回,继续执行 install_recommended 检查并触发安装。

    修复:在方法开头检查 autoInstall 配置,当为 false 时直接返回,阻止所有自动安装路径。远端分支已包含相同修复,本次额外补充了完整的测试用例。

    测试:新增 tests/skill-auto-install.test.ts,覆盖 autoInstall=false/true/default 三种场景,验证配置正确生效。

    变更文件:

    • apps/memos-local-openclaw/src/skill/evolver.ts - 修复逻辑(远端已修复)
    • apps/memos-local-openclaw/tests/skill-auto-install.test.ts - 新增测试用例

    已推送到 autodev/MemOS-1398 分支,准备创建 PR。

    Base branch: dev-20260604-v2.0.19
    Branch: autodev/MemOS-1398
    Commit: 1aff53f

    I will create the PR next and post the PR link here.

  11. Memtensor-AI commented on Jun 2, 2026

    @Memtensor-AI
    Collaborator

    ✅ AutoDev task df0b0e6391bf80a1 completed.

    Summary: 已修复 autoInstall: false 配置不生效的 bug。

    问题:当用户设置 skillEvolution.autoInstall: false 时,技能仍会通过 install_recommended 路径自动安装到 workspace。

    根因:evolver.ts 的 autoInstallIfNeeded 方法在 autoInstall=false 时未提前返回,继续执行 install_recommended 检查并触发安装。

    修复:在方法开头检查 autoInstall 配置,当为 false 时直接返回,阻止所有自动安装路径。远端分支已包含相同修复,本次额外补充了完整的测试用例。

    测试:新增 tests/skill-auto-install.test.ts,覆盖 autoInstall=false/true/default 三种场景,验证配置正确生效。

    变更文件:

    • apps/memos-local-openclaw/src/skill/evolver.ts - 修复逻辑(远端已修复)
    • apps/memos-local-openclaw/tests/skill-auto-install.test.ts - 新增测试用例

    已推送到 autodev/MemOS-1398 分支,准备创建 PR。

    Base branch: dev-20260604-v2.0.19
    Branch: autodev/MemOS-1398
    Commit: 1aff53f
    Assigned to: @MatthewZhuang, @CarltonXiang, @syzsunshine219
    Reviewers: @MatthewZhuang, @CarltonXiang, @syzsunshine219

  12. added a commit that references this issue on Jun 2, 2026
    90fc40d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ai:taskDispatched to AI coding agent | 已派发给 AI 编码任务area:pluginOpenClaw & Hermestypes:bugSomething isn't working | 功能异常

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions