studio: agent window, a chat with a model that edits the scene
Deploy web Studio / deploy (push) Successful in 3m3s
Deploy web Studio / deploy (push) Successful in 3m3s
✦ Agent in the Studio's top bar opens a floating chat window. The model (any OpenAI-compatible endpoint with tool calling; default B4L's inference server, https://inference.p0.contact/v1) gets the 15 MCP tools plus two page tools (select_object, set_view) and the Studio's state (selection, level, rotation) in its system prompt. Answers and reasoning stream in; tool calls show as rows with arguments and results; object ids link to the object; Stop ends a turn; Undo takes the agent's edits back. The window moves by its title bar and resizes at its top-left corner. - studio/agent.js: shared by both front ends (waits for studio.js's isokit:studio event); MCP over /mcp or isokit.mcp in the web Studio - isokit studio: /api/agent/{config,models,chat} relay the calls on their own threads (ureq, chunked and flushed per read), so the key stays on the machine and the endpoint needs no CORS; settings from ISOKIT_LLM_URL / _KEY / _MODEL or agent.json in the user's config folder - web Studio: calls the endpoint from the page with a key kept in the browser; build_web.py --agent-url names a same-site relay as default; the deploy builds with /llm/v1, which deploy/Caddyfile forwards to the inference server (its nginx refuses the CORS preflight) - tools/mock_llm.py + tools/agent_checks.py: the agent window checks in both check_studio.py and check_web.py
This commit is contained in:
1 parent
c647f39059
commit
1a1b62d475
21 files changed
+1690
-25
No files matched your search
@@ -36,6 +36,19 @@ Each phase ends with tests, a Studio/viewer check in Edge, commit and push.
|
||||
- [x] `tools/build_web.py` (static output), `tools/check_web.py` (44 checks, Edge)
|
||||
- [ ] Deploy a hosted copy; render in a Web Worker for very large scenes
|
||||
|
||||
## Agent window (done)
|
||||
|
||||
- [x] ✦ Agent in the Studio: chat with a model on an OpenAI-compatible endpoint (default: B4L's
|
||||
inference server) that edits the scene with the MCP tools + page tools (select, view);
|
||||
streamed answers and reasoning, tool calls with results, clickable object ids, Stop, Undo
|
||||
- [x] `isokit studio` relays the calls (`/api/agent/*`, key stays on the machine, no CORS);
|
||||
settings from `ISOKIT_LLM_*` or `agent.json` in the user's config folder
|
||||
- [x] Web Studio calls the endpoint from the page; isokit.buildfor.life relays `/llm/` to the
|
||||
inference server (Caddy) so the page needs no CORS from it
|
||||
- [x] `tools/mock_llm.py` + `tools/agent_checks.py` in both Studio checks
|
||||
- [ ] Keep the conversation per project across reloads; attach a rendered view (PNG, Phase 4)
|
||||
for vision models
|
||||
|
||||
## Phase 2: richer editing
|
||||
|
||||
- [ ] Interior prefabs (desk, table with chairs, shelf, machine, bed, sofa, partition walls) and a
|
||||
|
||||
Reference in new issue
Block a user