framework-ify. proper agent runtime + adopt ag-ui
CI / Test + coverage (pull_request) Successful in 1m41s

This commit is contained in:
2026-09-21 18:34:19 -09:00
parent 187252177c
commit a3ef6ec077
26 changed files with 1514 additions and 1200 deletions
+9 -7
View File
@@ -33,11 +33,13 @@ ADMIN_USERS=
# address MCP clients use.
# DB_PATH=data/tbd.db
# --- Chatbot (LM Studio) ------------------------------------------------------
# The chat widget in the UI (the green square, bottom left) talks to an LM Studio server through
# the backend (POST /api/chat, logged-in users only). Point it at your instance: LM Studio's
# --- Agent (LM Studio, via LangChain4j) ---------------------------------------
# The agent (tbd.agent.core, a LangChain4j streaming chat model) talks to an LM Studio server.
# Two surfaces use it: the chat widget in the UI (the green square, bottom left; POST /api/chat, an
# AG-UI run, logged-in users only) and the A2A server for other agents (POST /a2a, the same OAuth
# access token as /mcp; see /.well-known/agent-card.json). Point it at your LM Studio instance:
# server address, no /v1 (start its server, and enable "Serve on Local Network" for a remote one).
# Unset LMSTUDIO_URL = the chatbot answers "not configured".
# Unset LMSTUDIO_URL = both surfaces answer "not configured".
# LMSTUDIO_URL=http://192.168.1.20:1234
# Model id to ask for; empty = whichever model LM Studio has loaded.
# LMSTUDIO_MODEL=
@@ -46,9 +48,9 @@ ADMIN_USERS=
# Seconds the LLM server may stay silent (before it starts answering, or between two pieces of the
# reply) before giving up (default 120).
# LMSTUDIO_TIMEOUT_SECONDS=120
# Every chatbot turn is summarised in the server's log. To also keep the model's full reasoning and
# replies, and the messages it was sent (for finding out why it loops), append a JSON trace to this
# file. It holds what users typed, so keep it private.
# Every turn (chat or A2A) is summarised in the server's log. To also keep the model's full
# reasoning and replies, and the messages it was sent (for finding out why it loops), append a JSON
# trace to this file. It holds what users typed, so keep it private.
# CHAT_TRACE_FILE=data/chat-trace.jsonl
# --- WebMCP origin trial ------------------------------------------------------