feat(wiki): docs-lookup plugin against Quartz contentIndex
New maubot plugin that points at any Quartz-rendered docs site and answers chat queries by full-text searching its emitted /static/contentIndex.json. Default config targets docs.ariege.io (castle-docs). Commands: !ask <query> search corpus; top-N hits with snippet + link !doc <slug-or-title> open a specific page (fuzzy title match) !wiki / !wiki refresh status / force re-index Architecture: - Periodic fetch (default 10 min) of /static/contentIndex.json - In-memory inverted-ish scoring: title hit 5pt, content hit 1pt + freq - No LLM — pure deterministic keyword search; RAG is future Phase 2b - No DB — index is upstream-derived cache, repopulates on bot restart Deployment posture: docs.ariege.io is served from cfaun alongside maubot, so the bot hits it over the host's internal network — works during WAN outages. base-config.yaml exposes docs_url + index_path for adopters pointing at their own site. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
b7a096a77a
commit
8f83d8df5e
5 changed files with 382 additions and 0 deletions
21
wiki/base-config.yaml
Normal file
21
wiki/base-config.yaml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# Wiki lookup config. Point at any Quartz-emitted site:
|
||||
# `docs_url` + `index_path` together resolve to the contentIndex.json
|
||||
# the bot uses for search. Page links are constructed from docs_url + slug.
|
||||
|
||||
docs_url: https://docs.ariege.io
|
||||
index_path: /static/contentIndex.json
|
||||
|
||||
# How often to re-fetch the content index, in minutes. Lower = fresher
|
||||
# but more network chatter. Site refreshes typically happen on git push,
|
||||
# so a few minutes lag is normal.
|
||||
refresh_minutes: 10
|
||||
|
||||
# Max results returned per `!ask` query.
|
||||
max_results: 3
|
||||
|
||||
# Snippet window around the first match in `!ask` output, in characters.
|
||||
snippet_chars: 160
|
||||
|
||||
# Human-readable label for the docs site, used in bot output.
|
||||
# E.g. "Castle Docs", "Co-op Wiki", "Operations Manual".
|
||||
site_name: Castle Docs
|
||||
Loading…
Add table
Add a link
Reference in a new issue