AgentMeshOS 脚本库
更新:2026-10-09。本文只列出仓库中当前保留、可作为现行入口的脚本;参数、权限和回滚要求以各脚本 --help 与部署规范为准。
📌 结论摘要
本文是 AgentMeshOS 当前保留脚本的交付索引,结论是部署、维护和客户端脚本必须从对应仓库路径进入,执行前按要求核对目标节点、权限、版本和回滚方式。依据是各脚本自身元信息与 docs/architecture/07_部署规范.md;本次同步把 API Gateway 升到 v2.3.0,为 Tailnet 节点采集增加总预算内有界重试和明确失败日志;把 Linux 节点遥测升到 v0.4.0,只启用 Gateway 实际使用的 collector 并增加容器根路径健康检查。影响是 101 等节点的瞬时 Tailnet 尾部延迟不再直接投影为“采集失败”,同时每次采样体积和 exporter 暴露面均下降。
版本门禁已更新。
📚 目录
🚀 部署
| 脚本 | 用途 | 执行位置 |
|---|---|---|
agentmeshos-ai-runtime-deploy.sh |
仅部署主节点薄 Runtime、验证并复用 RR 到 102 的受限 OmniRoute socket proxy、保留既有 OmniRoute 调用凭据、System Operations Bridge HMAC Adapter、可选 CLI Gateway 内部 Key 注入和 root-only File-Hub WebDAV Artifact Adapter;统一注入上海时区;明确拒绝 RR 本地 OmniRoute 数据、包、unit 或 drop-in 重新出现;不再通过 SSH、Tailnet 或节点网络构建、传送或预加载 Worker 镜像,Worker 镜像必须由独立的 Cloudreve 公网 HTTPS 导入流程发布(v4.8.0) | main |
agentmeshos-system-operations-bridge-deploy.sh |
部署只允许固定诊断、固定服务重启和 Docs 部署/回滚的 root systemd Bridge;只监听 Runtime Docker 私网 172.30.70.1:39184,不接受任意命令或目标;固定重启为 Runtime 冷启动保留受限健康等待窗口(v0.1.2) |
main |
agentmeshos-cli-agent-gateway-deploy.sh |
部署 AI Boss 的隔离 CLI Agent 备用通道;固定内网地址、无宿主机端口、非 root、只读根文件系统、统一上海时区、受控图片输入和脱敏审计(v0.6.0;图片仅允许真实 Smoke 已通过的后端) | main |
agentmeshos-api-gateway-deploy.sh |
部署状态与告警聚合 API,包含 Android Termux 自采集快照的资源投影;统一注入上海时区;Tailnet 节点采集使用总预算内有界重试和脱敏失败日志;ClawBot 状态辅助服务异步运行,不阻断主发布(v2.3.0) | main |
agentmeshos-clawbot-model-provider.sh |
配置 OpenClaw 官方自定义模型 Provider、默认模型、SecretRef、Gateway loopback、精确正文 smoke、部署回退与健康检查;错误正文不再被 .ok=true 误判为成功(v1.1.0) |
RR |
agentmeshos-auth-site-deploy.sh |
部署认证站;统一注入上海时区并校验公网登录入口(v0.3.2) | main |
agentmeshos-mm-auth-vhost.sh |
同步 MM 宝塔面板配置源与渲染配置,强制认证站回源 100.64.0.1:39200,校验运行态、回源健康和公网登录页,并以已验证的 last-known-good 回滚(v0.2.1) |
MM |
agentmeshos-console-site-deploy.sh |
部署统一控制台;统一注入上海时区(v0.3.0) | main |
agentmeshos-omniroute-controlled-discovery-deploy.sh |
部署受控 OmniRoute Discovery Bridge、追加式历史事实库、连续失败阈值与每日 Provider 验证 timer(v0.2.0) | main |
agentmeshos-omniroute-native-deploy.sh |
在目标节点一次性安装冻结版本的官方 Node 与 OmniRoute,维护 loopback systemd、资源上限和健康检查;安装前重新回读 npm latest、integrity、shasum 与 unpackedSize,不恢复数据、不切换 MM 回源(v0.1.1;强制 sqlite3 快照依赖) |
102 隔离目标 |
agentmeshos-omniroute-edge.sh |
在 102 同时建立 Tailnet 100.64.0.4:39200 与 LAN 192.168.50.102:39200 入口,以 systemd-socket-proxyd 反代 127.0.0.1:39180;Tailnet 放行 RR/MM/101 与三台 Edge 回源,LAN 只放行 101 固定地址 192.168.50.101,其他来源按接口 DROP;固定 LimitNOFILE=65536:65536、--connections-max=4096 和失败重启(v0.2.2) |
102 |
agentmeshos-docs-docker-deploy.sh |
部署文档站;支持固定最近镜像回滚入口供受控 Bridge 使用;统一注入上海时区(v0.4.0) | main |
agentmeshos-status-site-deploy.sh |
部署状态站;统一注入上海时区(v0.3.0) | main |
agentmeshos-derp-edge-deploy.sh |
部署官方 derper/STUN 边缘,支持 region 900 至 903 的同源端口、Nginx WebSocket 回源和镜像回收;统一注入上海时区(v0.4.2) |
MM / DD / d02 / dog-public |
agentmeshos-edge-nginx-deploy.sh |
部署同源 Edge Nginx,覆盖核心域名、DERP WebSocket、证书检查和 HTTPS 防火墙门禁;status/docs/api/auth 仅允许 Console 嵌入并隐藏上游 XFO,其他站点保持 SAMEORIGIN;upstream 按节点命名避免历史站点重名(v0.3.1) | MM / d02 / DD / dog-public |
agentmeshos-edge-certificate.sh |
使用固定版本 acme.sh 与 AliDNS DNS-01 签发并安装 Edge 多域名证书,校验私钥匹配和 SAN,安装每日续期任务(v0.1.0) | d02 / DD / dog-public |
agentmeshos-three-dogs-edge.sh |
在四个 Edge 部署同构 threedogs.vip / www.threedogs.vip vhost,使用 origin-threedogs.yohan.fun、Origin 认证头、公开 GET/HEAD 缓存与 stale-if-error;dog 侧动态同步 Edge 来源 IP 和 UFW,并以内置 CA 验证 Origin 和接受业务 3xx(v0.1.1) |
MM / d02 / DD / dog-public |
agentmeshos-threedogs-certificate.sh |
通过 Dynadot CNAME 委派和 AliDNS DNS-01,为每个 Edge 独立签发、安装和续期 threedogs.vip + www.threedogs.vip ECC 证书,并在签发后复核 challenge TXT 清理(v0.1.1) |
MM / d02 / DD / dog-public |
agentmeshos-threedogs-dynadot.py |
仅管理 Dynadot threedogs.vip 的两条固定 ACME Challenge CNAME;支持 show、dry-run、备份后 apply 和 rollback,不做任意 DNS 编辑(v0.1.0) |
RR |
agentmeshos-proxy-node-deploy.sh |
安装固定版本 2S-UI、校验官方发布包 SHA-256、保留 last-known-good,等待 Tailnet 地址就绪后再启动,并把面板和订阅限制在节点 Tailnet 地址,以 raw PREROUTING 前置守卫仅允许 rr Master 访问(v0.2.1) |
d02 / dog / dd / MM |
agentmeshos-proxy-inbound-deploy.py |
幂等创建或更新 2S-UI inbound;默认 dry-run,显式 --apply --yes 才写入;SS2022 密码使用节点 root-only 状态文件,已有 inbound 缺状态时拒绝轮换;支持 Master 的 --api-host(v0.2.4) |
d02 / dog / dd / MM / rr |
agentmeshos-proxy-master-deploy.py |
在 rr Master 注册节点、等待在线、纳管各节点 inbound,并创建统一客户端订阅;当前默认 topology 使用五台 24443/tcp VLESS Reality,固定为 MM -> d02 -> dog -> dd -> rr 顺序,同时写入 Mihomo fallback 优先组;默认只读计划,写操作必须显式 --apply --yes,客户端凭据冲突时拒绝自动轮换(v0.2.0) |
rr |
agentmeshos-proxy-network-dns.py |
节点与代理别名收敛管理:rr 保留独立 A 记录;rr-proxy -> rr、mm-proxy -> mm、dog-proxy -> dog、proxy/panel-* -> edge、origin-threedogs -> dog 使用 CNAME;支持 show、dry-run、apply、带备份的 cutover-control 和 rollback-control,不再重复保存节点 IP |
101 |
agentmeshos-proxy-panel-gateway.sh |
在健康 Edge 上维护 proxy.yohan.fun 与四个 panel-*.yohan.fun 的 HTTPS 网关;proxy 回源 RR 2095/2096,面板统一经 RR 100.64.0.1:39200 回源,保留 WebSocket、Host、Origin 和 X-Forwarded-*(v1.1.0) |
d02 / DD / dog-public |
agentmeshos-proxy-panel-cutover.py |
受控修改 2S-UI 节点 webDomain/webURI、RR /etc/hosts 和 Master 节点 base_url;写入前创建 SQLite 一致性快照,支持逐节点与 Master 回滚;默认只读 show/plan,apply 必须显式 --yes(v1.0.0) |
MM / d02 / dog / dd / rr |
agentmeshos-node-metrics-deploy.sh |
部署 Linux 节点只读遥测;使用官方 node_exporter:v1.9.1,只启用 Gateway 实际读取的 collector,增加根路径容器健康检查,只允许当前采集端 RR 100.64.0.1 读取,容器重启策略为 always,统一注入上海时区,并以 raw PREROUTING 前置守卫阻断其他 Tailnet 来源(v0.4.0) |
对应节点 |
agentmeshos-nas-node-metrics-deploy.sh |
部署 NAS 只读遥测;容器重启策略为 always,统一注入上海时区,只维护命名容器,不执行全局镜像清理(v0.2.0) |
nas-sz |
agentmeshos-nomad-client-deploy.sh |
部署 Nomad Client | 101 / 102 / 103 |
agentmeshos-nomad-batch-secrets-volume-deploy.sh |
配置单次 Batch 凭据内存卷 | 101 / 102 / 103 |
agentmeshos-web-verifier-isolation-deploy.sh |
为网页验证器专用 Docker 子网安装受限出口规则;仅从 cloud.yohan.fun 公网 HTTPS 下载已登记镜像归档,校验 SHA-256、导入后的 image ID,并创建独立保留标签。仅允许 DNS 与公网 TCP 80/443,拒绝私网、Tailnet、链路本地和云元数据,不修改 UFW 或通用 Docker 网络(v0.3.0) |
经过核验的验证 Worker |
🔧 维护
| 脚本 | 用途 |
|---|---|
agentmeshos-main-origin-gateway.sh |
维护 main 的私有回源网关与 Headscale 信任代理;旧 Console /app/ 入口只保留到独立 2S-UI 控制面 proxy.yohan.fun 的兼容跳转,并新增四个 panel-* Host 到节点 Tailnet 2095 的转发和契约检查(v0.8.0) |
agentmeshos-exit-node-baseline.sh |
在 RR、MM、DD、d02、dog-public 上只读检查或应用双栈 Exit Node 宣告;强制保持 --exit-node=、accept-dns=false 和 accept-routes=false,非目标节点拒绝执行(v0.1.0) |
agentmeshos-headscale-exit-node-routes.py |
从节点登记表检查或批准五台候选的 0.0.0.0/0 与 ::/0 Headscale 路由,支持单节点回退;默认不批准非目标节点(v0.1.0) |
agentmeshos-edge-dns-controller.py |
通过 101/RR 双视角连续健康判定控制 edge.yohan.fun;当前生产固定 IPv4-only,切换、稳定回切和 rollback 都会删除 AAAA;计划同时管理节点身份与派生 CNAME,并校验 proxy 控制面健康;支持 show/check/dry-run/switch/evaluate/rollback 和幂等 ensure-records |
agentmeshos-edge-dns-controller-install.sh |
核验 AliDNS 凭据、候选记录和健康证据后,安装 Edge DNS 控制器、oneshot service 与 30 秒 timer;保留状态、记录和凭据的独立卸载边界(v0.1.4) |
agentmeshos-mm-edge-ipv6-guard.sh |
幂等检查并补齐 MM mesh/cloud/auth/console/docs/status/api/omni/nomad/ai 十个核心域名的 IPv6 80/443/quic 监听,任一目标文件、监听锚点或重复项异常时 fail closed,修改前逐文件备份,校验失败自动回退(v0.2.0) |
agentmeshos-omniroute-health-observation.py |
只读观察 102 生产态、edge FD 门禁、公网 health、RR omni 退役路径和 RR Runtime 代理;默认把 JSON 记录写到 101 独立备份盘 agentmeshos/omniroute-health/(v0.2.0) |
agentmeshos-omniroute-health-observation-install.sh |
安装/查看/卸载 OmniRoute 健康观察脚本与每 15 分钟 systemd timer;安装时会立即执行首轮观察并回读 latest.json(v0.2.0) |
agentmeshos-reboot-resilience.sh |
安装主节点 bootstrap、本机 Headscale Tailnet 一次性恢复、私有回源 last-known-good、Docker 就绪顺序、主机网络隔离校验和 Runtime 网络端点恢复;edge.yohan.fun 在应用时解析为公网 IPv4,源文件不保存 MM 地址(v0.4.1) |
agentmeshos-worker-reboot-readiness.sh |
Worker 启动时固定主机网络/DNS隔离并等待 Tailnet IPv4 |
agentmeshos-host-network-isolation.sh |
在主节点和所有 Linux 节点启动时固定主机物理网络/DNS,禁止 Tailnet 接管宿主机(v1.0.0) |
agentmeshos-docker-image-cleanup.sh |
仅清理当前组织前缀下、带 sha-* 标签且未被任何容器引用的旧镜像;保护 running/stopped 容器引用及 rollback、latest、current 标签;支持管道部署入口(v1.1.1) |
agentmeshos-linux-log-rotation.sh |
管理 Linux 节点的 messages logrotate、按系统可用日志组生成 rsyslog su 与 journald SystemMaxUse、SystemKeepFree、MaxRetentionSec 基线;支持 check、plan、apply、verify、rollback(v1.0.4) |
agentmeshos-nomad-backup.sh |
备份 Nomad 配置与可恢复控制面状态 |
agentmeshos-node-inventory-export.sh |
导出状态页允许展示的节点清单 |
agentmeshos-capability-collect.sh |
采集 101/102/103 受控节点能力证据(v0.3.2) |
agentmeshos-resource-decision.sh |
按当前 Nomad 状态选择符合资源约束的 Worker(v1.2.2) |
agentmeshos-node-capability-baseline.sh |
执行受控节点能力基准 |
agentmeshos-controlled-batch-submit.sh |
提交受限 Nomad Batch |
agentmeshos-console-alert.sh |
写入受控控制台告警(v0.2.1) |
agentmeshos-clawbot-status.py |
在 RR 通过官方插件清单和通道探针生成脱敏微信 ClawBot 状态快照;插件缺失、探针失败、未绑定、过期和已连接分别投影(v1.1.0) |
agentmeshos-backup-health-check.sh |
巡检 101 备份链路并把异常写入控制台告警中心(v0.2.0) |
project-cloudreve-sync.sh |
101 到 Cloudreve Project 的受限单向镜像控制器,含报告保留清理(v2.4.0) |
project-dd-replica.sh |
101 到 DD /root/project 的单向副本控制器,含远端空间检查、历史和隔离区保留清理(v1.2.0) |
project-local-snapshot.sh |
101 独立备份盘上的 Project 本机快照,含低空间预清理和固定保留数(v1.2.0) |
🧰 客户端与辅助
scripts/clients/ 提供 Linux、Windows 与 Android 接入辅助;scripts/ci/agentmeshos-secret-scan.py(v1.0.0)扫描待提交或指定 Git range 的新增行,只输出文件、行号和规则,不输出命中值。scripts/ci/agentmeshos-plan-state-check.py(v0.9.0)用于计划状态检查,并强制计划状态与阶段状态分离、P6 当前工作包、P4 至 P8 阶段映射、P5 主动工作 Console 控制契约、P6-0 至 P6-9、P7-0 至 P7-8、P8-0 至 P8-8 的完整计划契约、旧计划 URL 兼容入口与导航一致性;scripts/ci/agentmeshos-production-deploy-gate-check.py(v1.0.0,2026-09-26)校验四个无状态生产工作流继续使用 AGENTMESHOS_ENABLE_RR_PRODUCTION_DEPLOY 统一门禁,拒绝硬编码禁用;scripts/maintenance/tests/ 保存当前维护脚本的测试夹具。
| 脚本 | 用途 | 执行位置 |
|---|---|---|
agentmeshos-support-linux.sh |
P9 Linux 临时 Support Tailnet 接入与精确清理;默认只检查(v0.1.0) | 已授权目标 Linux 桌面 |
agentmeshos-support-macos.sh |
P9 macOS 临时 Support Tailnet 接入与精确清理;默认只检查(v0.1.0) | 已授权目标 macOS 桌面 |
agentmeshos-support-windows.ps1 |
P9 Windows 临时 Support Tailnet 接入与精确清理;默认只检查,UTF-8 with BOM(v0.1.0) | 已授权目标 Windows 桌面 |
agentmeshos-windows-metrics.ps1 |
安装、修复、检查或卸载固定版本 windows_exporter;仅绑定目标 Windows Tailnet 地址并只允许当前资源采集器 RR 100.64.0.1 读取,服务依赖 Tailscale 且延迟自动启动(v0.1.1) |
已授权目标 Windows 桌面 |
agentmeshos-android-self-network-probe.sh |
在 Termux 中采集 Android 网络、CPU、内存、存储和系统摘要,经 Tailnet Bearer 上报;使用 Termux sh 绝对路径,并为 Android 10/13 受限 procfs 安全回退;可读取新鲜 ADB bridge 网络计数器快照,重复安装按 PID 去重(v0.4.0) |
已授权 Android 节点 |
agentmeshos-android-adb-network-bridge.sh |
通过 ADB Shell 读取 Android 物理接口计数,连续采样计算实时上下行,写入 Termux 可读的外部桥接文件;用于绕过 Android 普通应用禁止读取 /proc/net/dev 和 /sys/class/net/*/statistics 的系统权限边界(v0.1.0) |
Android 接入主机:S20 使用 101,Magic2 使用 Home |
agentmeshos-windows-android-adb-network-bridge.ps1 |
Windows 原生 ADB bridge,供 Home 的非交互计划任务使用;直接调用 Windows adb.exe 读取物理接口计数并写入 Termux 外部文件,避免 WSL 跨层找不到设备以及交互式 wsl.exe 黑框(v0.1.0) |
Windows 接入主机:Magic2 使用 Home |
agentmeshos-android-inbound-sshd.sh |
在 Termux 中按设备配置收敛 RR、101、Home 三把管理公钥,只监听本机 Tailnet 地址 8022;supervisor 检测 PID、日志错误和失效 socket 后自动重建 sshd(v0.3.0) |
已授权 Android 移动管理节点 |
🗄️ 已退役脚本
2026-08-01 已删除 KodBox、Nomad CSI、JuiceFS、MariaDB Galera、MinIO、MM 39062 中转及其健康检查、恢复、对象归档和 NAS 外挂脚本。它们不能从历史下载链接、备份或文档中重新部署。Cloudreve 保持为 dd 上的现有系统云盘,自动化经主节点 root-only 的 WebDAV 凭据受限访问;最大 1 MiB Worker JSON 回调证据进入 Runtime SQLite,Cloudreve 长期/大型 Artifact Adapter 已启用受限 WebDAV 路径,生产真实对象回读验收仍属于 P4 未完成出口。
⚠️ 未决项 / 需要决策
当前没有需要用户决策的新增脚本项。后续若调整脚本版本、执行位置或回滚策略,应先更新本索引和对应专项文档,再发布新入口。