mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-11-06 05:17:15 +00:00
18 lines
1.7 KiB
YAML
18 lines
1.7 KiB
YAML
name: agent-janitor
|
|
version: "0.3.1"
|
|
repo: https://github.com/ZidoCode/agent-janitor
|
|
sha: f8306948aa8edd0f7197dc9890ccd4fa19dd7aee
|
|
description: "Process hygiene for agent machines — finds the background processes your agent left behind (dev servers, tunnels, watchers, nohup jobs) using evidence signals (ppid=1 reparent, port listener via /proc/net/tcp{,6}, dev-server traits, TTL exceeded) and attributes them to the originating tool call via agent-ledger's ledger when present. Dry-run by default: nothing is killed until you write policy_mode=enforce; system daemons and host/VM management agents are exempt by name, a user-editable whitelist covers your real infrastructure, and each kill re-reads the cmdline first (SIGTERM, 2s, SIGKILL with PID-reuse check). stdlib-only, fails open. Disclosure — inside Hermes it only appends terminal commands that look like they start background work (first 300 characters, which can include inline secrets) to plugin-data/agent-janitor/spawns.jsonl, and reads agent-ledger's ledger.db read-only when present. Killing is a separate CLI you run yourself (janitor_cli.py sweep): after you write \"enforce\" to plugin-data/agent-janitor/policy_mode it sends SIGTERM then SIGKILL to every process re-parented to PID 1 for over a minute that is not on its built-in exempt list or your whitelist, whoever started it (for example a tmux server or a nohup'd hermes gateway), including other users' processes when run as root. Dry-run first; the dry-run list is the kill list."
|
|
maintainer: ZidoCode
|
|
tier: community
|
|
category: tools
|
|
requires_hermes: ">=0.21.6"
|
|
docs_url: https://github.com/ZidoCode/agent-janitor#readme
|
|
platforms: []
|
|
capabilities:
|
|
provides_tools: []
|
|
provides_hooks:
|
|
- post_tool_call
|
|
provides_middleware: []
|
|
requires_env: []
|