Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

185 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Squan

Multi-agent AI development command center with 53 built-in tools and 17 messaging platforms.

Squan orchestrates multiple AI agents working in parallel across your git repositories. Dispatch agents from a desktop app or control them from Telegram, Discord, Slack, WhatsApp, and 13+ other messaging platforms.

Version Platform License Signed

πŸ“₯ Download β€’ πŸ“– Guides β€’ 🌐 Website β€’ πŸ“Ί Demo


πŸŽ‰ What's New in v2.8.4

πŸ”§ Improvements

  • Auto Port Detection: Squan now automatically finds an available port if 3001 is in use (no more "port already in use" errors)
  • Graceful Server Startup: Better error handling and logging during server initialization
  • Improved Stability: Fixed server spawning to use Electron's bundled Node runtime

What's New in v2.8.0

πŸ”§ 53 Built-in Tools Across 7 Categories

Every agent automatically gets access to a comprehensive toolkit:

Category Count Tools
πŸ“ Filesystem 15 read_file, write_file, edit_file, list_directory, search_files, file_tree, file_stat, glob_files, diff_files, copy_file, move_file, delete_file, archive_create, archive_extract, file_checksum
🌿 Git 12 git_status, git_diff, git_log, git_branch, git_commit, git_stash, git_blame, git_cherry_pick, git_merge, git_tag, git_remote, git_reset
πŸ” Code Analysis 7 find_symbols, find_references, code_metrics, dependency_graph, lint_check, ast_outline, find_duplicates
🌐 Network 7 fetch_url, search_web, http_request, download_file, dns_lookup, url_screenshot, check_port
πŸ—„οΈ Database 4 query_sqlite, list_tables, describe_table, query_csv
πŸ’» System 8 system_info, env_vars, process_list, disk_usage, network_info, kill_process, open_url, clipboard
🀝 Agent Coordination 8 delegate_task, ask_agent, share_context, read_shared_context, create_skill, notify_user, request_review, task_complete

Total: 53 tools β€” no configuration needed. Agents discover and use them automatically.

πŸ’¬ 17 Messaging Platform Gateway

Control your agents from any messaging platform:

πŸ“± Telegram πŸ’¬ Discord πŸ’Ό Slack πŸ“ž WhatsApp πŸ”’ Signal 🌐 Matrix
πŸ‘₯ Mattermost 🏒 Teams βœ‰οΈ Email πŸ‡¨πŸ‡³ WeChat πŸ’š WeCom πŸ”” DingTalk
πŸ¦… Feishu 🟒 LINE 🐧 QQ Bot 🍎 iMessage πŸ’» IRC

Unified Gateway Architecture:

  • Each platform has a dedicated adapter (WebSocket, long poll, webhook, SMTP/IMAP)
  • Single router manages sessions and maps platform users to Squan agents
  • 8 slash commands work identically on every platform: /new, /agents, /switch, /status, /stop, /clear, /models, /help

Example (Telegram):

You: /new Write a FastAPI endpoint for user auth
Bot: βœ… Agent #42 dispatched! Building auth endpoint...
     [streaming response with tool calls]
     
You: Add JWT token refresh
Bot: πŸ”§ Working on it...
     [continues with follow-up]

See Platform Setup Guide for configuration.


⚑ Core Features

πŸ€– Multi-Agent Orchestration

  • Dispatch multiple AI agents to work on tasks simultaneously
  • Each agent works in an isolated git worktree β€” no merge conflicts
  • Monitor agent progress in real-time via chat interface
  • Follow-up conversations β€” agents stay alive after completion, ask clarifying questions or give more instructions
  • Multi-model support β€” Anthropic, OpenAI, Gemini, Ollama, or any OpenAI-compatible endpoint

πŸ“‹ Visual Kanban Board

  • 5-column workflow: Open β†’ In Progress β†’ PR Review β†’ Landed β†’ Cancelled
  • Auto-updates as agents complete work
  • Inline agent status and quick actions on cards
  • "Mark Complete" button to advance tasks manually

πŸ’¬ Interactive Agent Chat

  • Real-time streaming responses with tool call cards (expandable JSON)
  • Always-visible follow-up input β€” continue conversations after completion
  • Completion action bar: Continue Chatting or Mark Complete & Advance

πŸ”Œ MCP Extension Support

  • Connect to 1000+ community MCP servers β€” databases, Slack, Jira, GitHub Issues, Figma, Notion, Stripe, and more
  • Agents automatically discover and use MCP tools alongside the 53 built-in tools
  • Supports both stdio (CLI-based) and HTTP transports

πŸ“ Everything-as-Code

  • All project state stored in .squan/ directory inside your repo
  • Tasks are markdown files with YAML frontmatter
  • Every change is a git commit β€” full audit trail
  • Version-controlled task templates, agent charters, and project docs

πŸ–₯ Desktop App + Web Access

  • Electron-based β€” double-click to run (no terminal, no npm, no Node.js required)
  • Or access via browser at http://localhost:3001 (Docker deployment)

πŸ”— GitHub Integration

  • Browse and clone repos from your GitHub account
  • Create new repos directly from Squan
  • Auto-create PRs from agent work with one click

πŸ“Š Monitoring & Analytics

  • Events stream β€” real-time activity log of all agents
  • Metrics dashboard β€” success rates, task completion stats
  • Cost tracking β€” token usage and API spend per agent
  • Live status bar with connection health, agent count, and current spend

πŸ›‘οΈ Code Signing

  • Windows binaries signed with SSL.com eSigner β€” no SmartScreen warnings
  • macOS binaries signed and notarized with Apple Developer ID β€” no Gatekeeper blocks
  • Fully automated via GitHub Actions

πŸš€ Quick Start

Option 1: Download Binary (Easiest)

πŸ“₯ Download for Windows or macOS

  1. Download the signed binary for your platform
  2. Run Squan.exe (Windows) or open Squan.app (macOS)
  3. The embedded server starts automatically
  4. Enter your Anthropic API key in Settings β†’ AI Provider
  5. Create a project, add tasks, dispatch agents!

Option 2: Build from Source

git clone https://github.com/tarvitave/squan.git
cd squan
npm install
npm start

Builds the server, client, and Electron shell, then launches the app.

Option 3: Docker (Web Deployment)

git clone https://github.com/tarvitave/squan.git
cd squan
cp .env.example .env  # Add your API keys
docker-compose up -d

Access at http://localhost:80.


πŸ“– Documentation


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   Squan Desktop App                     β”‚
β”‚                    (Electron 33)                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚        React Frontend (TypeScript + Tailwind)      β”‚β”‚
β”‚  β”‚  β€’ Kanban Board β€’ Agent Chat β€’ Settings β€’ Metrics β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                     β”‚ WebSocket + REST API             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚      Express Server (Node.js + TypeScript)         β”‚β”‚
β”‚  β”‚  β€’ Process Manager (spawns agent child processes)  β”‚β”‚
β”‚  β”‚  β€’ SQLite cache (real-time state sync)             β”‚β”‚
β”‚  β”‚  β€’ .squan/ filesystem engine (source of truth)     β”‚β”‚
β”‚  β”‚  β€’ MCP client (connects to extension servers)      β”‚β”‚
β”‚  β”‚  β€’ Gateway router (17 messaging platform adapters) β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚
         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
         β”‚                        β”‚               β”‚
         β–Ό                        β–Ό               β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  Agent #1   β”‚      β”‚  Agent #2   β”‚    β”‚  Telegram   β”‚
  β”‚ (worktree)  β”‚      β”‚ (worktree)  β”‚    β”‚   Gateway   β”‚
  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€      β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€    β”‚ (long poll) β”‚
  β”‚β€’ 53 tools   β”‚      β”‚β€’ 53 tools   β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  β”‚β€’ MCP ext.   β”‚      β”‚β€’ MCP ext.   β”‚
  β”‚β€’ Claude API β”‚      β”‚β€’ GPT-4o API β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

How Agents Work

  1. Dispatch β€” Create a task on the kanban board, click "Dispatch Agent"
  2. Isolation β€” Squan creates a git worktree and writes CLAUDE.md with task instructions
  3. Spawn β€” A child process starts, running the agent with your chosen AI model
  4. Work β€” The agent uses the 53 built-in tools + any MCP extensions to complete the task
  5. Stream β€” Real-time updates appear in the agent chat (tool calls, file edits, commits)
  6. Complete β€” Agent signals task_complete or you click "Mark Complete"
  7. Follow-up β€” Continue chatting with the agent or advance the kanban card to PR Review

Everything-as-Code: The .squan/ Directory

your-project/
β”œβ”€β”€ .squan/
β”‚   β”œβ”€β”€ config.yaml              # Project settings (workspace path, default model, etc.)
β”‚   β”œβ”€β”€ board/                   # Kanban board (5 columns)
β”‚   β”‚   β”œβ”€β”€ open/
β”‚   β”‚   β”‚   └── 001-add-auth.md  # Task = markdown file with YAML frontmatter
β”‚   β”‚   β”œβ”€β”€ in_progress/
β”‚   β”‚   β”œβ”€β”€ pr_review/
β”‚   β”‚   β”œβ”€β”€ landed/
β”‚   β”‚   └── cancelled/
β”‚   β”œβ”€β”€ charters/                # Agent roles & knowledge bases
β”‚   β”œβ”€β”€ templates/               # Reusable task templates (standby tasks)
β”‚   └── docs/                    # Project documentation
β”œβ”€β”€ src/
└── package.json

Every task, agent status change, and completion is a git commit β€” full auditability.


πŸ› οΈ Tech Stack

Layer Technology
Desktop Shell Electron 33
Frontend React 19 + TypeScript + Vite 5
Styling Tailwind CSS 4 + Lucide icons
Backend Express + TypeScript
Database SQLite (libsql) β€” cache layer only
State Source of Truth .squan/ files in git
Agent Runtime Multi-provider: Anthropic, OpenAI, Gemini, Ollama, OpenAI-compatible
Tool Ecosystem 53 built-in + MCP (Model Context Protocol) extensions
Messaging Gateway 17 platform adapters (WebSocket, HTTP, IMAP/SMTP)
Build & Package electron-forge + GitHub Actions
Code Signing SSL.com (Windows) + Apple Developer ID (macOS)
Deployment Docker + Docker Compose

⌨️ Keyboard Shortcuts

Shortcut Action
⌘K / Ctrl+K Command palette
⌘B / Ctrl+B Toggle sidebar
⌘, / Ctrl+, Settings
⌘ / Ctrl+ ` Toggle Claude Code panel
⌘1 – ⌘6 Switch views (Agents, Kanban, Metrics, Events, Costs, Console)
Esc Close modals / cancel actions

πŸ”§ Configuration

In-App Settings

Setting Location Description
API Keys Settings β†’ AI Provider Add Anthropic, OpenAI, Gemini, or Ollama credentials
OAuth Sign-In Settings β†’ AI Provider Authenticate with your Anthropic Pro/Max subscription
GitHub Token Settings β†’ GitHub Personal access token for repo browsing and PR creation
MCP Extensions Settings β†’ Extensions Add MCP servers (stdio or HTTP) for databases, APIs, tools
Workspace Path Settings β†’ Workspace Default: ~/squan-workspace (where repos are cloned)
Font Size Settings β†’ Appearance UI scaling

Environment Variables

Variable Description Default
PORT Server port 3001
DB_URL SQLite database path file:./squansq.db
JWT_SECRET Authentication secret squansq-dev-secret
ANTHROPIC_API_KEY Default Anthropic key (none)
OPENAI_API_KEY Default OpenAI key (none)

πŸ“¦ Building from Source

Development Mode

npm run dev          # Server (:3001) + Client (:3000) with hot reload

Production Binary

npm run package      # Creates portable binary at ~/squan-dist/
npm run make         # Creates installers (.exe, .dmg)

Build Output

Platform Format Location
Windows ZIP (portable) squan-dist/Squan-<version>-win64.zip
Windows Squirrel installer out/make/squirrel.windows/x64/
macOS (Intel) DMG squan-dist/Squan-<version>-macos-x64.dmg
macOS (Apple Silicon) DMG squan-dist/Squan-<version>-macos-arm64.dmg

πŸ“Š Project Stats (v2.8.4)

  • 53 built-in tools across 7 categories
  • 17 messaging platform integrations
  • 12,257 lines of new code in v2.8.x series
  • 36 new TypeScript files (tool registry + gateway)
  • 4 AI providers supported (Anthropic, OpenAI, Gemini, Ollama)
  • 1000+ MCP servers available in the community
  • Zero SmartScreen warnings on Windows (signed)
  • Zero Gatekeeper blocks on macOS (signed & notarized)

🀝 Contributing

Squan is open source (Apache-2.0). Contributions welcome!

  1. Fork the repo
  2. Create a feature branch: git checkout -b feat/my-feature
  3. Commit changes: git commit -am 'Add amazing feature'
  4. Push to the branch: git push origin feat/my-feature
  5. Open a Pull Request

πŸ“„ License

Apache-2.0

See LICENSE for full text.


πŸ‘€ Author

Colin Wynd


πŸ”— Links


Built with ❀️ by the Squan team

Star on GitHub

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages