关于 olares-market
olares-market 是用于管理 Olares 应用目录与生命周期的命令行技能,面向部署和维护应用的用户。它涵盖目录发现、安装状态跟踪及图表管理。
主要功能
- 01浏览目录与已安装应用
- 02安装、升级和克隆应用
- 03停止、恢复、重启或卸载应用
- 04查看应用生命周期状态
- 05上传、下载和删除图表
适用场景
- 01查看当前用户已安装的应用
- 02跟踪应用安装或升级结果
- 03部署上传的应用图表
- 04暂停或移除指定应用
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ beclab/ olares --skill olares-market安装后在 Claude Code 中输入/olares-market确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/olares-market-chart-download.mdolares-market-chart-publish.mdolares-market-lifecycle-add.mdolares-market-lifecycle-remove.mdolares-market-list.mdolares-market-restart.mdolares-market-watch.md详细介绍
market(App-store v2)
**共享入口:**加载
../olares-shared/SKILL.md,了解套件路由、活动配置文件选择、平台入口点,以及认证继续/停止门槛。仅在确实需要登录、切换配置文件、存储令牌或恢复认证时,才加载其中的认证参考。
使用 olares-cli market <verb> --help 获取权威语法。
适用场景
- 浏览目录或查看“我的应用”。
- 安装、升级、卸载、克隆、停止、恢复、重启或取消应用。
- 检查生命周期状态或管理已上传的 chart。
思维模型:
market负责应用商店层面的生命周期和库存(安装/升级/推送 chart)。对于运行时 K8s 对象、设置或指标,请转到同级工具。
模型应用与其他应用一样在此安装——对于固定模型,使用 install;对于在表单中选择模型的引擎底座,使用 clone。不同之处在于后续操作:olares-router 会检测到该应用,并创建将请求路由到它的网关提供方;随后由它负责模型自身的下载、引擎状态和卡片。
快捷操作
| 任务 | 阅读 | 首条命令 |
|---|---|---|
| 安装目录中的应用并确认何时启动 | 监视和诊断路由 | olares-cli market install <app> --watch --watch-timeout 1m -o json,然后读取 .status |
| 查看此用户已安装的应用 | 本文件 | olares-cli market list --mine -o json |
| 跟踪某个应用的生命周期 | 本文件 | olares-cli market status <app> |
| 移除、暂停应用,或停止正在进行的操作 | 卸载、停止、恢复、取消 | olares-cli market status <app> -o json,查看操作是否已完成 |
| 将你构建的 chart 部署到此 Olares | 发布 chart | olares-cli market upload ./chart.tgz,然后执行 olares-cli market install <name> -s upload |
--watch 会轮询,因此超时表示“尚未到达终态”,而非失败;running 表示每个入口都能响应 TCP 请求,并不代表应用可正常工作。安装出错时通常会进入 downloadFailed,而不是 installFailed——常见故障(镜像标签不存在、无法访问注册表)会在拉取阶段、安装开始之前发生——而这一差异决定了哪些操作可以解除故障:downloadFailed 只接受全新的 install,而 installFailed 接受 uninstall。
.status用于判断命令结果,.finalState表示应用最终状态,且只有前者与动词无关。使用--watch时,当条目按当前动词的预期状态完成后,.status会变为success;因此脚本应检查该值和退出代码。只有在状态本身很重要时,才值得读取.finalState——但running仅是install、upgrade和restart的完成状态;成功的stop会进入stopped,成功的uninstall会进入uninstalled,因此照搬安装示例中的running检查会把这两种操作都误判为失败。不使用--watch时,不会有.finalState,而.status为accepted,这表示服务端已接受请求,并不表示应用已启动。
动词索引
| 类别 | 动词 | 触发时查阅 |
|---|---|---|
| 目录 + 清单 | list、get、categories、status | list、--mine 和状态 |
| 生命周期 — 安装应用 | install、upgrade、clone | 这三个命令都接受 -s 和 --compute-mode,而 clone 的新名称是 .targetApp — install、upgrade、clone |
| 生命周期 — 卸载或暂停应用 | uninstall、stop、resume、cancel | 都不接受 -s;如果应用正在执行操作,uninstall 会先取消;取消 resuming / upgrading 需要 Olares 1.12.7+ — uninstall、stop、resume、cancel |
| 重启 | restart | restart、计算绑定和基线监控 |
| 图表 | upload、delete | 两者都会将存储桶固定为 upload;已发布版本的字节内容不可变 — 发布图表 |
| 图表 | download | 读取端,也是三个命令中唯一接受 -s 的命令 — 下载图表 |
| 监控 / 卡住的操作 | 生命周期 --watch、status --watch | 监控和诊断路由 |
来源解析(跨命令)
market.olares是公共目录,也是浏览和支持来源选择的生命周期动词的默认来源。upload是 Local Sources 存储桶。upload和delete始终使用它;download默认使用它。cli和studio是用于只读清单的旧版 / 开发来源。--all-sources是只读的。uninstall、stop、resume和restart会解析用户的状态行,而不是接受来源。- 只有在状态行已消失或无法读取,且用户明确知道来源时,才传入
cancel --source。
应用生命周期 / 状态机
在解读状态、转换、失败 TTL、串行下载或 running 时,加载共享的应用状态模型。
State 和 OpType 相互独立。执行变更后,在 OpType 发生变化之前,旧的、看似终态的状态可能仍然可见。因此,执行变更的监控器必须先观察到请求的操作,才能判定成功;如果状态行消失,uninstall 也可能成功。status 和 cancel 则有意不受操作类型限制。
清单查询决策
- “我的应用” →
market list --mine;其中包括有用的过渡状态和失败状态行,而不只是已完成的安装。 - 查询单个应用的生命周期 →
market status <app>。 - 查询运行中的应用 →
market status --all-sources,然后筛选STATE=running。 - 浏览目录 →
market list。
安全与升级处理
- 将用户明确提出的生命周期请求视为已授权的任务范围。在已授权的部署 / 调试循环中,无需反复确认
install、upgrade、restart、uninstall和全新安装。 - 如果应用 / 来源不明确、删除操作扩大到用户数据,或操作超出已授权任务范围,则再次询问。
- 计算绑定来自
settings compute list;不要编造节点 / 设备标识符。 - 生命周期操作卡住时,需要跨命令诊断:先检查状态,再使用
olares-doctor检查 Pod、事件、日志、镜像和资源。 - 如果凭据、必需的环境值、计算选项或目标应用 / 来源不明确,请停止操作。身份验证失败时,遵循共享的身份验证门控流程。