- contact@verticalserve.com
The CLI is for engineers and SREs. The Desktop app is for analysts and operations teams. Same agent core, same skills.
Folder browser, drag-and-drop into chat, app workspaces, in-app permission manager, multi-provider LLM settings. New in v2.2.0: §15 app bundle authoring, Publish to S3, "Open in InsightStudio", and a one-click --worker mode to join a Studio coordinator's farm.
Latest: v2.2.0 — macOS Apple Silicon & Intel. Windows + Linux on the next release.
Windows installer is currently on v2.0.3 — v2.2.0 builds for Windows + Linux ship next release.
xattr -cr /Applications/InsightWorker.appThen double-click to open. The "is damaged" error you may see otherwise is macOS Gatekeeper blocking unsigned + quarantined apps — the file itself is fine.
Interactive REPL, one-shot mode for CI, slash commands, project workspaces. The install script handles the Node 20 LTS runtime for you (or bring your own — Node 18+ works). Four flavors of the same install: REPL, browser UI (--web), per-app widget form (--ui), or worker daemon that joins an InsightStudio farm (--worker).
Latest: v2.1.11 — ships the worker daemon and per-run artifact downloads.
curl -fsSL https://insightworker.com/install.sh | bash
After install, try any of:
insightworker # interactive REPL
insightworker --web # browser UI on 127.0.0.1:8765
insightworker /app create "<name>" --ui # widget form for one app
insightworker --worker --studio <url> \
--token <bearer> # join an InsightStudio farm
The --worker mode turns this box into a daemon that polls an
InsightStudio coordinator
and runs queued jobs from its browser-based marketplace.
See Join a worker farm
for the full flag reference and a systemd unit.
Or download the tarball: insightworker-latest.tgz
Drop InsightWorker into the editor you already use. Adds a chat panel, command-palette tools, and a status-bar provider indicator. The agent runs as a subprocess of the CLI you've already installed — no separate auth, no extra service.
After downloading, install with one command (works in VS Code, Cursor, Kiro, and VSCodium):
code --install-extension ~/Downloads/insightworker-vscode-latest.vsix
(Or in the editor: Command Palette → Extensions: Install from VSIX… → pick the file.)
What you get:
InsightWorker Enterprise adds SSO, per-team model whitelists, token quotas, a private skills marketplace, and audit logging on top of the same product. Self-hosted or SaaS.
InsightWorker is provider-agnostic. Set one of the following in ~/.insightworker/.env (CLI) or in Settings → LLM Provider (Desktop).
Uses your existing AWS credentials (~/.aws/credentials or IAM role). No model API key to manage.
ACTIVE:
aws bedrock list-foundation-models --region us-east-1 \ --by-provider anthropic \ --query 'modelSummaries[?modelLifecycle.status==`ACTIVE`].modelId'
~/.insightworker/.env:
LLM_PROVIDER=bedrock AWS_REGION=us-east-1 BEDROCK_MODEL=us.anthropic.claude-sonnet-4-5-20250929-v1:0 # Optional — falls back to ~/.aws/credentials or IAM role # AWS_ACCESS_KEY_ID=... # AWS_SECRET_ACCESS_KEY=...
BEDROCK_MODEL with an ACTIVE ID from step 2.Use this if you don't have AWS Bedrock and want to call Claude directly via Anthropic's API.
sk-ant-).~/.insightworker/.env:
LLM_PROVIDER=anthropic ANTHROPIC_API_KEY=sk-ant-... AGENT_MODEL=claude-sonnet-4-5
| Use case | Recommended model |
|---|---|
| General apps | claude-sonnet-4-5 |
| Stored-proc translation, complex reasoning | claude-sonnet-4-5 |
| Bulk classification, cheap calls | claude-haiku-4-5 |
Use a key from platform.openai.com (starts with sk-).
~/.insightworker/.env:
LLM_PROVIDER=openai OPENAI_API_KEY=sk-... OPENAI_MODEL=gpt-4o
| Use case | Recommended model |
|---|---|
| General apps, tool use | gpt-4o |
| Cheap classification / drafts | gpt-4o-mini |
| Hard reasoning, planning | o1-preview · o1-mini |
For enterprise deployments where prompts must stay in your Azure tenant. Same Chat Completions surface as OpenAI proper, routed through your endpoint and deployment.
my-gpt-4o).~/.insightworker/.env:
LLM_PROVIDER=azure AZURE_OPENAI_ENDPOINT=https://my-resource.openai.azure.com AZURE_OPENAI_API_KEY=... AZURE_OPENAI_DEPLOYMENT=my-gpt-4o AZURE_OPENAI_API_VERSION=2024-08-01-preview
2024-08-01-preview — bump it when you upgrade Azure resources.Point at any endpoint that exposes the OpenAI Chat Completions API. Useful for self-hosted models, local dev, or your own GPU box.
# vLLM vllm serve meta-llama/Llama-3.1-70B-Instruct --port 8000 # Ollama (already exposes /v1) ollama serve # LM Studio — enable "OpenAI-compatible server" in Local Server tab
~/.insightworker/.env:
LLM_PROVIDER=custom CUSTOM_LLM_BASE_URL=http://gpu-box.internal:8000/v1 CUSTOM_LLM_API_KEY=optional-if-required CUSTOM_LLM_MODEL=meta-llama/Llama-3.1-70B-Instruct
| Endpoint | Typical base URL |
|---|---|
| vLLM / TGI | http://<host>:8000/v1 |
| Ollama | http://<host>:11434/v1 |
| LM Studio | http://localhost:1234/v1 |
Use a key from aistudio.google.com/apikey. Fastest path — no GCP project required.
AIza).~/.insightworker/.env:
LLM_PROVIDER=gemini GEMINI_API_KEY=AIza... GEMINI_MODEL=gemini-2.0-flash-001
| Use case | Recommended model |
|---|---|
| General apps, tool use | gemini-2.0-flash-001 |
| Hard reasoning, long context | gemini-2.5-pro |
| Cheap classification | gemini-2.0-flash-lite |
$ref, oneOf, etc.). If a custom tool fails on Gemini but works on OpenAI, simplify its input_schema.For enterprise deployments where prompts must stay in your GCP project. Same Gemini models, IAM-governed, region-pinned, with VPC-SC support.
roles/aiplatform.user role.gcloud auth application-default login) or point at a service-account JSON.~/.insightworker/.env:
LLM_PROVIDER=vertex GOOGLE_CLOUD_PROJECT=my-gcp-project GOOGLE_CLOUD_LOCATION=us-central1 # Optional — falls back to ADC if unset: GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json VERTEX_MODEL=gemini-2.0-flash-001
us-central1, us-east5, europe-west4, asia-northeast1. Some Gemini models are only available in a subset of regions — check the Vertex AI locations doc.Plug in a Perplexity Sonar key and the agent gets a perplexity_search tool — current news, market data, regulatory filings, all with source citations.
Get a key at perplexity.ai/settings/api, then add to ~/.insightworker/.env:
PERPLEXITY_API_KEY=pplx-... PERPLEXITY_MODEL=sonar-pro
The agent decides when to call it. Sample prompts that route through Perplexity:
Tool input supports recency (hour / day / week / month / year) and domain_filter (allowlist or -domain to exclude).
Get to a working chat in under two minutes.
insightworker > what DAGs are running in Airflow? > compare row counts MySQL ↔ Oracle for users > /app create "convert Redshift DAG to Oracle ADW"
Drop a YAML file in your workspace, run insightworker --daemon, and the agent fires on a cadence — every minute through every day. Pair with the Perplexity tool to monitor companies, markets, or systems on autopilot.
<workspace>/.insightworker/schedules.yaml:
schedules:
- name: monitor-apple
every: 1h
prompt: |
Use perplexity_search recency=hour for "Apple Inc news".
If anything material (product launch, M&A, exec change,
earnings, big stock move) appeared in the last hour,
append a dated entry to ~/Desktop/apple-watch.md.
If nothing material, skip the write.
- name: nightly-cleanup
every: 24h
app: cleanup-stale-dags
enabled: true
Cadence syntax: 1h, 30m, 1h30m, 45s, @hourly, @daily, @weekly. 30-second floor as a rate-limit guard. Use prompt: for free-form text or app: to point at an existing app under .insightworker/workflows/.
# Run the scheduler in foreground insightworker --daemon # Inspect what's loaded insightworker schedule list # Fire one immediately (skips cadence) insightworker schedule run monitor-apple
For unattended runs, wrap with launchd (macOS), systemd (Linux), or pm2. Each schedule writes to its own log:
~/.insightworker/logs/<schedule>.log
Per-schedule mutex skips overlapping runs (won't stack a second tick on top of an in-flight one). SIGINT / SIGTERM wait for in-flight runs to finish before exit.
This build runs free through 31 August 2026. After that, the CLI and Desktop app refuse to start until a license key is configured. To purchase, extend, or move to enterprise tier:
Contact our team