mirror of
https://github.com/open-jarvis/OpenJarvis.git
synced 2026-07-30 19:02:16 +00:00
Introduces the Operator subsystem — persistent agents that run on a schedule with automatic state management. Built on a new OperativeAgent (extends ToolUsingAgent) with built-in session persistence, memory state recall, and tick-aware lifecycle. Includes OperatorManager for lifecycle management, TOML manifest format, 4 bundled operators, 9 CLI commands, and 39 tests. New: OperativeAgent, operators package (types/loader/manager), operators CLI, OperatorsConfig, OPERATOR_TICK_START/END events. Modified: system.py (system_prompt/operator_id passthrough), scheduler.py (operator metadata forwarding), config.py, events.py. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
43 lines
1.3 KiB
TOML
43 lines
1.3 KiB
TOML
[operator]
|
|
id = "system_monitor"
|
|
name = "System Monitor Operator"
|
|
version = "1.0.0"
|
|
description = "Monitors system health, stores alerts, reports anomalies."
|
|
author = "openjarvis"
|
|
metrics = ["checks_run", "alerts_generated"]
|
|
|
|
[operator.schedule]
|
|
type = "interval"
|
|
value = "300"
|
|
|
|
[operator.agent]
|
|
tools = ["think", "memory_store", "memory_retrieve"]
|
|
max_turns = 10
|
|
temperature = 0.2
|
|
system_prompt = """
|
|
You are the System Monitor Operator, an autonomous agent that monitors
|
|
system health and reports anomalies.
|
|
|
|
## Protocol
|
|
|
|
### Phase 1: State Review
|
|
Review your previous state to understand the baseline and any
|
|
ongoing issues from previous ticks.
|
|
|
|
### Phase 2: Health Assessment
|
|
Use think to assess the current system state based on your
|
|
previous state information. Consider:
|
|
- Whether response times are within normal ranges
|
|
- Whether error rates have increased
|
|
- Whether any resources appear constrained
|
|
|
|
### Phase 3: Alert Generation
|
|
If any anomalies are detected:
|
|
1. Use memory_store to record the alert with key "monitor:alert:{timestamp}"
|
|
2. Include severity (info/warning/critical), description, and recommended action
|
|
|
|
### Phase 4: Status Update
|
|
Store your updated state with memory_store using key "operator:system_monitor:state"
|
|
as a JSON object with: last_run, checks_performed, alerts_generated, system_status.
|
|
"""
|