All plugins are stdlib-only Python with no external dependencies. - auto-summarizer: extractive conversation summary for long context compression, persists per-agent summaries to disk - conversation-logger: JSONL audit logs per agent with ISO 8601 timestamps, auto-creates log directory tree - guardrails: safety filter detecting PII (email, phone, SSN, CC), prompt injection patterns, and credential exposure via regex - keyword-memory: extracts entities (emails, URLs, dates, technical terms like camelCase/snake_case/dotted identifiers) as memories - sentiment-tracker: keyword-based sentiment scoring with intensifiers and negation handling, only injects context for non-neutral sentiment - todo-tracker: detects action items via 7 task patterns, tracks completion, deduplicates, persists per-agent with 20-item FIFO limit
59 lines
1.7 KiB
Markdown
59 lines
1.7 KiB
Markdown
# todo-tracker
|
|
|
|
Detects action items and tasks mentioned in conversations, persists them, and recalls them as context. Helps agents keep track of what needs to be done without the user having to repeat themselves.
|
|
|
|
## How it works
|
|
|
|
### Task detection
|
|
|
|
After each conversation turn, the plugin scans **all** messages (both user and assistant) for task patterns:
|
|
|
|
- `TODO: ...` or `todo: ...`
|
|
- `remind me to ...`
|
|
- `don't forget to ...`
|
|
- `action item: ...`
|
|
- `need to ...`
|
|
- `I should ...` or `we should ...`
|
|
- `- [ ] ...` (markdown checkbox)
|
|
|
|
### Completion detection
|
|
|
|
The plugin also detects when tasks are marked as done:
|
|
|
|
- `done with ...`
|
|
- `completed ...`
|
|
- `finished ...`
|
|
- Completion markers near task text (checkmark emoji, `[x]`)
|
|
|
|
### Deduplication
|
|
|
|
New tasks are deduplicated against existing ones using normalized lowercase comparison and substring matching, so "Fix the login bug" and "fix the login bug" are treated as the same item.
|
|
|
|
### Limits
|
|
|
|
Only the latest 20 pending items are kept (FIFO). Completed items are retained for reference.
|
|
|
|
## Hooks
|
|
|
|
| Hook | Script | Description |
|
|
|------|--------|-------------|
|
|
| ingest | `hooks/ingest.py` | Returns pending todo items as a memory fragment |
|
|
| after_turn | `hooks/after_turn.py` | Scans messages for tasks and completions, updates the todo list |
|
|
|
|
## Storage
|
|
|
|
Todos are stored at `~/.librefang/plugins/todo-tracker/{agent_id}.json` in the format:
|
|
|
|
```json
|
|
{
|
|
"todos": [
|
|
{"text": "Fix the login bug", "status": "pending", "added": "2026-03-21T12:00:00+00:00"},
|
|
{"text": "Update README", "status": "done", "added": "2026-03-21T12:00:00+00:00", "completed": "2026-03-21T13:00:00+00:00"}
|
|
]
|
|
}
|
|
```
|
|
|
|
## Usage
|
|
|
|
Installed automatically when enabled in agent configuration.
|