chore: remove all WildFiles references, use documents provider

- Remove WILDFILES_BASE_URL and WILDFILES_ORG env vars
- Rename _wildfiles_org_cache to _documents_cache
- Update _has_documents() to use provider=documents
- Remove "wildfiles connect" command alias (keep "docs connect")
- Remove WILDFILES env vars from docker-compose.yml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Christian Gick
2026-03-02 12:06:01 +02:00
parent c2d611ace8
commit 4bed67ac7f
2 changed files with 9 additions and 16 deletions

21
bot.py
View File

@@ -67,8 +67,6 @@ CREDS_FILE = os.path.join(STORE_PATH, "credentials.json")
LITELLM_URL = os.environ.get("LITELLM_BASE_URL", "") LITELLM_URL = os.environ.get("LITELLM_BASE_URL", "")
LITELLM_KEY = os.environ.get("LITELLM_API_KEY", "not-needed") LITELLM_KEY = os.environ.get("LITELLM_API_KEY", "not-needed")
DEFAULT_MODEL = os.environ.get("DEFAULT_MODEL", "claude-sonnet") DEFAULT_MODEL = os.environ.get("DEFAULT_MODEL", "claude-sonnet")
WILDFILES_BASE_URL = os.environ.get("WILDFILES_BASE_URL", "")
WILDFILES_ORG = os.environ.get("WILDFILES_ORG", "")
USER_KEYS_FILE = os.environ.get("USER_KEYS_FILE", "/data/user_keys.json") USER_KEYS_FILE = os.environ.get("USER_KEYS_FILE", "/data/user_keys.json")
MEMORY_SERVICE_URL = os.environ.get("MEMORY_SERVICE_URL", "http://memory-service:8090") MEMORY_SERVICE_URL = os.environ.get("MEMORY_SERVICE_URL", "http://memory-service:8090")
CONFLUENCE_URL = os.environ.get("CONFLUENCE_BASE_URL", "") CONFLUENCE_URL = os.environ.get("CONFLUENCE_BASE_URL", "")
@@ -878,7 +876,7 @@ class Bot:
self.atlassian = AtlassianClient(PORTAL_URL, BOT_API_KEY) self.atlassian = AtlassianClient(PORTAL_URL, BOT_API_KEY)
self.llm = AsyncOpenAI(base_url=LITELLM_URL, api_key=LITELLM_KEY) if LITELLM_URL else None self.llm = AsyncOpenAI(base_url=LITELLM_URL, api_key=LITELLM_KEY) if LITELLM_URL else None
self.user_keys: dict[str, str] = self._load_user_keys() # matrix_user_id -> api_key (legacy) self.user_keys: dict[str, str] = self._load_user_keys() # matrix_user_id -> api_key (legacy)
self._wildfiles_org_cache: dict[str, str | None] = {} # matrix_user_id -> org_slug (from portal) self._documents_cache: dict[str, str | None] = {} # matrix_user_id -> connected status
self.room_models: dict[str, str] = {} # room_id -> model name self.room_models: dict[str, str] = {} # room_id -> model name
self.auto_rename_rooms: set[str] = set() # rooms with auto-rename enabled self.auto_rename_rooms: set[str] = set() # rooms with auto-rename enabled
self._recent_images: dict[str, tuple[str, str, float]] = {} # room_id -> (b64, mime, timestamp) self._recent_images: dict[str, tuple[str, str, float]] = {} # room_id -> (b64, mime, timestamp)
@@ -912,26 +910,26 @@ class Bot:
Results are cached per session. Results are cached per session.
""" """
if matrix_user_id in self._wildfiles_org_cache: if matrix_user_id in self._documents_cache:
return self._wildfiles_org_cache[matrix_user_id] is not None return self._documents_cache[matrix_user_id] is not None
if self.atlassian.enabled: if self.atlassian.enabled:
try: try:
async with httpx.AsyncClient(timeout=10.0) as client: async with httpx.AsyncClient(timeout=10.0) as client:
resp = await client.get( resp = await client.get(
f"{self.atlassian.portal_url}/api/bot/tokens", f"{self.atlassian.portal_url}/api/bot/tokens",
params={"matrix_user_id": matrix_user_id, "provider": "wildfiles"}, params={"matrix_user_id": matrix_user_id, "provider": "documents"},
headers={"Authorization": f"Bearer {self.atlassian.bot_api_key}"}, headers={"Authorization": f"Bearer {self.atlassian.bot_api_key}"},
) )
resp.raise_for_status() resp.raise_for_status()
data = resp.json() data = resp.json()
if data.get("connected"): if data.get("connected"):
self._wildfiles_org_cache[matrix_user_id] = "connected" self._documents_cache[matrix_user_id] = "connected"
return True return True
except Exception: except Exception:
logger.debug("Portal document check failed for %s", matrix_user_id, exc_info=True) logger.debug("Portal document check failed for %s", matrix_user_id, exc_info=True)
self._wildfiles_org_cache[matrix_user_id] = None self._documents_cache[matrix_user_id] = None
return False return False
async def start(self): async def start(self):
@@ -1830,14 +1828,11 @@ class Bot:
if cmd == "help": if cmd == "help":
await self._send_text(room.room_id, HELP_TEXT) await self._send_text(room.room_id, HELP_TEXT)
elif cmd == "wildfiles connect" or cmd.startswith("wildfiles connect ") or cmd == "docs connect" or cmd.startswith("docs connect "): elif cmd == "docs connect" or cmd.startswith("docs connect "):
if cmd.startswith("docs connect"):
api_key = cmd[12:].strip() if cmd.startswith("docs connect ") else "" api_key = cmd[12:].strip() if cmd.startswith("docs connect ") else ""
else:
api_key = cmd[18:].strip() if cmd.startswith("wildfiles connect ") else ""
await self._handle_connect(room, api_key, event) await self._handle_connect(room, api_key, event)
elif cmd == "wildfiles disconnect" or cmd == "docs disconnect": elif cmd == "docs disconnect":
await self._handle_disconnect(room, event) await self._handle_disconnect(room, event)
elif cmd == "models": elif cmd == "models":

View File

@@ -19,8 +19,6 @@ services:
- LITELLM_BASE_URL - LITELLM_BASE_URL
- LITELLM_API_KEY - LITELLM_API_KEY
- DEFAULT_MODEL - DEFAULT_MODEL
- WILDFILES_BASE_URL
- WILDFILES_ORG
- MEMORY_SERVICE_URL=http://memory-service:8090 - MEMORY_SERVICE_URL=http://memory-service:8090
- PORTAL_URL - PORTAL_URL
- BOT_API_KEY - BOT_API_KEY