AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Status: gameplay is stable; AI integration and automation features are under active development
Modified fork of abix-/TimberbornMods. Extends the original mod with an expanded read/write HTTP API, automation wiring endpoints, a WebSocket event/state channel, and AI-agent integrations. All credit for the original mod goes to abix-.
Getting Started | API Reference | WebSocket Protocol | Upstream
C# mod + Python client that lets AI agents read and control a running Timberborn game over HTTP, with a parallel WebSocket channel for push-style state and events.
Timberborn (Unity)
|-- Timberbot API mod
|-- HTTP server on :8085 read + write game state
|-- WS server on :8086 /api/ws — state pushes + game events
Python (PyPI: `timberbot`)
|-- `tbot` CLI dashboard, agent launcher, raw API client
|-- `tbot watch` long-running WS connector that drives an agent
|-- `tbot listen` WS event subscriber (CLI + scripts)
|-- `from timberbot import …` typed Pydantic client for scripts
pipx install timberbot # or: pip install timberbot
tbot init # materialize agent prompts into ~/.config/timberbot
# with Timberborn running + mod loaded
tbot summary # colony snapshot
tbot buildings # list all buildings
tbot beavers # beaver wellbeing + critical needs
tbot map --x1=110 --y1=130 --x2=130 --y2=150 # ASCII map with terrain + blockers
tbot place_building --prefab=Path --x=100 --y=130 --z=2 --orientation=south
tbot place_path --x1=110 --y1=130 --x2=130 --y2=150 # A* pathfinding with auto-stairs
tbot set_speed 3 # fast forward (positional)
tbot science # science points + unlockable buildings
tbot distribution # import/export settings per district
tbot link --source-id=42 --target-id=44 --input=a # wire sensor -> building
tbot configure_automation --id=42 --property=threshold --value=50
tbot brain # live colony state + persistent memory
tbot top # live colony dashboard
tbot # list all commands
Auto-launch a save (Linux/Windows) or generate Steam launch args (macOS):
tbot launch --settlement=MyCastle --save=day5
tbot itself is a pure network client and does not read the game's Documents
tree. On Linux/Steam Deck the build-time scripts/deploy.sh autodiscovers the
Proton/Wine Documents/Timberborn/Mods/Timberbot/ folder when copying the
freshly built DLL; set TBOT_DOCUMENTS_DIR for non-steamuser Wine prefixes.
Or use raw HTTP. no Python needed:
curl http://127.0.0.1:8085/api/summary
curl -X POST http://127.0.0.1:8085/api/speed -d '{"speed": 3}'
Live state + game events over the WebSocket:
tbot listen --pretty # subscribe to ws://127.0.0.1:8086/api/ws
tbot watch --backend claude # long-running agent connector
ws://<host>:8086/api/ws as {type, payload} JSON frames. See WebSocket Protocol./api/* calls (read + write) return 409 game_not_ready except /api/agent/*, /api/ready, /api/ping.tbot watch connector. Long-running Python process that connects over WS, heartbeats, and dispatches agent runs (request or autonomous mode).place_path routes around obstacles, water, and ruins with auto-stairs./api/tiles and placement errors.authToken setting; mandatory when listenAddress is non-loopback.127.0.0.1, refuses to start with a non-loopback listenAddress unless authToken is set, caps request body size./api/ws frame envelope, message types, reconnecttbot listen or a custom WS client/api/automation/* designtimberbot, scout, wirer, auditor, connector-mode). Materialize editable copies into your user config dir with tbot init. The development-agent prompt for working on this codebase lives separately at agents/beaver-developer.md.Drop a settings.json in your mod folder (Documents/Timberborn/Mods/Timberbot/):
{
"httpPort": 8085,
"wsPort": 8086,
"wsEnabled": true,
"listenAddress": "127.0.0.1",
"authToken": "",
"debugEndpointEnabled": false,
"maxBodyBytes": 1048576
}
All fields are optional. Missing keys use defaults. The server binds to
127.0.0.1 by default; set listenAddress to + or 0.0.0.0 to accept LAN
connections — but then authToken becomes mandatory (the mod refuses to start
otherwise).
Older settings keys are ignored with a one-line deprecation warning at load:
terminal, pythonCommand, agentBinary, agentModel, agentEffort, agentCommandTemplate, agentAllowlistEnabled, agentAllowedBinaries) — manage agent-side defaults via ~/.config/timberbot/config.toml instead.webhooksEnabled, webhookBatchMs, webhookCircuitBreaker, webhookMaxPendingEvents, webhookValidateUrls) — outbound HTTP webhooks are gone; subscribe to the WS event stream instead (tbot listen or a custom WS client).tbot CLI; install via pipx install timberbot)Forked from:
Learned from these Timberborn modding projects:
BlockObjectPlacerService.Place() for building placement, TemplateInstantiator + MarkAsPreviewAndInitialize + IsValid() for game-native placement validation, BuildingUnlockingService.Unlock() for science, WorkingHoursManager for work schedulesTreeCuttingArea.AddCoordinates() for tree marking, IAlertFragment patterns for building alertsInventories.AllInventories for building inventory, BuildingUnlockingService.Unlocked() for science checksPlantingService.SetPlantingCoordinates() for crop planting, PlantingAreaValidator.CanPlant() for planting validationPreviewFactory + BlockValidator patterns for placement validation