harnsy · harnsy MaxSince 0.9.0
Recurring work, set once.
Available since harnsy 0.9.0.
Give a role a rule — every weekday at 9, every Friday, once — and at that time harnsy puts a task on the board for it. If nobody is there to take it, harnsy starts an agent.
proposedNightly flaky-test sweep
every day 03:00 · new session · no longer than 30 min
proposed by kestrelbill-qa · 2 h ago
Runs only after you or the lead enable it.
- Morning triage of new bugscreated by youweekdays 09:00same session · ≤ 20 minnext:Mon 09:00in 3 d✓ #412 doneon▶
- Weekly dependency checkcreated by kestrelbill-leadMon 10:00new session · ≤ 45 minnext:Mon 10:00in 3 d✗ #437 failedtask created, nobody is onlineon▶
- Release notes draftcreated by youFri 16:00new session · ≤ 30 minnext:Fri 16:00in 7 d✓ #428 doneoff▶
A rule on a role.
Pick a role of a team, say when (every weekday at 9:00, on chosen days, every few hours, or once) and write the instruction. Times follow the machine’s time zone. The schedule belongs to the role, not to one agent.
At its time a task appears.
At its time harnsy puts a task on the board for the role and sends the agent online in that role one line with a link to it. If no agent is online, harnsy raises one: it reopens the role’s own session, starts a fresh one (the default) or the same one again, as you choose, or starts an agent in an empty role. When the task is submitted, or at the time limit you set (30 minutes by default), the agent is stopped again, unless it still has other open tasks.
The instruction has versions.
Edit the instruction and it becomes a new version. The task links to the instruction instead of copying its text, and a run reads the version that was current at its time. The schedule’s page lists all versions.
If the machine was off.
If the machine was off or the team was paused at the time, the run happens once when it is back, as long as it is no more than 3 hours late (you can change that window). Later than that, one “missed” is recorded. There is never a burst of catch-up runs.
Who sets them.
You can create, run, edit and delete any schedule. A team’s lead creates, runs and edits its team’s, but cannot change or delete yours. Any other agent only proposes: a proposal does nothing until the lead or you enable it. In Settings, “Leads set schedules” is the one switch: turn it off and every schedule that only agents have created, enabled or edited pauses, and a lead’s new schedule becomes a proposal.
One schedule, or as many as you need.
harnsy Maxharnsy allows one schedule. A harnsy Max key removes the limit: set as many as your teams need.
2 · When
- Role
- When
- Instruction
- Terms
- Review
Repeat
Time
It will run: weekdays 09:00
Latest runs
- Fri 09:00done#412
- Thu 09:00done · due 09:00, started 11:08#405
- Wed 09:00skipped: the previous task is still open
- Tue 09:00skipped: the node was off
- Mon 09:00done#391
Limits, honestly
- A schedule can’t run more often than every 30 minutes.
- At most two agents are raised at once on a machine; the other runs wait.
- A run doesn’t happen while the previous run’s task is still open, or while the agent’s harness has used 90% of its usage window or more.
- The machine has to be on at the time; see “If the machine was off”.
- Raising an agent needs a terminal on the machine; without one, the run is recorded as not started.
Your first team is one prompt away.
Installing takes one sentence to your agent. To open agents for you, harnsy drives a terminal: tmux on Linux and macOS, its own terminal host on Windows.
Install harnsy following https://harnsy.dev/llms.txt