Skip to main content
loomcycle
§ apache-2.0 · thin client · loomcycle v1.14+ · free download

The chat app for loomcycle.

Install, connect, converse. LoomBoard is a thin-client chat surface for the loomcycle agentic runtime. It ships as a native desktop app for macOS, Windows, and Linux; as an npm CLI runner that opens the same UI in your browser; as an embeddable React component you drop into your own app; and as a Chrome side-panel extension that lets the assistant read and act on the current page.

There is no LoomBoard backend. The runtime owns auth, persistence, tools, and the agent loop. LoomBoard drives one conversation and talks to loomcycle over its /v1/* HTTP + SSE wire.

v0.1.2 · shipped 2026-07-08 Tauri v2 · React 19 peer @loomcycle/client ≥ 1.16.0 Apache-2.0

§ download the desktop app

macOS
Download DMG · 16 MB
Apple Silicon + Intel · universal build

First launch: right-click the app icon and pick Open. Gatekeeper flags unsigned apps; the right-click bypass is a one-time confirmation. Signed builds arrive with v0.2.

Windows
Download installer · 6 MB
NSIS · x64 · or the MSI for group policy deployment

First launch: SmartScreen shows "Windows protected your PC." Click More info then Run anyway. Signed builds arrive with v0.2.

Linux
Download AppImage · 86 MB
amd64 · or the .deb for Debian and Ubuntu

AppImage: chmod +x loomboard_0.1.2_amd64.AppImage && ./loomboard_0.1.2_amd64.AppImage. Needs libwebkit2gtk-4.1.

Other install paths (Node CLI, embed the React component, Chrome extension)

Run in your browser via the Node CLI

Cross-platform, no build step. Starts a local server on 127.0.0.1:4173 and reverse-proxies /v1/* to whatever loomcycle you point it at, so a browser talks to any runtime with no CORS setup.

npm install -g @loomboard/app
loomboard
# or one-shot: npx @loomboard/app

Embed the React component in your own app

Drop <Chat> into your React tree. Peer deps: react, react-dom, @loomcycle/client.

npm install @loomboard/chat

Chrome side-panel extension

Load unpacked for now (not yet on the Chrome Web Store). Opens the loomboard chat in Chrome's side panel with a chrome-assistant agent that reads and acts on the current page: summarize, collect data, fill fields, click, navigate. Requires loomcycle ≥ v1.16.0 (client-executed tools, RFC BC).

curl -LO https://github.com/denn-gubsky/loomboard/releases/download/v0.1.2/loomboard-extension-0.1.10.zip
unzip loomboard-extension-0.1.10.zip -d loomboard-extension
# Chrome → chrome://extensions → Developer mode → Load unpacked → pick the folder

Coming

Android + iOS (Tauri mobile scaffolded, Android debug suffix already in config). Chrome Web Store submission for the extension. Board mode (kanban over Documents + AgentTeam graphs, RFC AP). Explorer mode (Path VFS + Documents via @loomcycle/explorer).

§ 01 · what it does

Real capabilities, shipped today.

The chat surface is complete. Every listed capability is in v0.1.2 and works against a live loomcycle. No feature is described that is still in a branch.

Streamed output with tool calls + reasoning

Watch the agent think, call tools, read results, and respond. Reasoning traces flow inline from every provider that emits them: Anthropic thinking, OpenAI o-series, DeepSeek reasoner, Ollama think:true, Gemini thinking. Backed by loomcycle's EventThinking stream, fixed for every provider in v1.8.2.

Live token, throughput, and context HUD

A compact heads-up display shows tokens in / out, tokens per second, and how close the conversation is to the context window ceiling. Context compaction is one click away when the window fills.

Human-in-the-loop Interruption answers

When the agent asks a question mid-run via loomcycle's Interruption tool, the answer field appears in place. No modal, no thread break. Sub-second round-trip.

Image, PDF, DOCX attachments

Drop an image directly into the composer for vision-capable providers (Anthropic, OpenAI, Gemini, Ollama vision models). Drop a PDF or DOCX and the client extracts the text via pdfjs-dist and mammoth before sending. Big files stay in the browser, not on the runtime.

Embedded Skills + MCP catalog

The left rail hosts the loomcycle Library: on-demand Skills (RFC BA), registered MCP servers, and forkable AgentDefs, all rendered by the reusable @loomcycle/library React component. Same CRUD surface as the loomcycle Web UI.

Cost + budget awareness inline

Per-scope token budget warnings (RFC AW) surface inline in the transcript: amber banner when a soft threshold crosses, red when the hard cap denies the next run. The runtime does the enforcement; the client renders it.

§ 02 · how it works

Thin client. loomcycle owns the loop.

LoomBoard is a thin client. The desktop app is a Tauri v2 window hosting a React SPA. The npm CLI runner is the same SPA served locally with a small proxy. The Chrome extension is the SPA in a side panel with page-access content scripts. Same code path, four packaging modes.

None of the packagings holds state that the runtime does not. Bearer tokens live in the browser's local storage; the CLI proxy forwards them upstream but never reads or logs them. Conversations, transcripts, and tool invocations are persisted by the runtime, not by LoomBoard. Reload the client, restart your machine, or switch installs: your conversations follow the loomcycle you connect to.

LoomBoard talks to loomcycle over the standard /v1/* HTTP + SSE wire via @loomcycle/client. Every capability listed above is a client-side rendering of a loomcycle event. There is no LoomBoard-specific API. Any client that speaks the same wire is a peer. Read the runtime page →

§ 03 · what it looks like

Four surfaces from a live session.

Four real screenshots from the shipped v0.1.2 build. The token/throughput HUD in the top-right of each chat frame reads out live: ollama-local/qwen3.6:latest at 6.5-8.9 tokens/s. Local inference, running on my TrueNAS box.

LoomBoard chat surface rendering a Mermaid architecture diagram inline. Backend Services / Route Handler / Database / Cache Layer / SQL Query / Format Response boxes with flow arrows. Left rail shows Chats and Library. Top bar: chat-local model, ollama-local/qwen3.6:latest at 8.9 tokens/s.

Mermaid diagrams render inline. A local qwen3.6 producing a backend-services architecture diagram, streamed and rendered live.

LoomBoard chat surface showing LaTeX-rendered mathematics: quadratic equation solutions, discriminant, formula for roots. Local qwen3.6 running at 6.5 tokens/s.

LaTeX math renders inline. The assistant explaining quadratic-equation solutions with formulas rendered from the model's output.

Chrome browser showing loomcycle.dev blog post 'LoomBoard v0.1.2 ships' on the left. LoomBoard Chrome extension side panel on the right with 'bridge: connected · last: read_page → ok' status, a query 'describe the webpage in 150 words', a client__browser_read_page tool call, and the agent's structured 150-word summary of the post.

Chrome extension reading a page. The side panel calls client__browser_read_page on the active tab (RFC BC); the agent summarizes without the operator switching tabs.

EMAG.RO product page for a Noctua NF-A9x14 HS-PWM Chromax fan on the left. LoomBoard Chrome extension side panel on the right showing an extracted structured summary: price 100.95 Lei, rating 4.5/5, brand Noctua, key specs (size 92x92x14mm, airflow 57.5 m³/h, RPM 600-2500, noise 23.6 dB, bearings SSO2).

Real-page product extraction. Same tool, applied to a Romanian e-commerce product page. The agent extracts the product name, price, rating, brand, and full technical specs from the DOM.

56 seconds. Locally-hosted qwen3.6 (Ollama) on TrueNAS. The extension reads an EMAG.RO product page, then does a market scan for cheaper alternatives. Reasoning traces streaming, product data extracted from the DOM, web-search fallback circuit walking cascade providers. Not a canned demo, not a hosted-model cloud round-trip. Everything runs on the same box that hosts the loomcycle runtime.

§ 04 · coming next

What ships after v0.1.x.

§ 05 · install verification

The exact commands, and what to expect on first run.

macOS · DMG

curl -LO https://github.com/denn-gubsky/loomboard/releases/download/v0.1.2/loomboard_0.1.2_universal.dmg
open loomboard_0.1.2_universal.dmg

Drag loomboard.app into /Applications. On first launch, right-click the icon and pick Open; Gatekeeper shows the "developer cannot be verified" dialog once. Click Open again. From then on it launches normally.

Windows · NSIS installer

curl -LO https://github.com/denn-gubsky/loomboard/releases/download/v0.1.2/loomboard_0.1.2_x64-setup.exe
loomboard_0.1.2_x64-setup.exe

SmartScreen: "Windows protected your PC." Click More info, then Run anyway. The installer runs; loomboard is installed to %LOCALAPPDATA%\loomboard by default and gets a Start-menu entry.

Linux · AppImage

curl -LO https://github.com/denn-gubsky/loomboard/releases/download/v0.1.2/loomboard_0.1.2_amd64.AppImage
chmod +x loomboard_0.1.2_amd64.AppImage
./loomboard_0.1.2_amd64.AppImage

Needs libwebkit2gtk-4.1. On Ubuntu 24.04 and Debian 13 it is installed by default. On older distros: sudo apt install libwebkit2gtk-4.1-0.

Node CLI

npm install -g @loomboard/app
loomboard
# opens http://127.0.0.1:4173 in your default browser

The connection screen asks for your loomcycle base URL and bearer token. Leaving the base URL blank routes through the CLI's local /v1/* proxy to http://127.0.0.1:8787 (override with --loomcycle).

Chrome extension (unpacked)

curl -LO https://github.com/denn-gubsky/loomboard/releases/download/v0.1.2/loomboard-extension-0.1.10.zip
unzip loomboard-extension-0.1.10.zip -d loomboard-extension

Open chrome://extensions. Toggle Developer mode on. Click Load unpacked and select the loomboard-extension folder. Click the loomboard toolbar icon to open the side panel. Requires loomcycle ≥ v1.16.0 for client-executed tools (RFC BC).