feat: add 6 production-ready plugins
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
This commit is contained in:
1 parent
994b60c0d9
commit
afcb260554
25 files changed
+1396
-4
No files matched your search
@@ -0,0 +1,31 @@
|
||||
# auto-summarizer
|
||||
|
||||
Maintains a running conversation summary to help agents handle long conversations without losing context. Uses extractive summarization (no ML or external dependencies) to identify the most important parts of a conversation.
|
||||
|
||||
## How it works
|
||||
|
||||
After each conversation turn, the plugin scans all messages and extracts:
|
||||
|
||||
- **Topic opener** -- the first user message that started the conversation
|
||||
- **Questions** -- any messages containing questions (detected via `?`)
|
||||
- **Decisions** -- messages with conclusion/decision language ("let's", "decided", "the plan is", etc.)
|
||||
- **Recent context** -- the last 2 exchanges to preserve immediate context
|
||||
|
||||
These are combined into a compact summary (max 500 characters) and persisted to disk. On the next ingest, the summary is returned as a memory fragment so the agent retains awareness of the full conversation.
|
||||
|
||||
Summarization only activates when the conversation exceeds 6 messages -- shorter conversations are passed through as-is.
|
||||
|
||||
## Hooks
|
||||
|
||||
| Hook | Script | Description |
|
||||
|------|--------|-------------|
|
||||
| ingest | `hooks/ingest.py` | Returns the stored conversation summary as a memory fragment |
|
||||
| after_turn | `hooks/after_turn.py` | Builds and persists an extractive summary of the conversation |
|
||||
|
||||
## Storage
|
||||
|
||||
Summaries are stored at `~/.librefang/plugins/auto-summarizer/{agent_id}.summary`.
|
||||
|
||||
## Usage
|
||||
|
||||
Installed automatically when enabled in agent configuration.
|
||||
Reference in new issue
Block a user