agents-live
Take your agents live. agents-live adds safe, local automation to the Claude Code and GitHub Copilot agents you already use — cron and file-watch dispatch, deterministic pre/post processing, safety wrappers, and operations. It does not replace your agents: an agent stays one Markdown file with the same prompt. A few frontmatter fields say when it runs (a cron schedule, a watched directory, or both) and how (the agent CLI, execution mode, optional pre/post scripts):
---
runtime: claude # unattended execution adapter
mode: plan # read-only; a handler script does the writing
watchPath: notes/inbox/ # or schedule: "0 8 * * *", or both
post-processor: file-notes.sh
---
For each new file in notes/inbox/: add frontmatter and tags, fix the
title, decide where it belongs in the vault, and emit JSON:
{ "moves": [{ "from": "...", "to": "...", "content": "..." }] }
Drop a raw note into notes/inbox/ and the watcher fires within
seconds; one agent run later the note is cleaned up and filed. The
agent thinks, a script acts: the agent decides, but the only thing
that touches your files is a deterministic handler you own.
Safe by default
Write access is a ladder with an explicit final rung:
- plan (the default) — the agent runs read-only and emits JSON; a runner validates it (JSON Schema, size caps, path roots, provenance) and hands it to your deterministic handler.
- pipeline — the agent's tool surface narrows to a schema-checked
put/getside-channel that your pre/post-processors mediate, over a token-protected loopback endpoint that exists only for the duration of one run. - write — full write access: the last option, an explicit per-agent opt-in.
This ladder is tool policy, not a sandbox — agents inherit your local account's privileges unless you configure stricter CLI or OS isolation.
Lightweight
No framework to learn, no APIs to call, no daemon to maintain — just things you use every day: git, files, markdown, cron, and scripts. Cron and inotifywait do the triggering; agents-live adds activation, debounce, concurrency, structured logs, and per-run token cost. If you can read a crontab, you can audit the whole system. No application daemons or gateways, no externally reachable inbound ports, no databases (plain-text JSONL logs, aged into monthly Parquet archives). The only persistent processes are one small watcher loop per file-watch agent; cron-only agents need none.
Install
uv tool install agents-live # or: uv tool install <path-to-wheel>
On interactive terminal invocations, agents-live checks PyPI for a newer
stable release when its shared cached result is missing or one hour old. The
result is stored under
$XDG_CACHE_HOME/agents-live/ (normally ~/.cache/agents-live/). For ordinary
commands, the refresh runs in the background and is skipped for
scheduled/internal, quiet, JSON, piped, or redirected invocations. Network and
cache failures never affect the command. This request sends only ordinary
package-index request metadata; it does not include project or agent data.
agents-live doctor is the exception: it always performs a fresh check and
updates the cache. Install an available release with uv tool upgrade agents-live. Agents Live never updates itself.
After upgrading, run agents-live --repo <project> upgrade to refresh the
optional installed skill payload. doctor reports a package and payload
version mismatch and recommends this command. init remains the first-time
project setup command.
Quick start
cd your-repo
agents-live doctor # verify cron, inotifywait, and agent CLIs
agents-live init # layout + config marker + skill payload
# copy a starter from .claude/skills/agents-live/templates/ into Agents/
agents-live run my-agent # test once, in the foreground
agents-live start my-agent # activate cron/watcher triggers
agents-live status
agents-live logs
agents-live teardown my-agent # deactivate — remove its triggers
For work across projects, register normalized absolute repository paths in
the user configuration ($XDG_CONFIG_HOME/agents-live/config.toml, normally
~/.config/agents-live/config.toml):
agents-live repos add life ~/repos/life
agents-live repos default life
agents-live --repo life status
agents-live status --all-repos
agents-live doctor --all-repos
agents-live dashboard --all-repos # read-only repository selector
Selection precedence is explicit --repo path or alias,
AGENTS_LIVE_REPO, the nearest local marker, markerless-git adoption for
run/start, then the configured default. A default never overrides the
current project. Aggregate commands are read-only; lifecycle mutations always
target one selected repository, and persisted commands pin its absolute path.
Requirements
- Python 3.12+ and uv
crontab(scheduled agents),inotifywait(file watchers; preflight is trigger-derived, so cron-only setups don't need inotify)- An agent CLI for agent-backed definitions:
claudeorcopilot
Linux-first: Ubuntu on WSL is the reference platform, Windows support
is partial, and macOS is untested. agents-live doctor reports
exactly what this host is missing.
Documentation
The /agents-live skill is optional conversational support for the
CLI: agents-live init installs it for Claude Code, every flow it
drives is an ordinary agents-live command, and the CLI is fully
usable without it.
- Overview
- Architecture
- Commands
- Starter templates
- SKILL.md — full reference
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agents_live-0.2.0.tar.gz.
File metadata
- Download URL: agents_live-0.2.0.tar.gz
- Upload date:
- Size: 238.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c03d34be140cba40f985ec1e736b4f5a80168a06d37801d82f06d2d9d6e113a5
|
|
| MD5 |
fce8973076603dffe6c20d570ac141eb
|
|
| BLAKE2b-256 |
7a0f19b426b13771003242a9a6cf44de55bb7af9de983d25c952f256ab3e198d
|
File details
Details for the file agents_live-0.2.0-py3-none-any.whl.
File metadata
- Download URL: agents_live-0.2.0-py3-none-any.whl
- Upload date:
- Size: 237.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d96a76185a1519cb548ca7f8fa323a6d6e1f0b53d00f1b3364b90b0d7bc2495
|
|
| MD5 |
48ad2d61d169968da0e8d101ad06e0d9
|
|
| BLAKE2b-256 |
a20ca973337417f353337eaee0d9a3b56dc4455aa37b0e85552e9e9195d855b8
|