Repository navigation
Agentic Signal v3.5.0
Highlights
The AI Assistant gets real control over the model it is talking to: per-model settings for thinking, temperature and context window, plus a live context gauge in the composer showing how much of the window the conversation has already used. Also in this release — the nodes dock no longer clips node icons at narrow widths, and three data-loss bugs are fixed, including one that could wipe settings when two tabs are open.
AI Assistant
- Per-model model settings — a new gear button in the chat header opens Model Settings for whichever model is selected. Settings are stored per model, so switching models switches its settings with it; nothing is shared between them.
- Thinking — on/off switch plus a level (
Model default,low,medium,high). The level tunes how long the reasoning trace runs. - Temperature — 0 to 2 in 0.1 steps.
- Context Window — 512 tokens up to the model's real maximum (read from the model itself), in 512-token steps. The dialog shows that maximum, and notes that changing the window makes Ollama reload the model, so the next reply is slower.
- Every setting is an override: left switched off, nothing is sent and Ollama applies its own default — which for the context window depends on the server's free VRAM (4K below 24 GiB, 32K up to 48 GiB, 256K above).
- Thinking — on/off switch plus a level (
- Context gauge — a ring beside the message field, with a tooltip breaking down tokens used against the window: exact counts, percentage, where the limit figure came from, and a warning once you go over (Ollama drops the oldest messages locally; Ollama Cloud rejects the prompt outright). It sits with the composer rather than in the header because the question it answers — is there room for this message? — is only ever asked while writing one.
- Counts come from the last response and are discarded when you switch models, since token counts are not comparable across tokenizers.
- "No measurement yet" is shown as its own state before the first message, rather than as zero usage.
- Thinking now works on models that reason by default —
thinkis always sent explicitly. Models likeqwen3anddeepseek-r1ignore the setting when it is omitted, so switching Thinking off previously had no effect on them. Note thatgpt-ossaccepts only a level and ignores on/off entirely — its trace can be shortened but never disabled. - Cloud models are handled honestly — for
-cloudmodels the context window control is omitted rather than shown greyed out, and replaced with a note explaining why: they run on Ollama's servers, always allocate the full window, and silently ignore anynum_ctxsent. The gauge measures against the model's true maximum instead of a stale local override, so it no longer reads "over limit" when nothing is wrong. - The settings dialog is rendered outside the draggable chat panel, so dragging the dialog no longer drags the whole chat box along with it.
Canvas & editor
- Nodes dock pages by whole nodes — the dock now trims itself to a whole number of node icons and pages by that same count, with arrow buttons on either side, so a half-clipped icon never shows at any width. Wheel and touch panning still work.
- Dock fits narrow windows — the dock is capped to the viewport width with clearance for the version chip in the corner, and below 768px its sections stack instead of spilling out.
- Elbow connectors no longer jump on a plain click — the grab area on an edge is deliberately much thicker than the visible line, which meant a simple click could yank the bend sideways to wherever you pressed. The bend now waits for 5px of pointer travel before it starts following the cursor.
Reliability & fixes
- A finished reply no longer reappears in the next message. Deleting a reply and sending a new message could repaint the old text into the fresh placeholder: the throttle's flush cleared its handle without cancelling the scheduled timeout, so it fired later with stale content.
- Settings survive having two tabs open. Writes to the per-model settings and context maps now read
localStorageat the moment of writing, rather than an in-memory snapshot taken at page load — the old behaviour serialised a stale view of the world and silently dropped whatever another tab had written since. A storage listener also keeps each tab's view current instead of showing page-load values until reload. - Concurrent RAG ingestion no longer loses files. Two workflow runs ingesting into the same collection each read the collection's file map, embedded (which can take minutes), then wrote the whole map back — so each wrote a map missing the other's files, and on a fresh collection both tried to create it. Ingestion into one collection is now serialised, keyed per collection so unrelated collections never wait on each other.
- A failed request no longer leaves the previous token reading in place looking like a fresh measurement, and a transient Ollama outage is no longer cached as "this model reports no context length".
Testing
- Six new test files (~1,000 lines) covering the settings store and its migration rules, the settings hook's multi-tab merge, the context gauge's tooltip wording, the stream throttle regressions above, the whole-item scroller's sub-pixel arithmetic, and the new keyed lock — including a control test proving the lock's absence really does lose an update.
bun run testat the repo root now runs the Deno and Vitest suites together; the server side gained adeno task testentry point.- Ollama service coverage extended for thinking levels,
num_ctxand reading a model's context length.
Tooling
- Package keywords aligned with the repository's GitHub topics.
Previous Versions 3.4.x:
- Job Search Node — pulls postings straight from company ATS boards (Greenhouse, Lever, Ashby, Workable)
- Form Interaction Tool — Playwright-backed form filling and submission, including multi-page forms and CV uploads
- Delayed Snapshot Node
- Draggable elbow connectors and auto fit-view on workflow load
- Node payload envelope (
{ payload, toolsPayload?, timerTrigger? }) across all nodes - Data Source multi-file upload; Data Validation split payload/tools schemas
- Vitest test infrastructure
- Security bumps: openssl, time, bytes, Tauri 2.11.5
Full Changelog: v3.4.0...v3.5.0