gawkbot

najmuzzaman-mohammad活跃维护

用 AI 模型自动处理琐碎工作并生成微应用来管理结果的开源 Grok 机器人,支持本地 LLM 与知识图谱。

open source grok bot. gawk bots automate your menial work via AI models and build you microapps to manage the outcome, so that you have a false sense of control.

v0.240.1发布于 2026-10-10 23:05 UTC1,556star +9 / 7 天144fork同步于 2026-11-10 11:47 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/najmuzzaman-mohammad/gawkbot.git && cd gawkbot && cd web && bun install && bun run build && cd .. && go build -o gawkbot ./cmd/wuphf && ./gawkbot
硬件要求按 README 说明

README 未给出显存或 GPU 型号要求;可运行在本地 Mac(含相机刘海交互),也支持 Ollama、MLX-LM 等本地模型或自定义 OpenAI 兼容端点。

支持 Apple Silicon
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开源本地 AI 机器人,把手工流程变成带审批闸门的微应用

用 AI 模型自动处理琐碎工作并生成微应用来管理结果的开源 Grok 机器人,支持本地 LLM 与知识图谱。

核心能力

  • 一句话描述工作流,AI 现场生成带界面的微应用
  • 支持定时 Routine、版本化提示词与每次运行记录
  • 内置知识页并标注引用来源,可核查机器人结论
  • 自动发现并接管本机已有的 Claude Code、Codex 等 CLI
  • 所有外部写操作先挂起,等你点击批准后才执行

容易踩的坑

