@ricoyudog/pi-goal-hermes
v0.1.0
Published
Goal-driven autonomous continuation for Pi coding agent - set a goal and let the agent work until done, with LLM-based judge evaluation
Maintainers
Readme
pi-goal-hermes
Goal-driven autonomous continuation extension for Pi. Set a goal and let the agent work autonomously until done, evaluated by a secondary LLM judge.
Install
pi install npm:@ricoyudog/pi-goal-hermesOr project-local:
pi install -l npm:@ricoyudog/pi-goal-hermesHow It Works
- You set a goal via
/goal <description> - The agent works toward the goal autonomously
- After each turn, a secondary LLM (judge) evaluates whether the goal is achieved
- If not done, the agent automatically continues with a follow-up prompt
- The loop stops when: goal achieved, turn budget exhausted, or manually paused
Commands
/goal
| Command | Description |
|---------|-------------|
| /goal <text> | Set a new goal (starts autonomous loop) |
| /goal status | Show current goal status and progress |
| /goal pause | Pause the goal loop |
| /goal stop | Stop the goal loop (alias for pause) |
| /goal resume | Resume a paused goal (resets turn counter) |
| /goal done | Manually mark goal as achieved |
| /goal clear | Clear the goal entirely |
/subgoal
Add additional acceptance criteria that the judge evaluates alongside the main goal.
| Command | Description |
|---------|-------------|
| /subgoal <text> | Add a subgoal criterion |
| /subgoal list | List all subgoals |
| /subgoal remove <n> | Remove subgoal by index |
| /subgoal clear | Clear all subgoals |
Status Bar
The extension shows goal status in the Pi footer:
●Pursuing goal (active)⏸Goal paused✓Goal achieved
Configuration
- Default max turns: 20 (the agent gets 20 turns before the goal auto-pauses with "budget exhausted")
- Turn counter resets on
/goal resume
Pause Conditions
The goal automatically pauses when:
- Turn budget exhausted (20 turns by default)
- Judge output unparseable 3 times in a row
- Agent response errors or aborts
- Session reloads
- User interrupts (Ctrl+C)
Architecture
- Judge: Uses a fast model (e.g., Haiku) as a secondary evaluator
- State persistence: Goal state is stored in the session via custom entries (survives compaction)
- Continuation: Sends follow-up prompts to keep the agent working
- Event rendering: Custom message renderers for goal events in the conversation
License
MIT
