Hand routine ops to an AI that digs for the root cause
opsctl gives your operations agent a memory: the inventory, the credentials, the dependencies and the expiry dates. Once it knows your estate, it can watch it for you — and act on what it finds.
opsctl
Apache-2.0Automated operations toolkit for AI agents
Register your servers, databases, gateways and clusters once. From then on the agent knows how to reach them, what depends on what, and what is about to expire — so it can run the morning sweep, chase a disk alert to its cause, and tell you who breaks if you restart a service.
Six things you stop doing by hand
None of this requires a monitoring platform, an agent on every host, or a rewrite of how you work. You register what you already run, and the assistant takes the routine off your plate.
The morning sweep arrives on its own
Which certificate expires this week, which disk is filling, which instance is up for renewal — you stop remembering to check. At nine every morning the report lands in your channel of choice.
An alert is where the work starts, not ends
It does not stop at “disk is at 92 percent”. It logs in, finds what is eating the space, fixes it when it safely can, and hands you the cause rather than the symptom.
Know the blast radius before you touch anything
Ask what breaks if this Redis restarts and you get the downstream list from the recorded dependency graph, instead of betting on memory.
Explain your servers once, not every session
Host, port, account and key are registered a single time. Every future conversation already knows them — no more pasting IPs and passwords into chat.
New machines arrive already monitored
Register an ECS instance and eight checks come with it: CPU, memory, disk, IO, bandwidth, SSH brute-force attempts, instance expiry and key rotation. A Postgres brings four of its own.
Credentials stop living in scattered notes
Access details sit in one place and are masked by default when displayed, so nobody has to dig through chat history or shell logs to find a password.
This is what nine o'clock looks like
The sweep groups everything due inside the window into three buckets: act now, keep an eye on it, and the rest collapsed into a count. The same structure goes to Feishu, DingTalk, WeCom or email — the channel never changes the format. Anything critical is always listed in full and never hidden in the collapsed group.
From here you can simply reply “look into pg-main”, and it will log in, trace the disk growth to its source, fix what it safely can, and report the cause.
🕐 运维巡检 2026-08-07 · 共 12 项到期: critical=1, warning=4, info=7, other=0
🔴 需立即处理 (2)
- pg-main — 磁盘水位 92% — 到期: 2026-08-07T12:00:00+00:00
- web-prod-1 — SSL 证书到期 — 到期: 2026-08-07T07:00:00+00:00
🟡 需关注 (3)
- redis-cache — 内存水位 85% — 到期: 2026-08-09T16:00:00+00:00
- k8s-prod — Pod 重启次数偏高 — 到期: 2026-08-11T16:00:00+00:00
- keycloak-1 — 会话清理 — 到期: 2026-08-12T16:00:00+00:00
🔵 其余 7 项 (折叠)Three steps, about five minutes
opsctl runs as a standalone command-line tool or as a plugin inside your agent. The plugin route is the one that gives you the automation.
Install the plugin
One command pulls it from Git. Enable it, restart, and your agent has thirteen new operations tools.
hermes plugins install \
https://github.com/EmbraceTeam/DevOps-Agentc.git
hermes plugins enable opsctl-pluginRegister your first machine
Give it the host, the login and the key. Default monitoring items are attached automatically, and you can add your own expiry dates on top.
opsctl resource add --type ecs --name web1 \
--attr host=10.0.0.1 \
--attr ssh_user=root \
--attr ssh_password:secret=••••••Ask for a daily sweep
Say it in plain language. The schedule is created for you — no cron expressions, no config files to edit.
Run /ops-inspect at nine every morning
Prefer the terminal? Every one of these also works as a plain opsctl command without an agent involved.
You ask in plain language
Once your estate is registered, the assistant resolves names to real connection details on its own. You describe the intent; it works out which resource you mean and how to reach it.
Which certificates expire in the next two weeks?
What breaks if I restart pg-main?
Add the new machine at 10.0.0.8, SSH user root.
The disk alert from this morning — find out what caused it.
Twelve types out of the box, extensible to anything
Cloud accounts, virtual machines, databases, gateways, clusters and your own services. Each type knows which fields it needs and which checks it deserves, so registering a resource takes one line rather than a form.
Running something not on this list? A custom type is a short Python class — no changes anywhere else in the project.
Try it on one server
opsctl is open source under Apache-2.0. Start by registering a single machine and asking for a morning sweep — you will know within a day whether it earns its place.
This is an open lab project under active development. Interfaces may change between releases.