Linux Installer
What This Skill Does
Resolves the best supported install path for a Linux desktop app, explains the recommendation briefly, asks for confirmation before any system change, performs the install, and returns the exact launch or uninstall command.
If the chosen source needs missing tooling like snapd, flatpak, wine, or winetricks, the helper can bootstrap that tooling first through the host's native package manager.
It can also return curated community workarounds when no official Linux package exists. These must be clearly labeled and require an extra explicit confirmation before install.
When no curated or official path exists, the helper may surface unreviewed community suggestions from public package metadata. These are research results, not trusted install metadata.
Default source preference is:
- 1. Flatpak
- Snap
- Native package manager
- openSUSE INLINECODE4
- Arch INLINECODE5
- Native Arch AUR helper
- Nix profile install
- AppImage
- Curated official manual/archive fallback
- Curated Wine/manual fallback
Community workarounds are only allowed when they are explicitly curated in the catalog.
Unreviewed community suggestions may be installed only when:
- 1.
skills.entries.linux-installer.unsafeCommunityInstalls is enabled in INLINECODE7 - the user explicitly confirms the unreviewed install
- the install command includes INLINECODE8
Prerequisites
Before using this skill, ensure the helper CLI is installed:
CODEBLOCK0
Workflow
If you are expanding curated coverage, use CATALOG_GUIDE.md to decide which apps belong in catalog.json and which should rely on dynamic discovery.
When the user asks to install an app:
- 1. Resolve the best path:
CODEBLOCK1
- 2. Summarize the result:
- chosen source
- package id
- whether it is an official package, fallback, or community workaround
- whether it is curated or unreviewed
- missing tooling, if any
- tooling bootstrap command, if any
- source URL, if available
- public summary and any best-effort review note
- exact install command
- launch command
- warnings or fallbacks
- 3. Ask for confirmation before installing.
- 4. If the selected result is a community workaround, ask for a second explicit confirmation that acknowledges it is unofficial/community-maintained.
- 5. If the selected result is an unreviewed suggestion, explain that:
- it was discovered dynamically from public package metadata
- it is not maintainer-reviewed
- opt-in support for unreviewed suggestions must be enabled first
- it requires a separate unreviewed-install confirmation
- 6. After confirmation, run:
CODEBLOCK2
For a community workaround, include --allow-community:
CODEBLOCK3
For an unreviewed suggestion, include --allow-unsafe and ensure opt-in support for unreviewed suggestions is enabled in openclaw.json.
- 7. Return the launch command:
CODEBLOCK4
- 8. Optionally launch the installed app:
CODEBLOCK5
- 9. For removal, prefer the helper's uninstall command. If the result is a manual or unsafe removal path, return the command or manual steps instead of improvising:
CODEBLOCK6
Rules
- - Never install anything before the user confirms.
- Never install a community workaround without a second explicit confirmation.
- Never install an unreviewed suggestion unless opt-in support is enabled and the user explicitly accepts the unreviewed path.
- Prefer the helper CLI output over ad hoc shell reasoning.
- If
resolve says no safe automated path was found, do not invent install steps. - Manual/archive fallbacks may surface curated
manual_steps, but the helper must not auto-download or auto-run them. - Manual/archive and other unsafe removal flows may surface
manual_steps, but the helper must not auto-delete them unless the uninstall path is explicitly curated and safe. - Wine/manual flows are higher risk and should be presented as fallback options, not defaults.
- Community workarounds must be presented as unofficial, curated alternatives.
- Unreviewed suggestions must be presented as research findings, not trusted recommendations.
- Always tell the user the exact command to launch the app after install.
Linux 安装器
该技能的功能
解析 Linux 桌面应用的最佳支持安装路径,简要说明推荐理由,在进行任何系统更改前请求确认,执行安装,并返回精确的启动或卸载命令。
如果所选源需要缺失的工具(如 snapd、flatpak、wine 或 winetricks),助手可先通过主机的原生包管理器引导安装这些工具。
当没有官方 Linux 包时,它还可以返回精选的社区解决方案。这些方案必须明确标注,并在安装前需要额外的明确确认。
当没有精选或官方路径时,助手可能会从公共包元数据中展示未经审核的社区建议。这些是研究结果,而非可信的安装元数据。
默认源优先级为:
- 1. Flatpak
- Snap
- 原生包管理器
- openSUSE zypper
- Arch pacman
- 原生 Arch AUR 助手
- Nix 配置文件安装
- AppImage
- 精选官方手册/归档备选方案
- 精选 Wine/手册备选方案
仅当社区解决方案明确收录在目录中时,才允许使用。
未经审核的社区建议仅在以下情况下可安装:
- 1. 在 openclaw.json 中启用了 skills.entries.linux-installer.unsafeCommunityInstalls
- 用户明确确认了未经审核的安装
- 安装命令包含 --allow-unsafe
前置条件
使用此技能前,请确保已安装助手 CLI:
bash
cd ~/.openclaw/skills/linux-installer
pip install -e .
工作流程
如果您要扩展精选覆盖范围,请使用 CATALOG_GUIDE.md 来决定哪些应用应放入 catalog.json,哪些应依赖动态发现。
当用户要求安装应用时:
- 1. 解析最佳路径:
bash
linux-installer resolve gimp
- 2. 总结结果:
- 所选源
- 包 ID
- 是否为官方包、备选方案或社区解决方案
- 是否为精选或未经审核
- 缺失的工具(如有)
- 工具引导命令(如有)
- 源 URL(如有)
- 公共摘要及任何尽力而为的审核说明
- 精确的安装命令
- 启动命令
- 警告或备选方案
- 3. 在安装前请求确认。
- 4. 如果所选结果是社区解决方案,请求第二次明确确认,以表明其为非官方/社区维护。
- 5. 如果所选结果是未经审核的建议,说明:
- 它是从公共包元数据中动态发现的
- 未经维护者审核
- 必须先启用对未经审核建议的选择性支持
- 需要单独的未经审核安装确认
- 6. 确认后,运行:
bash
linux-installer install gimp --source flatpak --package org.gimp.GIMP --yes
对于社区解决方案,包含 --allow-community:
bash
linux-installer install roblox --source flatpak --package org.vinegarhq.Sober --yes --allow-community
对于未经审核的建议,包含 --allow-unsafe,并确保在 openclaw.json 中启用了对未经审核建议的选择性支持。
- 7. 返回启动命令:
bash
linux-installer run-info gimp --source flatpak --package org.gimp.GIMP
- 8. 可选地启动已安装的应用:
bash
linux-installer run gimp --source flatpak --package org.gimp.GIMP
- 9. 对于卸载,优先使用助手的卸载命令。如果结果是手册或非安全卸载路径,则返回命令或手动步骤,而非临时编造:
bash
linux-installer uninstall gimp --source flatpak --package org.gimp.GIMP --yes
规则
- - 在用户确认前,绝不安装任何内容。
- 未经第二次明确确认,绝不安装社区解决方案。
- 除非启用了选择性支持且用户明确接受未经审核的路径,否则绝不安装未经审核的建议。
- 优先使用助手 CLI 的输出,而非临时编写的 shell 逻辑。
- 如果 resolve 显示未找到安全的自动化路径,不要自行编造安装步骤。
- 手册/归档备选方案可能展示精选的 manualsteps,但助手不得自动下载或自动运行它们。
- 手册/归档及其他非安全卸载流程可能展示 manualsteps,但除非卸载路径明确为精选且安全,否则助手不得自动删除它们。
- Wine/手册流程风险较高,应作为备选方案而非默认选项呈现。
- 社区解决方案必须作为非官方的精选替代方案呈现。
- 未经审核的建议必须作为研究发现而非可信推荐呈现。
- 安装后务必告知用户启动应用的确切命令。