- app.py: add subprocess import; add _ensure_mcp_repo() to clone/pull danbooru-mcp from https://git.liveaodh.com/aodhan/danbooru-mcp into tools/danbooru-mcp/ at startup; add ensure_mcp_server_running() which calls _ensure_mcp_repo() then starts the Docker container if not running; add GET /api/status/comfyui and GET /api/status/mcp health endpoints; fix call_llm() to retry up to 3 times on unexpected response format (KeyError/IndexError), logging the raw response and prompting the LLM to respond with valid JSON before each retry - templates/layout.html: add ComfyUI and MCP status dot indicators to navbar; add polling JS that checks both endpoints on load and every 30s - static/style.css: add .service-status, .status-dot, .status-ok, .status-error, .status-checking styles and status-pulse keyframe animation - .gitignore: add tools/ to exclude the cloned danbooru-mcp repo
37 lines
990 B
JSON
37 lines
990 B
JSON
{
|
|
"action_id": "glans_handjob",
|
|
"action_name": "Glans Handjob",
|
|
"action": {
|
|
"full_body": "close-up macro shot focusing on the genital area",
|
|
"head": "out of frame",
|
|
"eyes": "out of frame",
|
|
"arms": "forearm visible, reaching down",
|
|
"hands": "wrapping around the penis, fingers specifically gathering around and stimulating the glans, thumb rubbing the tip",
|
|
"torso": "lower abdomen visible",
|
|
"pelvis": "stationary",
|
|
"legs": "thighs partially visible",
|
|
"feet": "out of frame",
|
|
"additional": "intense focus on the head of the penis, touching glans"
|
|
},
|
|
"participants": {
|
|
"solo_focus": "true",
|
|
"orientation": "MF"
|
|
},
|
|
"lora": {
|
|
"lora_name": "Illustrious/Poses/glans_handjob.safetensors",
|
|
"lora_weight": 1.0,
|
|
"lora_triggers": "glans_handjob",
|
|
"lora_weight_min": 1.0,
|
|
"lora_weight_max": 1.0
|
|
},
|
|
"tags": [
|
|
"handjob",
|
|
"glans",
|
|
"penis",
|
|
"stimulation",
|
|
"close-up",
|
|
"nsfw",
|
|
"rubbing"
|
|
]
|
|
}
|