bbsbot
2026-02-22
Docker packaging, dashboard UX overhaul, swarm spawn fixes, and MCP screen stripping
50 files · 1,643+ · 504-
Docker packaging
4 files changed
DockerfileProduction image with dev target for editable live source mountsdocker-compose.ymlDev and production service definitions (37 lines).dockerignoreDocker ignore rules (19 lines)paths.pyRuntime data path routing through BBSBOT_DATA_DIR
- Added
Dockerfile(55 lines) — production image; dev target with editable install for live source mounts baseline internal1 file
Dockerfile
- Added
docker-compose.yml(37 lines) — dev and production service definitions baseline internal1 file
docker-compose.yml
- Added
.dockerignore(19 lines) instantiate internal1 file
.dockerignore
- Image optimized from 550MB → 180MB
streamline
internal
1 file
Dockerfile
src/bbsbot/paths.py(20 lines added) — runtime data path routing throughBBSBOT_DATA_DIRinstantiate internal1 file
paths.py
Dashboard UX overhaul
2 files changed
dashboard.htmlMajor UX rework — spawn bar groups, game indicators, pause controls, pool views (633 lines changed)dashboard.jsDashboard JS updates supporting the UX overhaul (314 lines changed)
src/bbsbot/web/dashboard.html(633 lines changed),web/static/dashboard.js(314 lines changed) — major UX rework: decouple behavioral2 files
dashboard.htmldashboard.js
Swarm spawn fixes
4 files changed
bot_process.pyConcurrent spawn batches no longer cancel each other; bot ID collision prevented; dead bot entries removed after spawning replacementsspawn.pySpawn improvements (77 lines)__init__.pyManager init updates (21 lines)models.pyManager model updates (5 lines)
src/bbsbot/manager/bot_process.py(101 lines) — concurrent spawn batches no longer cancel each other; bot ID collision on sequential spawn-batch calls prevented; dead bot entries removed after spawning replacements streamline internal1 file
bot_process.py
src/bbsbot/api/swarm/spawn.py(77 lines) — spawn improvements interface behavioral1 file
spawn.py
src/bbsbot/manager/__init__.py(21 lines),manager/models.py(5 lines) decouple internal2 files
__init__.pymodels.py
MCP screen stripping
2 files changed
server.pyScreen content stripped from tool responses by default (62 lines)control_hijack.pyHijack tool update (5 lines)
src/bbsbot/mcp/server.py(62 lines) — screen content stripped from tool responses by default interface behavioral1 file
server.py
src/bbsbot/games/tw2002/mcp_tools/control_hijack.py(5 lines) — hijack tool update decouple internal1 file
control_hijack.py
Other fixes and cleanup
9 files changed
name_data.pyName data additions (30 lines)name_generator.pyName generator updates (16 lines)bot_worker.pyWorker updates (20 lines)status_reporter.pyStatus reporter updates (19 lines)lifecycle.pyLifecycle updates (13 lines)settings.pySettings updates (6 lines)log_service.pyLog service updates (3 lines)pyproject.tomlProject config updates (2 lines).gitignoreGitignore updates — added *.png screenshot patterns
src/bbsbot/games/tw2002/name_data.py(30 lines),name_generator.py(16 lines) — name data additions decouple internal2 files
name_data.pyname_generator.py
src/bbsbot/games/tw2002/worker/bot_worker.py(20 lines),worker/status_reporter.py(19 lines) decouple internal2 files
bot_worker.pystatus_reporter.py
src/bbsbot/games/tw2002/multi_character/lifecycle.py(13 lines) decouple internal1 file
lifecycle.py
src/bbsbot/settings.py(6 lines),log_service.py(3 lines) baseline internal2 files
settings.pylog_service.py
- Deleted dashboard-.png, tmp/pw-.png screenshot artifacts
decouple
behavioral
2 files
dashboard-after-fix.pngdashboard-current.png
pyproject.toml(2 lines),.gitignore(4 lines),uv.lock(4 lines) baseline internal3 files
pyproject.toml.gitignoreuv.lock