feat: initial Sol virtual librarian implementation
Matrix bot with E2EE (matrix-sdk 0.9) that passively archives all
messages to OpenSearch and responds to queries via Mistral AI with
function calling tools.
Core systems:
- Archive: bulk OpenSearch indexer with batch/flush, edit/redaction
handling, embedding pipeline passthrough
- Brain: rule-based engagement evaluator (mentions, DMs, name
invocations), LLM-powered spontaneous engagement, per-room
conversation context windows, response delay simulation
- Tools: search_archive, get_room_context, list_rooms, get_room_members
registered as Mistral function calling tools with iterative tool loop
- Personality: templated system prompt with Sol's librarian persona
47 unit tests covering config, evaluator, conversation windowing,
personality templates, schema serialization, and search query building.
2026-03-20 21:40:13 +00:00
|
|
|
[matrix]
|
|
|
|
|
homeserver_url = "http://tuwunel.matrix.svc.cluster.local:6167"
|
|
|
|
|
user_id = "@sol:sunbeam.pt"
|
|
|
|
|
state_store_path = "/data/matrix-state"
|
2026-03-21 22:21:14 +00:00
|
|
|
db_path = "/data/sol.db"
|
feat: initial Sol virtual librarian implementation
Matrix bot with E2EE (matrix-sdk 0.9) that passively archives all
messages to OpenSearch and responds to queries via Mistral AI with
function calling tools.
Core systems:
- Archive: bulk OpenSearch indexer with batch/flush, edit/redaction
handling, embedding pipeline passthrough
- Brain: rule-based engagement evaluator (mentions, DMs, name
invocations), LLM-powered spontaneous engagement, per-room
conversation context windows, response delay simulation
- Tools: search_archive, get_room_context, list_rooms, get_room_members
registered as Mistral function calling tools with iterative tool loop
- Personality: templated system prompt with Sol's librarian persona
47 unit tests covering config, evaluator, conversation windowing,
personality templates, schema serialization, and search query building.
2026-03-20 21:40:13 +00:00
|
|
|
|
|
|
|
|
[opensearch]
|
|
|
|
|
url = "http://opensearch.data.svc.cluster.local:9200"
|
|
|
|
|
index = "sol_archive"
|
2026-03-21 15:51:31 +00:00
|
|
|
memory_index = "sol_user_memory"
|
feat: initial Sol virtual librarian implementation
Matrix bot with E2EE (matrix-sdk 0.9) that passively archives all
messages to OpenSearch and responds to queries via Mistral AI with
function calling tools.
Core systems:
- Archive: bulk OpenSearch indexer with batch/flush, edit/redaction
handling, embedding pipeline passthrough
- Brain: rule-based engagement evaluator (mentions, DMs, name
invocations), LLM-powered spontaneous engagement, per-room
conversation context windows, response delay simulation
- Tools: search_archive, get_room_context, list_rooms, get_room_members
registered as Mistral function calling tools with iterative tool loop
- Personality: templated system prompt with Sol's librarian persona
47 unit tests covering config, evaluator, conversation windowing,
personality templates, schema serialization, and search query building.
2026-03-20 21:40:13 +00:00
|
|
|
batch_size = 50
|
|
|
|
|
flush_interval_ms = 2000
|
|
|
|
|
embedding_pipeline = "tuwunel_embedding_pipeline"
|
|
|
|
|
|
|
|
|
|
[mistral]
|
|
|
|
|
default_model = "mistral-medium-latest"
|
|
|
|
|
evaluation_model = "ministral-3b-latest"
|
|
|
|
|
research_model = "mistral-large-latest"
|
|
|
|
|
max_tool_iterations = 5
|
|
|
|
|
|
|
|
|
|
[behavior]
|
2026-03-21 15:51:31 +00:00
|
|
|
response_delay_min_ms = 100
|
|
|
|
|
response_delay_max_ms = 2300
|
feat: initial Sol virtual librarian implementation
Matrix bot with E2EE (matrix-sdk 0.9) that passively archives all
messages to OpenSearch and responds to queries via Mistral AI with
function calling tools.
Core systems:
- Archive: bulk OpenSearch indexer with batch/flush, edit/redaction
handling, embedding pipeline passthrough
- Brain: rule-based engagement evaluator (mentions, DMs, name
invocations), LLM-powered spontaneous engagement, per-room
conversation context windows, response delay simulation
- Tools: search_archive, get_room_context, list_rooms, get_room_members
registered as Mistral function calling tools with iterative tool loop
- Personality: templated system prompt with Sol's librarian persona
47 unit tests covering config, evaluator, conversation windowing,
personality templates, schema serialization, and search query building.
2026-03-20 21:40:13 +00:00
|
|
|
spontaneous_delay_min_ms = 15000
|
|
|
|
|
spontaneous_delay_max_ms = 60000
|
2026-03-21 15:51:31 +00:00
|
|
|
spontaneous_threshold = 0.85
|
feat: initial Sol virtual librarian implementation
Matrix bot with E2EE (matrix-sdk 0.9) that passively archives all
messages to OpenSearch and responds to queries via Mistral AI with
function calling tools.
Core systems:
- Archive: bulk OpenSearch indexer with batch/flush, edit/redaction
handling, embedding pipeline passthrough
- Brain: rule-based engagement evaluator (mentions, DMs, name
invocations), LLM-powered spontaneous engagement, per-room
conversation context windows, response delay simulation
- Tools: search_archive, get_room_context, list_rooms, get_room_members
registered as Mistral function calling tools with iterative tool loop
- Personality: templated system prompt with Sol's librarian persona
47 unit tests covering config, evaluator, conversation windowing,
personality templates, schema serialization, and search query building.
2026-03-20 21:40:13 +00:00
|
|
|
room_context_window = 30
|
|
|
|
|
dm_context_window = 100
|
|
|
|
|
backfill_on_join = true
|
|
|
|
|
backfill_limit = 10000
|
2026-03-21 15:51:31 +00:00
|
|
|
instant_responses = false
|
|
|
|
|
cooldown_after_response_ms = 15000
|
|
|
|
|
evaluation_context_window = 200
|
|
|
|
|
reaction_threshold = 0.6
|
|
|
|
|
reaction_enabled = true
|
|
|
|
|
detect_sol_in_conversation = true
|
|
|
|
|
script_timeout_secs = 5
|
|
|
|
|
script_max_heap_mb = 64
|
|
|
|
|
script_fetch_allowlist = []
|
|
|
|
|
memory_extraction_enabled = true
|
|
|
|
|
# evaluation_prompt_active = "custom prompt when Sol is already in conversation..."
|
|
|
|
|
# evaluation_prompt_passive = "custom prompt when Sol hasn't spoken yet..."
|
2026-03-21 22:21:14 +00:00
|
|
|
|
|
|
|
|
[agents]
|
|
|
|
|
orchestrator_model = "mistral-medium-latest"
|
|
|
|
|
domain_model = "mistral-medium-latest"
|
|
|
|
|
compaction_threshold = 118000
|
|
|
|
|
use_conversations_api = true
|