Skip to content

Add LLM Wiki status panel MVP#1664

Merged
1 commit merged into
nesquena:masterfrom
Michaelyklam:feat/issue-1257-llm-wiki-status
May 5, 2026
Merged

Add LLM Wiki status panel MVP#1664
1 commit merged into
nesquena:masterfrom
Michaelyklam:feat/issue-1257-llm-wiki-status

Conversation

@Michaelyklam
Copy link
Copy Markdown
Contributor

Thinking Path

  • Issue Feature request: LLM Wiki status panel with on/off toggle #1257 asks for WebUI visibility into Hermes Agent's LLM Wiki so remote/VPS users do not have to SSH in just to confirm whether the wiki exists or is being updated.
  • I inspected the current Hermes Agent LLM Wiki shape first: the bundled research/llm-wiki skill uses a markdown directory at WIKI_PATH (default ~/wiki) with SCHEMA.md, index.md, log.md, page folders (entities/, concepts/, comparisons/, queries/), and raw/ sources.
  • I did not find a stable existing on/off config flag, so this PR keeps the first slice read-only and explicitly marks the toggle as a follow-up rather than inventing a new agent-side behavior in WebUI.
  • The smallest useful MVP is a private-safe status endpoint plus an Insights card that surfaces availability, counts, last update time, and the lack of a safe last-writer signal without exposing wiki page bodies.
  • Topic graph and raw browser scope from later comments are intentionally deferred.

What Changed

  • Added GET /api/wiki/status, which resolves WIKI_PATH, .env, skills.config.wiki.path, or the default ~/wiki, then returns read-only metadata:
    • enabled / available / status
    • entry_count / page_count
    • raw_source_count
    • last_updated
    • last_writer as null when not safely available
    • toggle_available: false with a follow-up reason when no stable flag exists
  • Added an LLM Wiki status card at the top of Insights with ready, empty, unavailable, and error copy.
  • Kept the UI metadata-only: no recent-entry previews, no page body reads, no raw file browser, and no absolute wiki path exposure.
  • Added regression coverage with synthetic wiki fixtures and static UI source checks.
  • Added UI media under docs/pr-media/1257/llm-wiki-status.png.

Refs #1257

Why It Matters

This gives WebUI users a conservative observability surface for LLM Wiki state without turning the WebUI into a wiki content browser or exposing private wiki content. It also gives maintainers a safe backend/API seam for later toggle, entries, graph, or raw-source views once Hermes Agent exposes stable primitives for them.

Verification

/home/michael/.hermes/hermes-agent/venv/bin/python -m pytest tests/test_issue1257_llm_wiki_status.py -q
/home/michael/.hermes/hermes-agent/venv/bin/python -m pytest tests/test_issue1257_llm_wiki_status.py tests/test_v050253_opus_followups.py -q
node --check static/panels.js
/home/michael/.hermes/hermes-agent/venv/bin/python -m py_compile api/routes.py
git diff --check
env -u HERMES_CONFIG_PATH /home/michael/.hermes/hermes-agent/venv/bin/python -m pytest tests/ -q

Result:

tests/test_issue1257_llm_wiki_status.py: 4 passed
targeted wiki/orphan-i18n suite: 7 passed
node --check static/panels.js: passed
py_compile api/routes.py: passed
git diff --check: passed
full suite: 4289 passed, 5 skipped, 3 xpassed, 1 warning, 8 subtests passed in 392.88s

Manual verification:

  • Ran an isolated WebUI instance on 127.0.0.1:18757 with a synthetic WIKI_PATH fixture.
  • Verified GET /api/wiki/status returned entry_count: 2, page_count: 2, raw_source_count: 1, toggle_available: false, and no private page text or absolute wiki path.
  • Browser-validated the Insights card renders the LLM Wiki status, wraps the last-updated timestamp cleanly, and does not expose private wiki content.

UI media:

Risks / Follow-ups

  • The on/off toggle is intentionally not implemented because the current Hermes Agent wiki surface exposes location (WIKI_PATH / wiki.path) but no clear stable enable/disable flag.
  • last_writer remains null unless Hermes Agent later writes a structured, safe writer field; this PR avoids parsing arbitrary log text that could leak private content.
  • Recent entries preview, topic graph map, and raw file browser are deferred follow-ups and are not included in this MVP.
  • The endpoint only reports metadata and counts; it does not browse or preview wiki files.

Model Used

AI assisted.

  • Provider: OpenAI Codex
  • Model: gpt-5.5
  • Notable tool use: Hermes Kanban, git/gh, pytest, Node syntax check, isolated WebUI browser QA, synthetic wiki fixtures

@nesquena-hermes nesquena-hermes added ux User experience / visual polish and removed ux User experience / visual polish labels May 5, 2026
@nesquena-hermes
Copy link
Copy Markdown
Collaborator

Thanks @Michaelyklam — picking this up in the v0.51.0 batch but the merge into stage hit a multi-conflict region in static/panels.js (your branch was based off master before the Kanban v1 PR #1675 landed yesterday, so the panels.js sections collide rather than just appending). Resolving the conflicts cleanly preserving both code paths needs more careful surgery than the rest of the batch, so I'm deferring this one to a follow-up release rather than rushing the conflict resolution.

Two paths from here, your call:

  1. You rebase onto current master (now includes Kanban v1 + the other panels from this batch). The panels.js conflicts will need both-sides-additive resolution at the panel-list array, the section-marker block, and around the archiveKanbanBoard end. Push back to your branch and we'll pick it up next batch.

  2. I take the rebase on a maintainer-side branch with Co-authored-by: @Michaelyklam attribution preserved. Just say the word and I'll handle it.

Either way the diagnosis and code are good — this is purely mechanical merge-conflict work. CI is still green on your branch as-is.

@nesquena-hermes nesquena-hermes force-pushed the feat/issue-1257-llm-wiki-status branch from 02f6d32 to 2684d6f Compare May 5, 2026 01:54
@nesquena-hermes nesquena-hermes closed this pull request by merging all changes into nesquena:master in fcc8328 May 5, 2026
@nesquena-hermes
Copy link
Copy Markdown
Collaborator

Closed by the v0.51.2 release in PR #1682 (merged at fcc8328, deployed to production). Thanks for the contribution!

Live on production: https://github.com/nesquena/hermes-webui/releases/tag/v0.51.2

🚀

nesquena-hermes pushed a commit to Michaelyklam/hermes-webui that referenced this pull request May 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants