Local-first Agent Mode for Windows, Linux, and macOS.
A ChatGPT/Claude-style desktop app that connects your local and API-powered tools: Ollama, ComfyUI, web search providers, workspace files, local databases, and sandbox commands.
Local Agent Studio is built for people who want a normal chatbot interface, but with tools they control locally or through their own API keys.
- Chatbot UI inspired by ChatGPT, Claude, and Open WebUI.
- Editable user messages with real context rewind to that point in the conversation.
- Ollama chat with streaming responses.
- Reasoning panel for models that return thinking traces.
- Reasoning flags with
--think,--think high, and--no-think. - Reasoning picker near the model selector for quick ChatGPT-style control.
- Multimodal attachments for images, audio, video, text, and files.
- Drag-and-drop and clipboard paste for images/files.
- Native image input for Ollama vision-capable models.
- Local PC date/time context so the LLM knows today's date without guessing or searching.
- Web search through SearXNG, SerpAPI, or Ollama Web Search.
- Search summarization instead of raw result dumps.
- Up to 3 web searches per user request.
- ComfyUI image generation with bundled workflows.
- Image model picker for Z-Image-Turbo, Flux.2 klein 9b, and Ideogram v4.
- Custom ComfyUI image models through user-defined workflow JSON files.
- Ideogram v4 effort selection: turbo, default, quality.
- Workspace file tools: create, read, edit, delete, and preview text files.
- File preview and download from the workspace panel.
- Local database creation from JSON/CSV-like objects: JSON DB, CSV export, and SQLite.
- Sandbox commands through subprocess or Docker mode.
- MCP server support for external tools.
- Runpod provider settings for remote Ollama-compatible and ComfyUI workloads.
- Tool permission controls for files, search, images, terminal, database, and MCP.
- First-launch workspace setup.
- Chat export/import as JSON.
- Manual update checks through a lightweight remote
version.jsonfile. - Agent task queue for sending the next prompt while the current answer is running.
- Tool activity timeline for visible agent/tool steps.
- Image gallery with generated image history, full-screen preview, prompt details, and download controls.
- Artifacts for reusable generated documents, code, JSON, Markdown, and design drafts.
- Personal memory between chats, with on/off controls.
- Remote provider presets for local, Runpod, and LAN-style setups.
- LM Studio and llama.cpp provider presets through OpenAI-compatible endpoints.
- Project templates for Work, Dev, Fun, and Research workspaces.
- Plugin marketplace with official plugin cards, GitHub manifest installs, and MCP-backed extensions.
- Model capability badges for text, image, audio, and MCP support.
- Themes: system, light, dark.
- Languages: English, Russian, Ukrainian, German, Polish.
See OFFICIAL_PLUGINS.md for the GitHub Git Operator setup guide.
Ask it like a normal assistant:
What is the current price of Meta Quest 3S in Ukraine?
If web access is enabled, the agent can run search queries, collect context, and synthesize a readable answer.
Create files in the workspace:
Create a test text file with "letter 123" inside.
Generate images through ComfyUI:
Generate 3 product shots of a local AI desktop app, use Ideogram quality mode.
Create a database from objects:
Create a database named products from objects:
[
{"name": "Quest 3S", "price": 299},
{"name": "Quest 3", "price": 499}
]
Run a sandbox command:
/run Get-ChildItem
Release builds are generated under release/.
Windows installer:
release/Local Agent Studio-0.2.1-x64.exe
Linux packages:
release/Local Agent Studio-0.2.1-x64.tar.gz
AppImage and .deb builds should be produced on Linux or CI with Linux packaging tools.
macOS packages must be produced on macOS or macOS CI:
release/Local Agent Studio-0.2.1-x64.dmg
release/Local Agent Studio-0.2.1-arm64.dmg
If you are publishing this project on GitHub, attach the installer to a GitHub Release.
Requirements:
- Windows 10+, Linux, or macOS
- Node.js 20+
- npm
- Ollama for local LLMs
- ComfyUI for image/video workflows
- Docker, optional, for SearXNG and sandbox isolation
Install dependencies:
npm.cmd installRun in development mode:
npm.cmd run devBuild the frontend:
npm.cmd run buildRun the packaged-style Electron app:
npm.cmd startBuild the Windows installer:
npm.cmd run package:winBuild Linux packages:
npm.cmd run package:linuxBuild Linux AppImage/deb installers on Linux or CI:
npm run package:linux:installersBuild macOS packages on macOS or macOS CI:
npm run package:macStart Ollama:
ollama servePull a model:
ollama pull llama3.1:8bYou can keep the model setting as auto, or set a model manually in Settings. The app also includes quick presets for Gemma 4-style model names:
gemma4:e2b
gemma4:e4b
Default endpoint:
http://localhost:8188
Bundled workflow files:
electron/workflows/image_z_image_turbo.json
electron/workflows/image_flux2_text_to_image_9b.json
electron/workflows/ideogram_v4.json
Supported image presets:
Z-Image-TurboFlux.2 klein 9bIdeogram v4
For Ideogram v4, the app exposes:
turbodefaultquality
The repo includes a Docker Compose file for local search:
docker compose -f docker-compose.searxng.yml up -dDefault endpoint:
http://localhost:8080
Local Agent Studio supports:
- SearXNG for local/self-hosted search.
- SerpAPI through your own API key.
- Ollama Web Search through your own API key.
Environment variables:
$env:SEARCH_PROVIDER="searxng"
$env:SERPAPI_API_KEY="..."
$env:OLLAMA_API_KEY="..."
$env:SEARXNG_BASE_URL="http://localhost:8080"You can also configure providers inside the app Settings.
Settings are stored locally in the Electron user data folder.
Useful environment variables:
$env:LOCAL_AGENT_WORKSPACE="C:\Users\You\LocalAgentStudio\workspace"
$env:LOCAL_AGENT_THEME="system"
$env:LOCAL_AGENT_LANGUAGE="en"
$env:OLLAMA_BASE_URL="http://localhost:11434"
$env:OLLAMA_MODEL="auto"
$env:OLLAMA_THINKING="off"
$env:COMFYUI_BASE_URL="http://localhost:8188"
$env:SEARCH_PROVIDER="searxng"The Workspace tab lets you:
- Browse workspace files.
- Create new files.
- Read text files.
- Edit and save text files.
- Delete files or folders.
- Open the workspace folder in Windows.
The agent can also perform workspace actions from chat, for example:
Create notes/todo.md with a checklist for publishing the project.
The agent can create simple local databases from structured objects.
Outputs:
databases/<name>.db.jsondatabases/<name>.csvdatabases/<name>.sqlite, when the runtime supportsnode:sqlite
Example:
Create database named launch-list from objects:
[
{"site": "Hacker News", "status": "planned"},
{"site": "Product Hunt", "status": "later"}
]
/search <query>
Force web search and answer synthesis.
/run <command>
Run a command in the selected sandbox mode.
Natural language image generation also works:
Generate a GitHub banner for this project using Flux.
Explicit image command examples:
/image local AI desktop app hero banner --count 3
/image product screenshot in a laptop mockup --model ideogram --effort quality
.
├─ electron/
│ ├─ backend/
│ │ ├─ attachments.cjs
│ │ ├─ comfy.cjs
│ │ ├─ config.cjs
│ │ ├─ data.cjs
│ │ ├─ files.cjs
│ │ ├─ llm.cjs
│ │ ├─ providers.cjs
│ │ ├─ sandbox.cjs
│ │ └─ search.cjs
│ ├─ workflows/
│ ├─ main.cjs
│ └─ preload.cjs
├─ src/
│ ├─ components/
│ ├─ App.tsx
│ ├─ i18n.ts
│ └─ styles.css
├─ assets/
│ ├─ github-hero-dark.png
│ ├─ github-social-light.png
│ └─ rendered-screen.png
├─ docker-compose.searxng.yml
└─ package.json
Build:
npm.cmd run buildCapture an Electron screenshot:
npx.cmd electron .\scripts\capture-electron.cjsInteractive capture:
$env:LOCAL_AGENT_CAPTURE_INTERACT="1"
npx.cmd electron .\scripts\capture-electron.cjs
Remove-Item Env:\LOCAL_AGENT_CAPTURE_INTERACTThe screenshot is saved to:
assets/rendered-screen.png
- Finished ComfyUI job watcher that pulls generated images back into chat.
- Search source cards with extracted price tables.
- Model capability registry for text, image, audio, video, reasoning, and context size.
- Conversation history saved as local projects.
- SQLite/CSV/JSON table viewer.
- Ask-before-write approval mode for risky actions.
- Git tools: status, diff, commit summary, changelog.
- Workspace RAG/indexing.
- Plugin system for custom tools.
- First-run setup wizard.
- Signed icon and branded installer.
subprocessmode runs commands on the host machine.- Use Docker mode for untrusted commands.
- Workspace file operations are scoped to the configured workspace directory.
- API keys are stored locally in app settings or read from environment variables.
- Review tool output before relying on generated files, commands, or search results.
Issues and pull requests are welcome. Useful contributions:
- New ComfyUI workflows.
- Better model presets.
- Search provider integrations.
- UI polish.
- Windows installer improvements.
- Documentation and demo videos.
Apache License 2.0. See LICENSE.