源码构建需要 Go 1.25+ 和 Bun,并需先安装并登录一个机器人 CLI(默认 Claude Code);Web UI 默认端口为 7891,被占用时用 --web-port 修改;公网隧道分享需 cloudflared 在 PATH 中,否则 broker 会报缺失。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.240.1
  1. v0.240.1最新正式版2026-10-10 · 2026-10-10 23:05 UTC

    Changelog

    Bug fixes

    • fix(desktop): the Mac app builds on the release runner again [release]
  2. v0.240.02026-10-10 · 2026-10-10 22:55 UTC
    查看更新说明

    Changelog

    New features

    • feat(integrations): start the Composio sign-in when a connect needs one (#1247)
    • feat(ios): inbox is only what needs you, agents tab, talk inside an agent
    • feat(ios): ready for testflight, with a demo office for review
    • feat(ios): tap a question to open its full context
    • feat(ios): the chief of staff chat box is pinned to the home screen
    • feat(ios): the model badge on every avatar, and sessions in their own section
    • feat(notch): 1930s cartoon toons, and the open notch is a roller blind
    • feat(notch): a closed session says closed, not quiet
    • feat(notch): bots are characters now, born with sparkles and flying in
    • feat(notch): coloured dots and spinners at rest, faces only when needed
    • feat(notch): every active agent on the strip, an agents card, two groups
    • feat(notch): every ask carries the asker's decision brief
    • feat(notch): list each running session by what it is doing
    • feat(notch): one nudge per five minutes, questions open with full context
    • feat(notch): real system glass, plain controls, play cannot silence asks
    • feat(notch): sessions on this Mac are agents, and the sleeper wakes
    • feat(notch): the chief of staff has its own chat box, always there
    • feat(notch): the dots sit in one centred row under the notch
    • feat(notch): the model badge in the notch, and sessions say their model
    • feat(notch): the sleeping agent wears just its sleep mask
    • feat(team): every bot says what it runs on
    • feat(team): message a Claude Code session that is open in a terminal
    • feat(team): message terminal sessions from gawkbot by default [release]
    • feat(termsend): reach sessions running in Superset terminals
    • feat(termsend): type a message into the terminal a session is running in
    • feat(toon): the avatars redrawn as 1930s cartoon objects, on twos
    • feat(ui): answer buttons are liquid glass, not paint chips
    • feat(ui): bots greet you as characters in the office too
    • feat(ui): every avatar in the office is a toon
    • feat(web): a model badge on every bot avatar
    • feat(web): macos liquid glass ui overhaul, glass material system, website says it is a team (#1253)
    • feat(website): a MacBook in the hero, with the announcement in its notch (#1250)
    • feat(website): an iphone coming soon button beside the mac download
    • feat(website): iphone hero on phones; the sky flower is the brand
    • feat(website): show the current app, rendered from the real build
    • feat(website): the bots come alive on the site, with the notch's sounds
    • feat(website): the gang is the brow, one plain line, and hanging dangles
    • feat(website): the page opens on the wallpaper, which shrinks into the Mac
    • feat(website): the site and the brand marks are toons too
    • feat(website): the team section shows each screen, full size
    • feat: agent detection, Chief of Staff in the Mac notch, iPhone inbox, Glass theme (#1248)
    • feat: every terminal session on this Mac is a bot of its own
    • feat: message a terminal session from gawkbot, behind a switch that is off
    • feat: monochrome primary colour, scroll scenes for every illustration
    • feat: new bot characters, scroll-driven notch hero, and a site that matches the product (#1249)
    • feat: nex orb mascots as the avatars and the brand, cartoon foley, no more npx (#1252)
    • feat: one setting keeps bots inside the notch

    Bug fixes

    • fix(broker): a message with no channel no longer freezes the office
    • fix(ci): the site-claims guard passes shellcheck, and pre-push runs it
    • fix(desktop): closing the full view no longer hides the notch
    • fix(desktop): sit in the real notch; the app is named gawkbot
    • fix(integrations): recover an expired Composio sign-in instead of showing a 401 (#1246)
    • fix(ios): dictation survives a missing speech model and a cancelled press
    • fix(notch): compact ears that hug the notch, instead of a chin below it
    • fix(notch): exactly the notch until something needs you
    • fix(notch): offer to message a Claude Code session open in a window
    • fix(notch): talking to the notch no long
  3. v0.239.02026-09-23 · 2026-09-23 21:57 UTC
    查看更新说明

    Changelog

    New features

    • feat(data): bot-built data spaces — object types, relationships, records (#1242)
    • feat(ios): native iMessage-style app for chatting with each bot
    • feat(ios): native iMessage-style app for chatting with each bot (#1236)

    Bug fixes

    • fix(ci): stop release-drift dying on SIGPIPE before it checks anything (#1244)
    • fix(ios): match the broker's send receipt and wrapped stream events
    • fix(ios): pairing needs a confirmation, header-only stream auth, verbatim bubbles
    • fix(ios): read the roster from /office-members; debug launch arguments
    • fix(ios): split the event stream by hand so events actually terminate

    Documentation

    • docs: tutorial for texting your bots from an iPhone

    Build and CI

    • ci(lint): retry the ripgrep apt install on mirror flakes
    • ci(lint): retry the ripgrep apt install on mirror flakes (#1239)
    • ci(web-e2e): retry the Playwright browser install on apt mirror flakes
    • ci(web-e2e): retry the Playwright browser install on apt mirror flakes (#1238)
  4. v0.238.12026-09-08 · 2026-09-08 06:56 UTC
    查看更新说明

    Changelog

    Bug fixes

    • fix(team): a stale interview no longer makes a bot unreachable
    • fix(team): a stale interview no longer makes a bot unreachable (#1235)
    • fix(website): social card says what gawkbot is (#1234)
    • fix(website): social card says what gawkbot is, not the bystander gag
  5. v0.238.02026-09-03 · 2026-09-03 21:01 UTC
    查看更新说明

    Changelog

    Bug fixes

    • fix(team): steer Codex bots through app builds the same way as Claude
    • fix(web): humanize the bot header task chip and hover peek
    • fix(web): restyle the sidebar roster after the Agent→Bot class rename

    Refactoring

    • refactor: lead bot tag ceo → cos with migration; Codex app-build steering (#1232)
    • refactor: rename the lead bot's slug ceo → cos, with a load-time migration

    Documentation

    • docs: B8 is a trusted-publisher mismatch, not a missing attach (#1233)

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    gawkbot

    Discord License: Sustainable Use License Go

    open source grok bot. Every agent on your machine becomes a gawkbot your Chief of Staff manages, and they all ask you from the Mac notch or your iPhone.

    https://github.com/user-attachments/assets/84c4b8cf-fb5d-4e9b-b720-213648c2e20b

    gawkbot lets anyone turn their manual workflows into microapps across 1200+ integrations in minutes. Describe the job in one sentence — or demo it once on a call — and your AI builds the bot that runs it: its own screen, its own schedule, its own tools, with a human approval gate on everything it sends. Runs local, on your machine, on your account.

    Already running Claude Code, Codex or Opencode? gawkbot finds them, adopts them, and hands them to your Chief of Staff. When any of them needs you, a little gawkbot pops out of your Mac's camera notch. Answer with one key, talk back with your voice, or reply from your iPhone.

    gawkbots automate your menial work via AI models and build you microapps to manage the outcome, so that you have a false sense of control.

    grok (verb) — to understand something profoundly and intuitively. gawk (verb) — to stare openly and stupidly.

    It is named after the second one. Not after the bots. The bots are working. You are the one with the dashboard open.

    The open source Grok Bot

    gawkbot is an open source Grok Bot: always-on AI bots on your own machine instead of xAI's cloud, free, on the coding bot you already pay for, with an approval gate on every external action. The honest version, row by row:

    Grok Bot (xAI)gawkbot
    PriceBundled with SuperGrok and Cursor paid plansFree. No account, no seats, no usage fees
    SourceClosedPublic, Sustainable Use License
    Runs onxAI's cloudYour machine, with your keys
    ModelsGrok, chosen for youClaude Code, Codex, Opencode, local models, Hermes, OpenClaw, plus any agent CLI it finds on your machine
    Bot computersOne per bot, in the cloudEach bot gets a sandbox on your machine or a cloud computer, with its own directory and tool allowlist
    ApprovalsBots act on your accounts around the clockEvery send, commit, purchase, and delete waits for your click

    Full comparison, where Grok Bot is better, and the other open source alternatives (Rakazo, OpenMausBot, OpenBot): gawk.bot/open-source-grok-bot. Website: gawk.bot.

    Get Started

    Prerequisites: one bot CLI, signed in — Claude Code by default, or Codex CLI / Opencode. The first-run screen verifies your runtime before anything else happens.

    Download for Mac: gawk.bot/download.html resolves the latest signed .dmg; every build is also on the GitHub Releases page. Open it, drag gawkbot into Applications, and launch it. You verify your runtime, name your office, and hand off your first workflow — you land on your first bot being built, live.

    On your iPhone: the companion app lives in apps/ios and you build it with Xcode. Pair it once by scanning the code in Access & Health. See On your iPhone below.

    Building from source (requires Go and Bun):

    git clone https://github.com/najmuzzaman-mohammad/gawkbot.git
    cd gawkbot
    cd web && bun install && bun run build && cd ..
    go build -o gawkbot ./cmd/wuphf
    ./gawkbot
    

    Routine execution runs on a small sidecar service (agent/). The broker finds and supervises it automatically on source checkouts (set WUPHF_AGENT_DIR to point elsewhere, or WUPHF_AGENT_URL if you manage it yourself).

    What you get

    Every bot ships with all six. Not a chatbot in a trench coat.

    PartWhat it is
    The appA real screen, built live in front of you. Reads and writes real workspace data.
    Routines"Every Monday 9:00." Versioned prompts, run history, a transcript per run. New bots get a starter weekly routine from the workflow you described.
    ToolsSelf-authored. "Score a lead." "Post to #ae-handoffs." Teach more in the bot's chat.
    KnowledgeWikipedia-style pages about the bot, every claim cited back to its source.
    Data + integrationsIts own typed tables, plus 1200+ integrations. Connect once; every bot shares it.
    Approval gateReads are free. Writes are held until you tap approve. Then it runs 24x7.

    If your workflow names a system that is not connected yet ("audit our HubSpot"), gawkbot asks before building — build against live workspace data now, or hold while you connect. It never silently re-scopes your job.

    Every agent you already run

    gawkbot looks for the agents already on your machine. It checks your PATH, the agents' config folders and the process list, and it never launches anything to look. It knows Claude Code, Codex, Opencode, Gemini CLI, Cursor CLI, Aider, Goose, Amp, Qwen Code, Copilot CLI, Crush, Droid, Ollama, MLX-LM, Exo, OpenClaw and Hermes gateways, and the Cursor and Windsurf IDEs.

    Adopt one from Settings → Agents on this machine, or ask the Chief of Staff to do it (it asks for your approval first). An adopted agent becomes a gawkbot on the team. It runs the agent's own CLI on your own sign-in, and gawkbot's keys are kept out of its environment.

    Every bot is tagged with who made it (yours, hired by CoS, adopted, imported) and where it runs (this machine or elsewhere), so you can always tell your bots apart from the ones reporting in from somewhere else.

    The notch

    On a Mac, the Chief of Staff lives in the camera notch. You get no desktop widget and no dock badge.

    • It moves to tell you what's going on. Each bot shows a mood: working, idle, needs you, error or done. Bots peek out now and then just for fun. When several need you, they pile up on the notch, and if you keep them waiting they start chatting with each other.

    • It sounds like what happened. Every kind of event has its own cartoon cue: a slide whistle and a boing for a question, a bell for an approval, a sad trombone for an error, a xylophone ta-da for a finished job. The trackpad taps when you hover.

    • You do it all from the keyboard. ⌥Space opens it from anywhere (⌃⌥Space if another app already uses ⌥Space), and a short tour the first time shows you how. Then:

      KeyDoes
      ↑ / ↓Move through the replies on offer, card after card
      ↵Send the reply you are on, or the recommended one
      1–9Send that reply on the selected card
      J / KMove between cards
      RReply in your own words
      DMark a finished turn done
      MMessage the Chief of Staff
      V (hold), ⌥V while typingTalk instead of typing
      OOpen the full app; close its window to come back to the notch
      EscClose
    • You can just talk. Hold V and say it. Speech is turned into text by macOS, and nothing is sent until you press send.

    On your iPhone

    apps/ios has the same inbox for your phone: every bot's question in one list, hold-to-talk replies, the same sounds and haptics, and hardware-keyboard shortcuts. It reaches bots running in the cloud as well as the ones on your Mac. Build steps are in apps/ios/README.md.

    Setup prompt (for AI bots)

    Paste this into Claude Code, Codex, or Cursor and let your bot drive the install:

    Set up https://github.com/najmuzzaman-mohammad/gawkbot for me. Read `README.md`
    first, then build from source (`go build -o gawkbot ./cmd/wuphf`) and run
    `./gawkbot` — the web UI opens at http://localhost:7891.
    
    Walk the onboarding: verify the runtime, name the office, and start the first
    workflow. Confirm you land on a bot being built (a live build feed beside a
    chat), and that when it finishes the bot shows tabs for UI, Routines, Tools,
    Data, Knowledge, and Integrations.
    
    For agent conventions read `AGENTS.md`; for internals read `ARCHITECTURE.md`;
    for forking read `FORKING.md`.
    

    Options

    FlagWhat it does
    --provider <name>Runtime override (claude-code, codex, opencode, ollama, hermes-agent, openclaw-http)
    --no-openDon't auto-open the browser
    --web-port <n>Change the web UI port (default 7891)
    --workspace <name>Use a specific workspace for one command (does not change the active workspace)
    --unsafeBypass bot permission checks (local dev only)

    Local models and custom endpoints

    For custom OpenAI-compatible endpoints (LiteLLM, local proxies, Ollama):

    WUPHF_OLLAMA_BASE_URL="http://127.0.0.1:20128/v1" \
    WUPHF_OLLAMA_MODEL="openai/gpt-5.4-mini" \
    gawkbot --provider ollama --no-open
    

    --provider opencode shells out to the opencode CLI binary; MLX-LM and Ollama can be set up from the first-run screen with no cloud key at all.

    Other runtimes

    Already running Hermes Bot or an OpenClaw gateway? Point bots at them with --provider hermes-agent (default http://127.0.0.1:8642/v1) or --provider openclaw-http (default http://127.0.0.1:18789/v1). Endpoints, models, and auth are overridable via WUPHF_HERMES_AGENT_* / WUPHF_OPENCLAW_HTTP_* env vars or provider_endpoints in config.

    Memory: the company brain

    gawkbot ships with built-in memory — no backend choice, no API key. Your workspace state lives in local files you can cat: bot knowledge, run transcripts, and the company brain under ~/.wuphf/. Knowledge pages are synthesized with citations back to their sources, so you can check the receipts on anything a bot claims.

    Other Commands

    gawkbot init                    # First-time setup
    gawkbot share                   # Invite one team member over Tailscale/WireGuard
    gawkbot shred                   # Delete workspace state and reopen onboarding
    gawkbot workspace list          # Run multiple isolated workspaces side by side
    gawkbot workspace switch <name> # Flip the active workspace
    

    Share With a Team Member

    Two ways to invite a teammate, both from the CLI:

    Private network — Tailscale or WireGuard. Both machines on the same mesh; the invite never leaves the network:

    gawkbot share
    

    Public tunnel — no shared network needed. The broker can spin up a Cloudflare quick tunnel (POST /api/share/tunnel/start; the trycloudflare URL is paired with a 6-digit passcode, invites are one-use and expire in 24 hours, and the join handler is rate-limited per source IP). cloudflared has to be on your PATH; the broker reports it as missing when it is not. The one-click button for this is being resurfaced in the operator shell — until then the endpoint is the path.

    For the full walkthrough, see Share gawkbot With a Team Member.

    External Actions

    Bots act through two providers — pick whichever fits:

    • One CLI (default, local-first): actions execute through a local CLI on your machine; credentials never leave it.
    • Composio (cloud-hosted OAuth): connect Gmail, Slack, HubSpot, and the rest of the 1200+ catalog from any bot's Integrations tab. Connections are shared across the office.

    Either way, the approval gate holds every external write until you approve it.

    Privacy & Telemetry

    gawkbot can send anonymous product analytics and session recordings (with typed text masked) to help us improve it. This is optional, controlled by you, and off unless a PostHog key is configured — a stock source build and every fork ship with no key, so they never phone home.

    Two independent toggles (onboarding and Settings), both on by default, both reversible at any time:

    • Product analytics — anonymous usage events: which flows are used, where people get stuck, error counts. We send counts and shapes only, never your content (no message text, task titles, customer data, or secrets).
    • Session recording — recordings mask everything you type (maskAllInputs: true): passwords, API keys, and any form field are obscured. We capture layout, clicks, and navigation to fix rough edges.

    No autocapture, no cookies (localStorage only). Self-hosted operators can point at their own PostHog (WUPHF_POSTHOG_KEY / WUPHF_POSTHOG_HOST) or leave the key unset to keep gawkbot fully dormant. Full taxonomy and policy: docs/specs/product-analytics.md.

    Why gawkbot

    One bot per workflowSmall enough to read in a minute, real enough to do the whole job — instead of one giant assistant that does everything badly.
    You watch it get builtThe build streams live: the screen, the routine, the tools, assembling in front of you.
    Honest by defaultNo connected data → the app says "simulated" in plain text. Missing integration → it asks before building. Every knowledge claim carries a citation.
    Approval gateNo email, Slack post, or CRM write leaves without a human tap.
    LocalRuns on your machine, on your keys. Workspace state is files you can cat.
    Cost you can seeSettings shows exactly what your bots have spent — dollars, tokens, runs. A typical bot build lands in the $1–2 range on Claude Code.
    PriceFree to self-host (Sustainable Use License, your API keys).

    Claim Status

    Every claim in this README, grounded to the code that makes it true.

    ClaimStatusWhere it lives
    Describe a workflow → bot builds live with a streaming activity feed✅ shippedinternal/team/app_builder_bot.go, web/src/components/apps/AppActivity.tsx
    New bots get a starter weekly routine from the described workflow✅ shippedinternal/team/broker_apps_starter_routine.go
    Routines: broker-owned cron, versioned prompts, per-run transcripts✅ shippedinternal/team/scheduler_operator_routines.go, web/src/components/apps/RoutinesApp.tsx
    The broker spawns and supervises the routine runner✅ shippedinternal/team/bot_service_supervisor.go
    Ask-before-building when a referenced integration is not connected✅ shippedweb/src/appdetail/builder/describedIntegrations.ts
    Approval gate on external writes✅ shippedweb/src/components/messages/ExternalActionApprovalCard.tsx, internal/team/broker_action_grants.go
    Knowledge pages with inline citations✅ shippedweb/src/components/wiki/CitedAnswer.tsx
    Usage readout — cost, tokens, runs✅ shippedweb/src/components/sidebar/UsagePanel.tsx (GET /usage)
    Per-bot typed tables (Data tab)✅ shippedweb/src/appdetail/surfaces/AppDataTab.tsx
    Mix runtimes: Claude Code, Codex, Opencode, local models, Hermes, OpenClaw✅ shippedinternal/provider/, first-run pre-pick screen
    Multi-workspace, share, and public-tunnel invites✅ shippedcmd/wuphf/workspace.go, cmd/wuphf/tunnel.go, internal/workspaces/
    Smooth bot avatars, picked per bot (every bot has a face)✅ shippedweb/src/components/ui/OrbAvatar.tsx, web/src/components/bots/AvatarPicker.tsx
    Finds the agent CLIs on your machine and adopts them as bots✅ shippedinternal/agentdetect/, internal/team/broker_local_agents.go, web/src/components/apps/settings/LocalAgentsSection.tsx
    Chief of Staff adopts agents behind an approval card✅ shippedinternal/teammcp/server_local_agents.go
    Every bot tagged with who made it and where it runs✅ shippedinternal/team/broker_member_origin.go
    Every avatar says what model its bot runs on✅ shipped on web, in the notch, and on iPhoneinternal/team/broker_member_runtime.go, web/src/components/ui/BotAvatar.tsx, apps/ios/Gawkbot/Views/ModelBadgeView.swift
    Each Claude Code or Codex session open in a terminal is a bot of its own, in the app and the notch✅ shippedinternal/agentdetect/sessions.go, internal/team/broker_session_agents.go
    Message a terminal session from gawkbot🟡 partial: on by default (WUPHF_SESSION_MESSAGING=0 turns it off). Codex sessions open or closed; Claude Code sessions closed (resumed in the background) or open in Superset, Terminal, iTerm2, or tmux (typed into the window once it is waiting for input); from the web app and the notch, not yet from iPhoneinternal/team/broker_session_messaging.go, docs/specs/session-bots.md
    Answer a terminal session's approval prompt from the notch or the phone🔜 planned: Claude Code only. Codex shows that it is waiting in its terminaldocs/specs/session-bots.md
    The notch: moods, peeks, sounds, keyboard, voice✅ shippedweb/src/notch/, desktop/oswails/notch_darwin.m
    iPhone inbox with voice replies🟡 partial: written, not yet built in CIapps/ios/
    Routine runner packaged into the desktop install🔜 plannedsupervisor adopts it the moment it ships

    Legend: ✅ shipped · 🟡 partial · 🔜 planned. If a claim and a status disagree, the code wins — file an issue.

    Evaluate This Repo

    Before you fork, run this prompt against the codebase with any AI coding assistant:

    You are a cynical senior engineer evaluating whether to fork this repo as the
    base for a bots-that-run-workflows product. No prior context — explore it
    as you naturally would. Tell me: should I fork this, and what's your honest
    take? Be specific: file paths, line numbers, actual evidence. "The docs are
    bad" is useless. Under 500 words.
    

    We run this ourselves before every release. If the AI finds something we missed, file an issue.

    The Name

    Grok is named for a verb that means to understand something completely and intuitively. That is a confident name. It promises you a machine that gets it.

    gawkbot is named for a verb that means to stare at something openly, at length, and without taking in any of it. That is the honest name for what actually happens once the bots are running. The work is done. You are looking at a dashboard about it.

    We are a parody of a bot company. We also ship, which is the part they did not see coming.

    Star History