ai-lsc/src/ai_lsc/registry/layers/user_interfaces.py

351 lines
8.5 KiB
Python

"""Registry entries for the User Interfaces layer (L11).
Auto-extracted from the monolithic ``defaults.py``. Each entry
follows the standard registry schema:
- ``name``: human-readable tool name
- ``level``: 13-layer taxonomy level (1-13)
- ``layer``: this layer name
- ``role``: role within the layer
- ``category``: functional category
- ``installer``: installation method
- ``launcher``: process launcher specification
- ``deps``: list of required tool IDs
- ``description``: short description
- ``flags``: optional boolean flags
This module is consumed by
:mod:`ai_lsc.registry.loader`.
"""
TOOLS: dict[str, dict] = {
'hermes': {
"name": "Hermes",
"level": 11,
"layer": "User Interfaces",
"role": "Face",
"category": "Ecosystem Dashboard",
"installer": {
"type": "npm",
"pkg": "hermes-ai"
},
"launcher": {
"type": "tmux",
"cmd": "hermes dashboard --port {port} --data-dir {workspaces_root}/hermes & hermes desktop --data-dir {workspaces_root}/hermes",
"default_port": 17050
},
"deps": [
"ollama"
],
"description": "Unified desktop and dashboard environment for the AI ecosystem.",
"flags": {
"has_cli": True,
"has_gui": True,
"has_web": True
}
},
'openwebui': {
"name": "Open WebUI",
"level": 11,
"layer": "User Interfaces",
"role": "Face",
"category": "Chat Frontend",
"installer": {
"type": "uv",
"pkg": "open-webui"
},
"launcher": {
"type": "tmux",
"cmd": "open-webui serve --port {port} --data-dir {workspaces_root}/openwebui",
"default_port": 8080
},
"deps": [
"ollama"
],
"description": "Extensible frontend for LLMs.",
"flags": {
"has_cli": False,
"has_gui": False,
"has_web": True
}
},
'anythingllm': {
"name": "AnythingLLM",
"level": 11,
"layer": "User Interfaces",
"role": "Face",
"category": "Chat",
"installer": {
"type": "git_node",
"pkg": "https://github.com/Mintplex-Labs/anything-llm.git"
},
"launcher": {
"type": "tmux",
"cmd": "cd {tools_root}/anythingllm && yarn dev",
"default_port": 3001
},
"deps": [],
"description": "Full-stack application for conversational AI.",
"flags": {
"has_cli": False,
"has_gui": False,
"has_web": True
}
},
'flowise': {
"name": "Flowise",
"level": 11,
"layer": "User Interfaces",
"role": "Face",
"category": "Workflow",
"installer": {
"type": "npm",
"pkg": "flowise"
},
"launcher": {
"type": "tmux",
"cmd": "npx flowise start --port {port}",
"default_port": 3000
},
"deps": [],
"description": "Drag & drop UI to build customized LLM flows.",
"flags": {
"has_cli": False,
"has_gui": False,
"has_web": True
}
},
'dify': {
"name": "Dify",
"level": 11,
"layer": "User Interfaces",
"role": "Face",
"category": "Workflow",
"installer": {
"type": "git",
"pkg": "https://github.com/langgenius/dify.git"
},
"launcher": {
"type": "tmux",
"cmd": "cd {tools_root}/dify/docker && docker compose up",
"default_port": 80
},
"deps": [
"postgresql",
"redis"
],
"description": "LLM application development platform.",
"flags": {
"is_docker": True,
"has_cli": False,
"has_gui": False,
"has_web": True
}
},
'invokeai': {
"name": "InvokeAI",
"level": 11,
"layer": "User Interfaces",
"role": "Face",
"category": "Image Generation",
"installer": {
"type": "git",
"pkg": "https://github.com/invoke-ai/InvokeAI"
},
"launcher": {
"type": "tmux",
"cmd": "cd {tools_root}/invokeai && invokeai --host 0.0.0.0 --port {port}",
"default_port": 9090
},
"deps": [
"cuda"
],
"description": "Professional AI image generation workspace.",
"flags": {
"has_cli": True,
"has_gui": True,
"has_web": True
}
},
'forge': {
"name": "Forge (A1111)",
"level": 11,
"layer": "User Interfaces",
"role": "Face",
"category": "Image Generation",
"installer": {
"type": "git",
"pkg": "https://github.com/AUTOMATIC1111/stable-diffusion-webui-forge"
},
"launcher": {
"type": "tmux",
"cmd": "cd {tools_root}/forge && python3 launch.py --port {port}",
"default_port": 7860
},
"deps": [
"cuda"
],
"description": "Stable Diffusion WebUI Forge (optimized fork).",
"flags": {
"has_cli": False,
"has_gui": False,
"has_web": True
}
},
'dashy': {
"name": "Dashy",
"level": 11,
"layer": "User Interfaces",
"role": "Face",
"category": "Homepage",
"installer": {
"type": "npm",
"pkg": "dashy"
},
"launcher": {
"type": "tmux",
"cmd": "dashy --port {port}",
"default_port": 3000
},
"deps": [],
"description": "Highly customizable dashboard and homepage.",
"flags": {
"has_cli": False,
"has_gui": False,
"has_web": True
}
},
'obsidian': {
"name": "Obsidian",
"level": 11,
"layer": "User Interfaces",
"role": "Face",
"category": "Knowledge Graph Notes",
"installer": {
"type": "pacman",
"pkg": "obsidian"
},
"launcher": {
"type": "desktop",
"cmd": "obsidian",
"default_port": None
},
"deps": [],
"description": "Knowledge graph note-taking and markdown editor.",
"flags": {
"has_cli": False,
"has_gui": True,
"has_web": False
}
},
'local_llm_launcher': {
"name": "Local LLM Launcher",
"level": 11,
"layer": "User Interfaces",
"role": "Face",
"category": "LLM GUI",
"installer": {
"type": "git",
"pkg": "https://github.com/nicely-done/local-llm-launcher-gui"
},
"launcher": {
"type": "desktop",
"cmd": "cd {tools_root}/local_llm_launcher && python3 main.py",
"default_port": None
},
"deps": [
"ollama"
],
"description": "GUI launcher and manager for local LLMs.",
"flags": {
"has_cli": False,
"has_gui": True,
"has_web": False
}
},
'hermes_desktop': {
"name": "Hermes Desktop",
"level": 11,
"layer": "User Interfaces",
"role": "Face",
"category": "Desktop Agent",
"installer": {
"type": "npm",
"pkg": "hermes-desktop"
},
"launcher": {
"type": "desktop",
"cmd": "hermes desktop",
"default_port": None
},
"deps": [
"ollama"
],
"description": "Hermes desktop agent environment.",
"flags": {
"has_cli": False,
"has_gui": True,
"has_web": False
}
},
'hermes_dashboard_page': {
"name": "Hermes Dashboard",
"level": 11,
"layer": "User Interfaces",
"role": "Face",
"category": "Dashboard",
"installer": {
"type": "npm",
"pkg": "hermes-dashboard"
},
"launcher": {
"type": "tmux",
"cmd": "hermes dashboard --port {port}",
"default_port": 17050
},
"deps": [
"ollama"
],
"description": "Hermes ecosystem monitoring dashboard.",
"flags": {
"has_cli": False,
"has_gui": False,
"has_web": True
}
},
"openjarvis": {
"name": "OpenJarvis",
"level": 11,
"layer": "User Interfaces",
"role": "Central Intelligence",
"category": "AI Assistant Platform",
"installer": {
"type": "git_node",
"pkg": "https://github.com/openjarvis/openjarvis.git",
"post_install": "npm install && npm run build"
},
"launcher": {
"type": "tmux",
"cmd": "cd {tools_root}/openjarvis && npm start -- --port {port}",
"default_port": 17070
},
"deps": [
"ollama",
"qdrant"
],
"description": "Central AI assistant platform with multi-modal I/O, memory integration, agentic task execution, and unified dashboard. The brain of the intelligent stack.",
"flags": {
"has_cli": True,
"has_gui": True,
"has_web": True
},
"filesystem": {
"install": "tools/openjarvis",
"config": "configs/openjarvis",
"data": "workspaces/openjarvis",
"cache": "cache/openjarvis",
"logs": "logs/openjarvis"
}
},
}