Ark(Agent Runtime Kit,命令 ark):本机跨平台(Windows / Linux / macOS)环境部署管理 CLI:管 53 个工具与 agent 运行时的版本解析、下载校验、PATH 注册、pin 锁定、更新与 doctor 诊断,一个标准一个配置,五端(Windows/WSL/mac/ubuntu/linux)同一套验收。
- 53 工具全量纳管:agent 四家、运行时七家、编译器四家到命令工具廿余家(清单见供给清单表,权威在云端 catalog)
- 幂等安装:检测驱动,已装且版本一致即跳过,重跑零副作用;PATH、注册表与配置一次写对
- doctor 三层诊断:系统 / 依赖两层加 check 节(环境错误、配置健康、部署深诊、网络通连),列缺口与修复建议
- 镜像默认通道:下载与元数据默认 env.ohmygh.com、GitHub 兜底、有 sha 锚必校验(五端不再撞 GitHub 匿名配额)
- 清单云端权威:catalog 四重门(边车锚、schema、minisign 验签、seq 单调),新增软件不用换二进制
ark doctor # 体检:列缺口与修复建议
ark install # 全量幂等安装(53 工具)
ark status # 锁定 / 已装 / PATH 三态对照Note
何时不用:ark 管的是「本机工具链部署」,不管 CI 侧容器镜像构建(各仓 CI 自管),也不管远端服务器编排(归 ohmycloud 舰队)。
二进制发行版(推荐,三平台资产带 .sha256 边车):
# 从 Release 下载对应平台资产(ark-<triple>.zip/.tar.gz 或裸件)
curl -LO https://github.com/raystyle/ark_rs/releases/latest/download/ark-x86_64-unknown-linux-gnu
curl -LO https://github.com/raystyle/ark_rs/releases/latest/download/ark-x86_64-unknown-linux-gnu.sha256
sha256sum -c ark-x86_64-unknown-linux-gnu.sha256 # 校验后进 PATH源码构建自部署(需要 rustup;三平台同一套流程):
git clone https://github.com/raystyle/ark_rs
cd ark_rs
cargo build --release
.\target\release\ark init # Windows(PowerShell 7)git clone https://github.com/raystyle/ark_rs
cd ark_rs
cargo build --release
./target/release/ark init # Linux / WSL / macOSark init 自部署:二进制进用户程序目录(Windows %LOCALAPPDATA%\Programs\ark,POSIX ~/.local/bin)、同步 catalog、注册 PATH,幂等可重跑。重开终端后 ark doctor 验证。
升级:ark self update(dev 滚动默认 / --stable 正式 / --git 源码三通道;默认镜像段读序、GitHub API 兜底)。
- 被管理工具装在 EnvRoot:Windows 默认
D:\ohmyenv(无 D: 盘则C:\ohmyenv),Linux / macOS 默认~/.local/share/ohmyenv;可用--env-root或ARK_ROOT改 - ark 自身装用户目录,与 EnvRoot 解耦;旧
ome部署位在升级时自动清扫(别名已停建,2026-09-14 全舰队水位清零收口;旧环境变量读回已撤,2026-09-18 剔除批)
ark 无配置文件:行为配置走环境变量,软件清单与工具级配置走云端 catalog 与 manifest(数据面 ohmycloud 权威)。
| 环境变量 | 作用 | 默认 |
|---|---|---|
ARK_ROOT |
EnvRoot 覆盖(被管理工具安装根) | 平台默认(见部署节) |
ARK_CATALOG |
清单文件显式指定(开发/测试用) | 四级解析(用户数据副本优先) |
ARK_CATALOG_TTL |
清单自动刷新间隔秒数,0 关 | 86400(24h) |
ARK_OFFLINE |
1 关清单自动刷新(离线态) |
未设 |
ARK_MIRROR |
0 官方优先逃逸阀(镜像故障时用) |
镜像默认通道 |
ARK_TEST_REAL / ARK_TEST_MIRROR |
真机/真网测试闸门(开发用) | 未设即 skip |
清单数据权威在云端(ohmycloud catalog-seed 与镜像三件套),本仓持格式契约与消费逻辑。拉取链过四重门,任一不过即拒收:
- 边车 sha 锚:清单 sha256 与边车逐字对上
- schema 解析:
Catalog::load解析不过不收 - minisign 验签:公钥内嵌二进制,签名不过不收
- seq 单调门:顶层 seq 低于已见拒收(防回滚重放旧但签名有效的清单对)
下载与元数据默认走自建镜像、GitHub 兜底(D44 下载链反转,2026-09-13;D51 全链转正,2026-09-18:解析面 pin 驱动零 GitHub API、self update 元数据镜像段读序先行、update 对齐 catalog pin;有专属分发域的工具(catalog 节键 mirror_domain,如 reader.ohmygh.com)镜像腿走专属域、缺省回落 env.ohmygh.com);镜像未命中或失败秒级回落官方(下载走官方直链与完整链,无 API 配额面);有 sha 锚(catalog pin、镜像边车或官方清单)必校验,锚不符视同失败回落。
运行时工具族的中国源配置走 manifest mirror 节(数据面声明、引擎落源,D42):fnm 面 FNM_NODE_DIST_MIRROR 与 npm registry(npmmirror)、uv / pip 清华 TUNA 加 python 安装 NJU、bun npmmirror;win 落用户环境变量与各工具原生配置位、POSIX 落 shell rc(profile env 块)与 XDG 配置位。rust 由 rustup 接管模块原生落 rsproxy 全量。幂等:内容一致零重写,存量端 ark install / ark update 即得。
53 个工具(清单权威在云端 seed 与镜像三件套,2026-09-18 实况:browser-harness 已出册、reader 已回册、browse/officecli/oxvg/resvg/agent-svgtools 入册),agent 四家二进制 PATH 在位即跳过、存量原地纳管:
| 类 | 工具 |
|---|---|
| 智能体(4) | claude、codex、grok、kimi |
| 自管(1) | ark(自管条目,原 ome;ome 过渡条目已收口 2026-09-18) |
| 操作编排(1) | herdr(多 agent 并行会话宿主) |
| agent 配置与诊断(1) | hst(原 oma;Hooks、Statusline、Trace 与只读观测) |
| 云端控制台(1) | omc(云与内网控制台 CLI,npm-tgz 通道) |
| 运行时(7) | pwsh、wsl、docker、dotnet、bun、python、nushell |
| 运行时管理器(2) | fnm(node)、uv(python) |
| 编译器(4) | vsbuild(含 C 编译器)、rust、go、zig |
| 多路复用(1) | rmux |
| 远程服务(1) | openssh |
| 密钥安全(3) | age、sops、gitleaks |
| 命令工具(27) | git、gh、aria2、7z、gsudo、oscdimg、rg、jq、mq、yq、starship、just、ast-grep、rumdl、shellcheck、zoxide、sheldon、ffmpeg、rclone、reader、lightpanda、typst、browse、officecli、oxvg、resvg、agent-svgtools |
平台空态如实表达:sheldon 上游无 Windows 资产、shellcheck 仅 Linux 入册、ffmpeg 官方 mac 构建仅 Intel、lightpanda 上游无 Windows 构建。
任务型渐进示例(每步幂等可重跑):
ark doctor # 1 体检:系统/依赖诊断列缺口
# 诊断缺口会带下一步建议命令(CTA)
ark install # 2 全量安装(或单装:ark install rg)
ark status # 3 三态对照:锁定/已装/PATH
ark verify # 4 部署域验收,FAIL 退出码非零可进脚本查与更新:
ark query ffmpeg --latest # 只解析最新版与资产,不下载(显式 latest 走 GitHub API 兜底)
ark install gh --dry-run # 安装预览:版本/资产与 sha/解压目标/PATH 注册面/幂等预测,不落盘
ark update --dry-run # 更新预览:三态漂移(drift)与将执行动作(含家族委托腿),不落盘
ark update [名] # 家族自研 CLI(hst/browse/reader/officecli)委托其自身自升级;其余对齐云端锁定(零 GitHub API;落后补装、领先如实报,D49/D51)
ark pin rg --version 14.1.1 # 临时本地锁(下次 sync 被云端覆盖;lock 为别名)清单与自愈:
ark catalog # 看 catalog 与 manifest 两面:在位、锚、年龄、签名、同步态
ark catalog sync # 立即从云端刷新(默认 TTL 24h 自动刷新;ARK_CATALOG_TTL 改,ARK_OFFLINE=1 关)
ark heal aria2 --dry-run # 部署维度幂等自愈预览(PATH 修复、镜像源补写等)issue 账本(真源 ledger.ohmygh.com;issues.ohmygh.com 过渡期保役):
ark issue new "doctor 报 PATH 重复" --kind bug --acceptance "修复并验证" # 开单(回执 issue 号与 seq)
ark issue list --limit 3 --before 51 # keyset 游标翻更早一页(count 是本次返回条数非在册总数)
ark issue show 3 # 详情(projection 与 timeline)
# 关单/删除唯一道:开发工作台 herdr 委托 omc 工位(omc ledger issue status/delete)artifact 产物共享库(正文或记录哈希为身份,库不收二进制实体):
ark artifact publish --name "镜像通道教训" --kind lesson --digest sha256:<64hex> --summary "一句话"
ark artifact attest <id> --attest-type attest_dev # 开发验证(生产验证 attest_prod)
ark artifact list --current # 当前版列表(晋级/降级归 omc 工作台)输出契约:数据走 stdout、提示走 stderr、错误为单行 JSON;--format kv|json|jsonl 可选;裸调用 ark 出导航指引 exit 0。完整字段与退出码契约见 docs/knowledge/references/R013-Agent友好IO契约-输出格式退出码与冻结面.md。
- 发现通道:
ark --llms命令手册唯一通道(D50 撤 skill 面;REQ-0011 cli-docs 采纳:版本注入、读序、退出码节,漂移守卫测试锁与--help同源);mcp add 通道不适用(ark 是部署 CLI 非 MCP server,agent 编排归 ohmyagents)。 - actl 适配(REQ-0016,手册头部在册):独立直用完全不变;经 actl(ai-cloud 框架)调用时写级动词(install/update/heal/init、pin 设锁形、catalog sync、self update)过其写闸(预览缺省,加
--yes执行),--json出 TOON 信封;写闸只预览 exec 行,真计划走 install/update--dry-run(不落盘出版本/资产与 sha/解压目标/PATH 注册面)。 - 输出信封:key=value 数据面加结构化错误四元组加退出码,契约冻结于 R013(对外冻结面),不迁移 {ok,data,meta} 同构信封(改造破坏冻结契约,裁定不适用)。
- CTA:status 漂移提示(D09-3)与 doctor verdict 面在位(文本 HINT 形;类型化 CTA 结构随信封裁定同不适用)。
- token 计量与分页与输出过滤:裁定不适用(输出体量为五十工具全量百行级,
--format与--llms已覆盖检索需求;体量增长再立项)。
完整选项:ark --help;agent 手册:ark --llms。
| 问题 | 对策 |
|---|---|
| 装完命令找不到 | 重开终端(PATH 注册面新会话生效);ark doctor 查 PATH 卫生 |
| GitHub 限流报错 | 默认路径零 GitHub API(D51);显式 --latest 触发时可等配额窗口或先 ark catalog sync |
| 镜像故障 | ARK_MIRROR=0 官方优先逃逸阀 |
| 清单拒收(验签/seq) | ark catalog sync 重拉;持续失败 ark issue new 反馈 |
克隆后 cargo build --release;验证门禁与协作规则见 AGENTS.md(五节合同)与 llms.txt(agent 检索面)。测试 cargo test --release --locked;真机闸门 ARK_TEST_REAL=1、真网镜像闸门 ARK_TEST_MIRROR=1。