๐ก Idea 3: Deploy Clawpilot โ AI Desktop Assistant¶
| Field | Detail |
|---|---|
| Priority | ๐ Important |
| Status | ๐ In Progress |
| Category | ๐ Learning Project / ๐ผ Official |
| Date added | 2026-03-29 |
| Started | 2026-03-29 |
| Source | Enterprise GitHub repo: gim-home/m |
| Version (repo) | 0.20.50 |
| To-Do link | I3 on To-Do List |
What Is Clawpilot? (The Simple Version)¶
โ Cloud Cafรฉ analogy: Imagine your cafรฉ has two ways to manage it:
- Copilot CLI = A walkie-talkie to your sous chef. You speak (type), they do things. Fast, efficient, but text-only.
- Clawpilot = A touchscreen tablet for your restaurant manager. Same kitchen (AI engine), but now you can SEE things โ plus the manager can also go online to order supplies (browser control) and print beautiful menus (Office docs).
Both talk to the same chef (Copilot SDK). One uses voice (terminal), the other uses a screen (GUI).
Clawpilot is an internal AI-powered desktop app built on the same GitHub Copilot SDK that powers Copilot CLI. It wraps that AI engine in a visual desktop window with extra capabilities.
Architecture Overview¶
The Big Picture¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ YOUR COMPUTER โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ CLAWPILOT (Electron App) โ โ
โ โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ RENDERER PROCESS โ โ MAIN PROCESS โ โ โ
โ โ โ (What you see) โ โ (The engine room) โ โ โ
โ โ โ โ โ โ โ โ
โ โ โ โโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โ
โ โ โ โ Chat Window โ โโโโโบโ โ Copilot SDK Client โ โ โ โ
โ โ โ โ (React UI) โ โIPC โ โ (AI Brain) โ โ โ โ
โ โ โ โโโโโโโโโโโโโโโโโค โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโค โ โ โ
โ โ โ โ Model Picker โ โ โ โ Session Manager โ โ โ โ
โ โ โ โโโโโโโโโโโโโโโโโค โ โ โ (Conversations) โ โ โ โ
โ โ โ โ Skills Panel โ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโค โ โ โ
โ โ โ โโโโโโโโโโโโโโโโโค โ โ โ Permission System โ โ โ โ
โ โ โ โ Settings โ โ โ โ (Safety checks) โ โ โ โ
โ โ โ โโโโโโโโโโโโโโโโโ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ โ
โ โ โ โ โ โ โ โ โ
โ โ โ Built with: โ โ Built with: โ โ โ โ
โ โ โ React + TypeScript โ โ Node.js โ โ โ โ
โ โ โ + Tailwind CSS โ โ + Electron โ โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโ โ โ
โ โ โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโ โ
โ โ MCP SERVERS (Connected Tools) โ โ โ
โ โ โผ โ โ
โ โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ โ
โ โ โ ๐ Filesystem โ โ ๐ Playwright โ โ ๐ Shell โ โ โ
โ โ โ Read/Write โ โ Browser โ โ Commands โ โ โ
โ โ โ Files โ โ Automation โ โ (PowerShell) โ โ โ
โ โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ โ
โ โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ โ
โ โ โ ๐ง WorkIQ โ โ ๐ Web Searchโ โ โ
โ โ โ M365 Data โ โ Internet โ โ โ
โ โ โ (via CLI) โ โ Search โ โ โ
โ โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ EXTERNAL SERVICES (Cloud) โ โ
โ โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ โ
โ โ โ GitHub โ โ GitHub โ โ Microsoftโ โ Azure โ โ โ
โ โ โ Auth โ โ Copilot โ โ 365 โ โ Table โ โ โ
โ โ โ (OAuth) โ โ (AI) โ โ (WorkIQ) โ โ (Skills) โ โ โ
โ โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
How the Two Processes Talk (IPC Bridge)¶
โ Analogy: Think of it like a restaurant with a kitchen (Main Process) and a dining room (Renderer). The waiter (IPC Bridge) carries orders from diners to the kitchen and brings food back. Diners never walk into the kitchen directly โ that's a security rule!
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ RENDERER โ โ IPC BRIDGE โ โ MAIN PROCESS โ
โ (Dining Room) โ โ (The Waiter) โ โ (Kitchen) โ
โ โ โ โ โ โ
โ "I want to send โโโโโโโโโโบโ Carries the โโโโโโโโโโบโ SessionManager โ
โ a message" โ โ request across โ โ processes it โ
โ โ โ the bridge โ โ โ
โ Gets the reply โโโโโโโโโโโ Brings back โโโโโโโโโโโ Returns result โ
โ and shows it โ โ the response โ โ {success: true} โ
โ โ โ โ โ โ
โ window. โ โ ipcRenderer โ โ ipcMain โ
โ copilotAPI. โ โ .invoke() โ โ .handle() โ
โ send() โ โ โ โ โ
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
Session Lifecycle (How a Conversation Works)¶
User opens Clawpilot
โ
โผ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Auth Screen โโโโโโบโ GitHub โโโโโโบโ Copilot SDK โ
โ "Sign In" โ โ Device Flow โ โ Initialized โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโฌโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโ
โ New Chat โ โโโ User clicks "New Chat"
โโโโโโโโฌโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Session Created โ
โ โข UUID generated โ
โ โข MCP servers configured (filesystem, playwright) โ
โ โข System prompt built (AI instructions + skills) โ
โ โข Personality applied (default, JARVIS, TARS, etc.) โ
โ โข Saved to ~/.copilot/m-sessions/{id}.json โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Chat Loop โ
โ โ
โ User types message โโโบ SDK processes โโโบ AI responds โ
โ โ โ โ โ
โ โ โผ โ โ
โ โ โโโโโโโโโโโโโโโโ โ โ
โ โ โ Tool calls? โ โ โ
โ โ โ (file, shell, โ โ โ
โ โ โ browser...) โ โ โ
โ โ โโโโโโโโฌโโโโโโโโ โ โ
โ โ โ โ โ
โ โ โผ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ Permission Check โ โ โ
โ โ โ Tier 1: Auto? โโโYesโโโบ โ โ
โ โ โ Tier 2: Per-serverโโโYesโโโบ โ โ
โ โ โ Tier 3: Session? โโโYesโโโบ โ โ
โ โ โ Tier 4: Ask User โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ โ
โ โผ โผ โ
โ Messages auto-saved to disk Streaming โ
โ after every exchange response shown โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Permission System (3-Tier Safety)¶
โ Analogy: Like a cafรฉ kitchen with safety rules:
- Tier 1 (Auto-approve): Reading the recipe book (safe, always allowed) =
ls,cat,git status- Tier 2 (Ask manager): Using the deep fryer (needs a trained person to approve) = file writes, npm install
- Tier 3 (Block): Playing with fire near the gas line (too dangerous) = piped commands, redirects
Tool permission request arrives
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Tier 1: Global Auto-Approve? โ
โ (User turned on "allow everything")โ
โ โ
โ settings.autoApprove.global = true โ
โโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโ
โ YES โ NO
โผ โผ
โ
Approved โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Tier 2: Per-Server Auto-Approve? โ
โ (e.g., auto-approve shell reads) โ
โโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโ
โ YES โ NO
โผ โผ
โ
Approved โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Tier 3: Read-Only Check โ
โ Is it a safe command? โ
โ (ls, cat, git status...) โ
โโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโ
โ YES โ NO
โผ โผ
โ
Approved โโโโโโโโโโโโโโโโโโ
โ Tier 4: Dialog โ
โ โโโโโโโโโโโโโโโ
โ โ Allow โโ
โ โ Auto-allowโโ
โ โ Deny โโ
โ โโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโ
Deep Dive: What Are All These Packages? (1,716 of Them!)¶
When you run pnpm install, Clawpilot downloads 1,716 packages. That sounds like a lot, but most are sub-dependencies (packages that other packages need). The project directly uses about 35 key packages, organised into 6 groups.
๐ง Group 1: The AI Brain¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ THE AI BRAIN GROUP โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ @github/copilot-sdk โ โโโ THE most important package โ
โ โ v0.1.32 โ Everything else serves this โ
โ โ โ โ
โ โ What it does: โ โ
โ โ โข Creates AI sessionsโ โ
โ โ โข Sends messages โ โ
โ โ โข Manages tool calls โ โ
โ โ โข Streams responses โ โ
โ โ โข Handles auth โ โ
โ โโโโโโโโโโโโฌโโโโโโโโโโโโ โ
โ โ talks to โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ GitHub Copilot โ โ
โ โ Cloud Service โ โ
โ โ (runs the AI models) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Analogy: The Copilot SDK is like hiring a head chef. You don't need to know how to cook (run AI models yourself) โ you just tell the chef what you want ("make a pasta dish"), and the chef figures out the recipe (AI reasoning), gathers ingredients (calls tools), and delivers the dish (response). The chef works remotely in a cloud kitchen (GitHub's servers), and the SDK is the phone line connecting your restaurant to that kitchen.
What @github/copilot-sdk does step by step:
| Function | What It Does | In Simple English |
|---|---|---|
new CopilotClient() |
Creates a connection to the AI service | "Hire the chef and give them a phone" |
client.start() |
Spawns a local Copilot CLI process | "Chef clocks in for the shift" |
client.createSession() |
Opens a new conversation with system prompt, model, MCP servers | "Start a new table's order โ here's the menu and tools available" |
session.sendMessage() |
Sends user text to the AI and gets streaming response | "Customer orders pasta" โ chef starts cooking and sends updates |
session.destroy() |
Closes a conversation, frees resources | "Table is done, clear the dishes" |
onPreToolUse hook |
Fires before the AI uses a tool | "Chef wants to use the deep fryer โ check if it's safe first" |
onPermissionRequest |
Asks user for permission | "Chef asks: 'Can I open the back door for a delivery?'" |
The critical flow when you send a message:
Your message: "Create a PowerPoint about our Q4 results"
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Copilot SDK receives your message โ
โ โ
โ Step 1: Sends to GitHub's AI service (cloud) โ
โ "Here's the user's request + system prompt โ
โ + available tools" โ
โ โ
โ Step 2: AI decides: "I need to use the pptx skill" โ
โ โ SDK fires onPreToolUse event โ
โ โ Permission check happens โ
โ โ
โ Step 3: AI calls the tool (creates .pptx file) โ
โ โ SDK fires onPostToolUse event โ
โ โ
โ Step 4: AI writes response: "I've created your PPT" โ
โ โ SDK streams message_delta events โ
โ โ UI shows text appearing word by word โ
โ โ
โ Step 5: Done โ
โ โ SDK fires session.idle event โ
โ โ UI re-enables the input box โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Group 2: The Connectors (MCP Packages)¶
These give the AI its "hands" โ the ability to DO things in the real world.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MCP TOOL PACKAGES โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ @modelcontextprotocol/ โ โ
โ โ server-filesystem โ โ
โ โ โ โ
โ โ ๐ Read files, write files, โ โ
โ โ search directories, โ โ
โ โ create folders โ โ
โ โ โ โ
โ โ Works in: workspace/ folder โ โ
โ โ Transport: stdio (pipe) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ @playwright/mcp โ โ
โ โ โ โ
โ โ ๐ Open websites, click buttons, โ โ
โ โ fill forms, take screenshots, โ โ
โ โ read page content โ โ
โ โ โ โ
โ โ Uses: Microsoft Edge browser โ โ
โ โ Transport: stdio (pipe) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ @microsoft/workiq โ โ
โ โ โ โ
โ โ ๐ง Query Outlook, Teams, Calendar, โ โ
โ โ SharePoint, OneDrive โ โ
โ โ โ โ
โ โ Runs as: CLI tool (shell command) โ โ
โ โ Auth: MSAL (Microsoft login) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Analogy โ Chef's Tools:
- filesystem = The chef's knife โ can chop (read/write) ingredients (files)
- playwright = A delivery driver โ goes out to other restaurants (websites) and brings things back
- workiq = A phone to the office โ calls company HQ to ask "what meetings do I have tomorrow?"
How this connects to your MCP learning: You already learned about MCP servers! Clawpilot uses the exact same concept โ but pre-configures them for you instead of you setting up mcp-config.json manually.
| Concept | In Your MCP Learning | In Clawpilot |
|---|---|---|
| MCP Server | A server that gives AI access to tools | Same! filesystem and playwright are MCP servers |
| Transport | How messages travel (stdio, SSE, HTTP) | Uses stdio โ pipes messages through the process |
| Tools | Functions the AI can call | read_file, write_file, navigate, click, etc. |
| Who starts them? | You configure in mcp-config.json |
Clawpilot auto-starts them in SessionManager |
๐ Group 3: The Security (Auth Packages)¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AUTHENTICATION GROUP โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ @azure/msal-node โ โ @azure/msal-node-extensions โ โ
โ โ โ โ โ โ
โ โ Microsoft Authentication โ โ Extra features: โ โ
โ โ Library โ โ โข Token caching โ โ
โ โ โ โ โข Windows credential โ โ
โ โ Used for: M365 login โ โ manager integration โ โ
โ โ (WorkIQ needs this to โ โ โข Persistent login โ โ
โ โ access your Outlook, โ โ (don't re-auth every โ โ
โ โ Teams, Calendar data) โ โ time you open the app) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ Two separate auth flows: โ
โ โ
โ GitHub Auth (for AI): โ
โ Copilot SDK โ GitHub Device Flow โ ~/.copilot/config.json โ
โ โ
โ M365 Auth (for WorkIQ): โ
โ MSAL โ Browser OAuth2 โ ~/.copilot/m-auth/msal-cache.json โ
โ (Windows: tries WAM first = silent, no browser needed) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Analogy โ Two ID Badges:
- GitHub auth (via SDK) = Your "kitchen access" badge โ lets you talk to the AI chef
- MSAL auth (for M365) = Your "office building" badge โ lets you access company data
- WAM (Windows Account Manager) = The automatic door โ if your laptop is already signed in to your corp account, it opens silently without tapping your badge
๐จ Group 4: The Look & Feel (UI Packages)¶
| Package | What It Is | Cafรฉ Analogy |
|---|---|---|
| react v19.2 | Architecture blueprint โ defines WHERE everything goes | The restaurant floor plan |
| react-dom v19.2 | Construction crew โ actually builds the rooms | The builders who follow the plan |
| radix-ui v1.4 | Invisible mechanisms โ dropdown menus, dialogs, tooltips | Door hinges and drawer slides |
| shadcn v4.1 | Pre-built beautiful components (buttons, cards) | Interior designer's furniture catalogue |
| tailwind-merge | Smart CSS combiner (resolves conflicts) | Paint colour mixer |
| lucide-react | Icons for every button and menu item | The decorations (๐ โ๏ธ ๐ฌ etc.) |
| class-variance-authority | Makes button styles consistent ("primary"=blue, "danger"=red) | The brand guidelines document |
| @fluentui/react-brand-icons | Microsoft brand icons | The company logo stickers |
๐ Group 5: The Telemetry (@1js packages)¶
These are Microsoft's internal logging packages โ they send anonymous usage data back to the Clawpilot team.
| Package | Purpose | Cafรฉ Analogy |
|---|---|---|
| @1js/diagnostics | Error/crash reporting | Security camera footage |
| @1js/hugin-* | Event logging (which features you used) | Receipt logs |
| @1js/px-telemetry | Performance measurement (how fast) | Kitchen timer records |
| @1js/functional | Utility functions | Swiss army knife |
| @1js/guid | Generates unique IDs | Order numbers |
| @1js/midgard-error | Error formatting | Makes crash reports readable |
โ ๏ธ These are from the private 1JS feed โ that's why we needed
auth:1jsin Step 3!
๐ Group 6: Content & Utilities¶
| Package | What It Does | Simple Analogy |
|---|---|---|
| streamdown | Renders streaming Markdown as it arrives | Live subtitles โ shows text as the AI "speaks" |
| @streamdown/mermaid | Renders Mermaid diagrams in chat | Turns code into visual flowcharts |
| @shikijs/* | Syntax highlighting for code blocks | Colour-coding a recipe: ingredients in green, steps in blue |
| dompurify | Sanitises HTML to prevent attacks | Food safety inspector โ removes anything harmful |
| cmdk | Command palette (search bar) | The cafรฉ's ordering kiosk |
| ws | WebSocket client | Real-time phone line (for Teams integration) |
| @tanstack/react-query | Smart data fetching with caching | Remembering menu prices instead of re-checking every time |
The Full Package Map¶
CLAWPILOT PACKAGES (1,716 total)
โ
โโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโ
โ โ โ
๐ง AI Core ๐ Connectors ๐จ UI Layer
โ โ โ
โโโโโโโโโโดโโโโโโโ โโโโโโโดโโโโโโโโโ โโโโโโดโโโโโโโโโโโ
โ copilot-sdk โ โ filesystem โ โ react โ
โ (the brain) โ โ playwright โ โ radix-ui โ
โ โ โ workiq โ โ shadcn โ
โ โ โ msal-node โ โ tailwind โ
โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ lucide โ
โ shikijs โ
โโโโโโโโโโโโโโโโโโโ โ streamdown โ
โ โ โโโโโโโโโโโโโโโโโ
๐ Telemetry ๐ง Utilities
โ โ
โโโโโโโโโโดโโโโโโโ โโโโโโโดโโโโโโโโโ
โ @1js/hugin-* โ โ clsx โ
โ @1js/px-* โ โ cmdk โ
โ diagnostics โ โ dompurify โ
โโโโโโโโโโโโโโโโโ โ ws โ
โโโโโโโโโโโโโโโโ
Direct dependencies: 35
With sub-dependencies: 1,716
Technology Stack Explained (Simple English)¶
Each technology is explained with a real-world analogy so you don't need coding background to understand.
| Technology | What It Is | Simple Analogy | Why Clawpilot Uses It |
|---|---|---|---|
| Electron | A framework that turns web pages into desktop apps | Like putting a website inside a picture frame so it looks like a real painting (app) | Makes Clawpilot work as a desktop app (like VS Code, Slack, Teams) |
| React | A JavaScript library for building user interfaces | Like LEGO blocks โ you build the screen from reusable pieces (components) | Builds the chat window, buttons, settings panels |
| TypeScript | JavaScript but with type-checking | Like a spell-checker for code โ catches mistakes before they break things | Prevents bugs, makes code reliable |
| Vite | A build tool that bundles code | Like a food processor โ takes raw ingredients (code files) and blends them into a finished dish (the app) | Compiles and bundles all the code for the app |
| Tailwind CSS | A styling system using utility classes | Like a paint-by-numbers kit โ pick colours and spacing using preset codes instead of mixing paint yourself | Makes the app look beautiful with consistent design |
| Node.js | JavaScript running on your computer (not browser) | Like a chef who can cook anywhere โ not just in the restaurant (browser) | Powers the "engine room" (main process) of the app |
| pnpm | A package manager (installs libraries) | Like a warehouse manager who efficiently stores and retrieves ingredients (code packages) | Installs all the 3rd-party code libraries Clawpilot needs |
| Copilot SDK | The AI engine from GitHub | Like the brain of your sous chef โ understands requests and decides what to do | THE core AI that powers all chat + tool usage |
| MCP | Model Context Protocol โ how AI connects to tools | Like a universal adapter plug โ lets the AI brain talk to different tools (files, browser, M365) using the same "language" | Connects AI to filesystem, browser, and M365 |
| Playwright | Browser automation library | Like a robot arm that can click, type, and navigate websites for you | Enables browser control (fill forms, take screenshots) |
| MSAL | Microsoft Authentication Library | Like a digital ID badge that proves you're allowed to access Microsoft 365 data | Authenticates you with Microsoft 365 for WorkIQ |
How They All Fit Together¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ WHAT YOU SEE (Frontend) โ
โ React + TypeScript + Tailwind CSS โ
โ "The dining room with beautiful furniture" โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ DESKTOP WRAPPER โ
โ Electron โ
โ "The building that holds the restaurant" โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ AI ENGINE โ
โ Copilot SDK + Node.js โ
โ "The chef in the kitchen" โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ CONNECTIONS TO TOOLS โ
โ MCP (filesystem, Playwright, WorkIQ) โ
โ "The delivery drivers bringing ingredients" โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ BUILD TOOLS โ
โ Vite (bundler) + pnpm (packages) โ
โ "The construction crew that built the restaurant" โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Clawpilot vs GitHub Copilot CLI โ Complete Comparison¶
Feature Comparison¶
| Feature | GitHub Copilot CLI | Clawpilot | Winner |
|---|---|---|---|
| Interface | Terminal (text-only) | Desktop GUI (visual) | ๐ Clawpilot |
| Chat | Text input/output | Rich markdown + images + streaming | ๐ Clawpilot |
| File access | โ Built-in | โ Via MCP filesystem | ๐ค Tie |
| Shell commands | โ Built-in | โ Built-in with visual permission cards | ๐ Clawpilot |
| Browser automation | โ Not available | โ Playwright MCP (navigate, click, screenshot) | ๐ Clawpilot |
| Office docs (Word/PPT/Excel) | โ Not available | โ Built-in skills (docx, pptx, xlsx) | ๐ Clawpilot |
| WorkIQ (M365) | โ Via MCP server | โ Built-in (via CLI shim) | ๐ค Tie |
| Web search | โ Built-in | โ Built-in | ๐ค Tie |
| Custom instructions | โ copilot-instructions.md | โ Skills system (SKILL.md) | ๐ค Tie |
| Agents (custom) | โ AGENTS.md | โ Uses skills instead | ๐ CLI |
| Multiple sessions | โ Single session | โ Up to 10 concurrent (with pausing) | ๐ Clawpilot |
| Personality presets | โ Not available | โ 7 presets (JARVIS, TARS, etc.) | ๐ Clawpilot |
| Model switching | โ
/model command |
โ Dropdown picker with badges | ๐ค Tie |
| Background tasks | โ Not available | โ Heartbeat system (scheduled tasks) | ๐ Clawpilot |
| Skill marketplace | โ Not available | โ Browse, install, vote, publish | ๐ Clawpilot |
| Image support | โ Not available | โ Attach/view images in chat | ๐ Clawpilot |
| Setup difficulty | Easy (npm install -g) | Complex (clone, pnpm, 1JS feed, build) | ๐ CLI |
| Resource usage | Low (~50-100 MB) | High (~300-500 MB, Electron + Chromium) | ๐ CLI |
| Update method | npm update -g |
git pull && pnpm install && rebuild |
๐ CLI |
| Stability | GA (production) | Pre-release (v0.20.x, internal) | ๐ CLI |
| Keyboard speed | โก Fastest (pure typing) | Slower (mouse + keyboard) | ๐ CLI |
| Azure MCP tools | โ Full Azure MCP suite | โ Not configured | ๐ CLI |
| M365 admin tools | โ Graph MCP server | โ Not configured | ๐ CLI |
When to Use Which?¶
| Scenario | Best Tool | Why |
|---|---|---|
| Quick file edits, git operations | Copilot CLI | Faster to type commands |
| Creating Word docs or PowerPoint decks | Clawpilot | Built-in Office skills |
| Browser automation (fill forms, navigate) | Clawpilot | Playwright MCP built-in |
| Azure resource management | Copilot CLI | Full Azure MCP suite available |
| M365 tenant admin tasks | Copilot CLI | Graph MCP server configured |
| Customer demos (visual) | Clawpilot | GUI is more impressive to show |
| Daily coding/DevOps work | Copilot CLI | Terminal workflow, faster |
| Querying M365 data (emails, meetings) | Either | Both have WorkIQ |
| Running while working in terminal | Copilot CLI | Already in terminal |
| Building and testing websites | Clawpilot | Can preview in browser automation |
| Scheduled background tasks | Clawpilot | Heartbeat system |
| Learning/experimenting | Both | Different skills to learn |
The Bottom Line¶
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ ๐ค "Should I use Clawpilot OR Copilot CLI?" โ
โ โ
โ Answer: USE BOTH! They complement each other. โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ COPILOT CLI โ โ CLAWPILOT โ โ
โ โ โ โ โ โ
โ โ Your daily driver โ โ Your power tool โ โ
โ โ for terminal work โ โ for visual tasks โ โ
โ โ and Azure/M365 โ โ and demos โ โ
โ โ admin tasks โ โ โ โ
โ โ โ โ Browser automation โ โ
โ โ โก Fast โ โ Office doc creation โ โ
โ โ ๐ฏ Focused โ โ Multiple sessions โ โ
โ โ ๐ป Terminal-native โ โ ๐จ Visual โ โ
โ โโโโโโโโโโโฌโโโโโโโโโโโโ โโโโโโโโโโโโฌโโโโโโโโโโโโโ โ
โ โ โ โ
โ โโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโโ โ
โ โ Same AI Engine โ โ
โ โ (Copilot SDK) โ โ
โ โ Same GitHub Auth โ โ
โ โ Same Quality โ โ
โ โโโโโโโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Can I Install This on My Corp Laptop?¶
Compatibility Check¶
| Requirement | Your Setup | Status | Notes |
|---|---|---|---|
| Node.js 20+ | โ Installed | โ Ready | Already have it |
| Git | โ Installed | โ Ready | Already have it |
| pnpm | โ Not installed | ๐ก Easy fix | npm install -g pnpm or corepack enable |
| Enterprise GitHub access | โ
ssutheesh_microsoft |
โ Ready | Can access gim-home/m repo |
| 1JS npm feed | โ Need to test | ๐ก Unknown | Internal Microsoft npm feed โ needs one-time browser auth |
| Copilot license | โ Active | โ Ready | Same license works with SDK |
| Windows Terminal | โ Your primary | โ Ready | All commands run here |
| Microsoft Edge | โ Pre-installed | โ Ready | Required for Playwright browser automation |
| Disk space | Need ~2 GB | โ Check | For node_modules + build output |
| RAM | Need ~500 MB free | โ Check | Electron apps use more memory |
| Admin rights | Needed for install | โ Check | pnpm global install may need it |
| Intune/Corp policies | โ Unknown | โ ๏ธ Risk | Corp policies might block unsigned Electron apps |
Potential Corp Laptop Blockers¶
| Risk | Severity | What Could Happen | Mitigation |
|---|---|---|---|
| Intune app control | โ ๏ธ Medium | Corp policy might block unsigned .exe | Run in dev mode (electron:dev) instead of installing |
| Firewall/proxy | โ ๏ธ Medium | npm/pnpm might not reach 1JS feed | Use VPN or configure proxy in .npmrc |
| Disk encryption overhead | ๐ก Low | BitLocker can slow build process | Just takes longer, still works |
| Antivirus scanning | ๐ก Low | Windows Defender might scan node_modules | Add exclusion for project folder |
| Port 5173 blocked | ๐ก Low | Vite dev server port might be in use | Can change port in config |
๐ก Tip: The safest approach is to run Clawpilot in dev mode (
pnpm run electron:dev) rather than building a full installer. Dev mode doesn't install anything system-wide โ it just runs from the project folder.
โ ๏ธ Things to Watch Out For¶
Before You Start¶
| Watch Out | Why | What To Do |
|---|---|---|
| It's pre-release (v0.20.x) | Features may change or break between updates | Expect rough edges โ this isn't a finished product |
| Internal only | Not publicly available โ don't share outside Microsoft | Keep it on corp devices, don't demo to external audiences without checking |
| 1JS feed dependency | Some packages come from Microsoft's private npm feed | If feed is down or auth expires, pnpm install will fail |
| Copilot SDK changes | The SDK is also pre-release and evolving | Updates to the repo might require SDK version bumps |
| No auto-update | Unlike Copilot CLI, there's no npm update |
You must manually git pull and rebuild |
During Use¶
| Watch Out | Why | What To Do |
|---|---|---|
| Memory usage | Electron + Chromium + Node.js = ~400-500 MB | Close when not using; don't leave running all day |
| Browser automation risks | Playwright can interact with real websites | Be careful with auto-approve; watch what URLs it visits |
| Permission fatigue | If you auto-approve everything, safety is reduced | Keep Tier 2/3 prompts ON for writes and shell commands |
| Session data on disk | Chat history saved to ~/.copilot/m-sessions/ |
Contains your conversations โ treat as sensitive data |
| M365 auth tokens | MSAL cache at ~/.copilot/m-auth/ |
Contains your M365 tokens โ don't share this folder |
| Shared config folder | Both CLI and Clawpilot use ~/.copilot/ |
Changes to config.json affect both tools |
After Updates¶
| Watch Out | Why | What To Do |
|---|---|---|
| Breaking changes | Pre-release software can change APIs between versions | Read the commit log before pulling (git log --oneline -20) |
| Dependency changes | New packages might be added or removed | Always run pnpm install after git pull |
| Skill format changes | SKILL.md format might evolve | Check if your custom skills still work after updating |
| Settings reset | Rare, but possible during major updates | Back up ~/.copilot/m-settings.json before updating |
Data Locations (Where Everything Lives)¶
| What | Path | Shared with CLI? |
|---|---|---|
| Sessions (chat history) | ~/.copilot/m-sessions/ |
โ Clawpilot only |
| Settings | ~/.copilot/m-settings.json |
โ Clawpilot only |
| GitHub auth | ~/.copilot/config.json |
โ Shared |
| M365 auth (MSAL) | ~/.copilot/m-auth/msal-cache.json |
โ Clawpilot only |
| CLI logs | ~/.copilot/logs/ |
โ Shared |
| Heartbeat settings | <userData>/heartbeat/settings.json |
โ Clawpilot only |
| Local skills | workspace/.github/skills/ |
โ Clawpilot only |
| Global skills | ~/.copilot/skills/ |
โ Clawpilot only |
| Custom instructions | ~/.copilot/copilot-instructions.md |
โ Shared |
Available Personalities ๐ญ¶
One of Clawpilot's fun features โ you can change your AI's personality!
| Personality | Emoji | Style | Best For |
|---|---|---|---|
| Default | ๐ค | Helpful, professional | Everyday tasks |
| TARS | ๐ธ | Dry wit from Interstellar | Fun conversations |
| Sarcastic Teenager | ๐ | Eye-rolling, reluctantly helpful | Entertainment |
| Enthusiastic Intern | ๐คฉ | SO excited about EVERYTHING | When you need energy |
| David Attenborough | ๐ฌ | Nature documentary narrator | Creative writing |
| JARVIS | โก | Tony Stark's AI โ polished, formal | Professional demos |
| Marvin | ๐ฎโ๐จ | Depressed genius from Hitchhiker's Guide | Comedy |
Pros & Cons (Updated)¶
โ Why Do This¶
- Beautiful GUI โ Visual chat interface, no terminal needed
- Browser automation โ Navigate websites, fill forms, take screenshots automatically
- Office document creation โ Create Word docs, PowerPoint decks, Excel sheets from natural language
- Same AI engine โ Uses the same Copilot SDK, identical AI quality
- WorkIQ built-in โ Same M365 integration you already have
- Skills system + Marketplace โ Extensible with custom/shared automation skills
- Tiered permissions โ Safer than CLI's permission model (visual dialogs, read-only auto-approve)
- Multiple sessions โ Up to 10 concurrent conversations (CLI has 1)
- Personality presets โ Fun and practical AI personality customisation
- Background tasks โ Heartbeat system for scheduled automation
- Image support โ Attach and view images in chat
- Learning value โ Great way to learn Electron, React, TypeScript, modern web dev
- Demo value โ Visual demos are more impactful than terminal demos for customers
โ Challenges¶
- Not publicly released โ Internal pre-release (v0.20.x), build from source
- Internal 1JS feed โ Requires enterprise npm feed authentication
- Heavier on resources โ Electron app uses ~400-500 MB RAM (CLI uses ~50-100 MB)
- Setup complexity โ More steps than
npm install -g @anthropic-ai/copilot-cli - Manual updates โ Need to
git pulland rebuild (no auto-update) - Two systems to manage โ Runs alongside Copilot CLI, not a replacement
- No Azure MCP tools โ Unlike CLI, no built-in Azure resource management
- No M365 admin tools โ Unlike CLI, no Graph MCP server for tenant admin
- Corp policy risk โ Unsigned Electron app might be blocked by Intune
- Shared config โ Both tools share
~/.copilot/folder โ potential conflicts
Setup Steps (Detailed)¶
Prerequisites Check¶
# Check Node.js version (need 20+)
node --version
# Check git
git --version
# Check if pnpm is installed
pnpm --version
Installation¶
Phase 1: Clone & Setup
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Step 1: Install pnpm (if not already installed)
corepack enable
โ OR โ
npm install -g pnpm
Step 2: Clone the repository
cd C:\ssClawy
git clone https://github.com/gim-home/m.git clawpilot
cd clawpilot
Step 3: Authenticate with 1JS feed (one-time, opens browser)
pnpm run auth:1js
โ Sign in with your Microsoft account when the browser opens
โ This writes tokens to ~/.npmrc
Phase 2: Install & Build
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Step 4: Install dependencies
pnpm install
โ This also fetches platform-specific Copilot CLI binaries
โ And patches WorkIQ for Windows (no console popups)
Step 5: Build the bundled skills
pnpm run prebuild:skills
Phase 3: First Launch
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Step 6: Run in Electron dev mode
pnpm run electron:dev
โ Builds with Vite, then launches the Electron app
โ First time: you'll see the Auth Screen
Step 7: Sign in with GitHub
โ Click "Sign in with GitHub"
โ Copy the device code shown
โ Enter it at https://github.com/login/device
โ App will auto-detect authentication
Phase 4 (Optional): Build Windows Installer
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Step 8: Build installer
pnpm run build
โ Creates: release/<version>/Clawpilot-Windows-<version>-Setup.exe
How to Update Clawpilot¶
Update Script (Quick Method)¶
# Navigate to the clawpilot folder
cd C:\ssClawy\clawpilot
# Pull latest changes, reinstall, rebuild, launch
git pull && pnpm install && pnpm run prebuild:skills && pnpm run electron:dev
Before Updating (Safety Check)¶
# See what changed since your last pull
cd C:\ssClawy\clawpilot
git log --oneline -20
# Check the current version
node -e "console.log(require('./package.json').version)"
Changelog¶
This section tracks every time we update Clawpilot. After each
git pull, record what changed.
| Date | From Version | To Version | Notable Changes | Issues? |
|---|---|---|---|---|
| 2026-03-29 | โ | 0.20.50 | Initial clone and setup | โ |
How to Check What Changed¶
# After git pull, see what's new
cd C:\ssClawy\clawpilot
git log --oneline --since="2026-03-29"
# See which files changed
git diff HEAD~10 --stat
# Check version bump
node -e "console.log(require('./package.json').version)"
Key Files Reference¶
| File | Purpose | Importance |
|---|---|---|
electron/main.ts |
All IPC handlers, window creation, permissions | ๐ด Core |
electron/sessions.ts |
SessionManager โ SDK lifecycle, MCP config, persistence | ๐ด Core |
electron/preload.cjs |
Bridge: 8 API namespaces exposed to renderer | ๐ด Core |
shared/ipc-contract.ts |
Single source of truth for all IPC types | ๐ด Core |
src/App.tsx |
Root: auth flow, session init, panel state | ๐ก Important |
src/components/ChatPanel.tsx |
Main chat UI (largest component) | ๐ก Important |
electron-builder.json5 |
Electron packager config (NSIS/DMG/AppImage) | ๐ก Important |
package.json |
Dependencies, scripts, version | ๐ก Important |
workspace/ |
Default workspace for MCP file access | ๐ข Reference |
Repository Structure¶
clawpilot/
โโโ electron/ # Main process (Node.js) โ "the kitchen"
โ โโโ main.ts # Window creation, IPC handlers, app lifecycle
โ โโโ sessions.ts # SessionManager โ AI lifecycle, MCP config
โ โโโ preload.cjs # Bridge between UI and engine
โ โโโ skills.ts # Custom skill loading, SKILL.md parsing
โ โโโ heartbeat.ts # Background task scheduler
โ โโโ permissions-dialog.ts # Permission UI formatting
โ โโโ permission-policy.ts # Safety rules (read-only detection)
โ โโโ auth/ # Authentication (MSAL, WAM)
โ
โโโ src/ # Renderer process (React) โ "the dining room"
โ โโโ App.tsx # Root component
โ โโโ components/ # UI components (ChatPanel, Header, etc.)
โ โโโ services/ # SDK wrapper, marketplace utilities
โ โโโ types/ # TypeScript type definitions
โ
โโโ shared/ # Shared between main & renderer
โ โโโ ipc-contract.ts # All IPC type definitions
โ
โโโ sidecar/ # Windows-only helpers
โ โโโ node-runner.exe # Windowless Node.js spawner for MCP
โ
โโโ first-party-skills/ # Built-in skills (docx, pptx, xlsx)
โโโ workspace/ # Default workspace for file access
โโโ docs/architecture/ # Detailed architecture documentation
โโโ package.json # Dependencies, scripts, version
Benefits¶
- ๐ฅ YouTube content โ "AI Desktop Assistant that controls your browser and creates Office docs" would be a great video
- ๐ Learning โ Hands-on with Electron, React, TypeScript, modern web dev stack
- ๐ผ Demo value โ Visual demos are more impactful than terminal demos for customers
- ๐ง Productivity โ Browser automation + Office doc creation could save real time
- ๐งช Experimentation โ Test bleeding-edge Copilot SDK features before they're mainstream
Started: 2026-03-29 ยท Status: ๐ In Progress