NetLogo / NetLogo/Netlogo-LLM-Extension
feat: streaming responses
Nobody has claimed this yet.
- Dominant language
- Scala
- Stars
- 1
- Forks
- 0
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 4
Description
Roadmap priority: B13
Summary
Stream partial responses as they generate, rather than waiting for the complete reply.
Why it matters
Long generations currently block with no feedback — the NetLogo UI freezes for the full duration of the call. Streaming gives progressive output, which matters for demos with visible agent "speech" and for any single call producing a long passage.
Currently all providers explicitly disable it (e.g. OllamaProvider.scala:50 sends "stream": false).
What needs to be done
- Decide whether this is even a good fit for NetLogo's execution model. A reporter must return a value; streaming implies incremental delivery, which has no natural NetLogo idiom.
- Plausible shapes: a callback command run per chunk, a mutable buffer the modeler polls, or streaming only into a display widget while the reporter still returns the final string.
- SSE parsing per provider — all four use different chunk formats.
- Interaction with
historyLock— partial content must not be committed to history until complete. - Interaction with thinking models, where reasoning and answer stream as distinct block types.
Open questions
- Is there a real modeling use case, or is this mainly UI polish? Worth deciding before building, since the NetLogo-side design is the hard part rather than the HTTP side.
- If the only benefit is a responsive UI during long calls, a progress indicator may deliver most of the value for far less work.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the NetLogo execution-model question in the issue and inspect OllamaProvider.scala:50, where streaming is disabled. Compare the four providers' response formats and consider the listed historyLock and thinking-model constraints. Done means agreeing on whether streaming fits NetLogo and selecting a concrete delivery shape before implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- api, backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100