Model or dataset
najmuzzaman-mohammad/gawkbot avatar
najmuzzaman-mohammad/gawkbot

gawkbot: an open source Grok Bot that builds microapps on your own machine

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.

1,478 stars133 forksGoNOASSERTION

At a glance

What is it?
gawkbot is a Go-based, self-hosted bot runtime that turns a described workflow into a microapp with routines, tools and an approval gate. It installs with npx, drives Claude Code, Codex or a local model, and keeps workspace state in plain files under ~/.wuphf/.
Who is it for?
Adopt gawkbot if you already pay for a bot CLI such as Claude Code or Codex, want the runtime on your own machine, and accept that every write waits for your approval. Skip it if you need cloud-hosted bot computers, a permissive OSI licence, or unattended agents that act without a human click.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 7 days ago.
What is it written in?
Mainly Go, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem gawkbot solves, and who it is actually for

Most workflow automation asks you to assemble the automation yourself: pick a trigger, wire the actions, maintain the connections. gawkbot inverts that. The README says you "Describe the job in one sentence" and the bot builds the app that runs it, with its own screen, schedule and tools. The audience is narrow and specific: people who already have a bot CLI signed in, who want the execution to happen on their own machine and their own accounts, and who are willing to approve each external action. The README is blunt about the trade. It describes the microapps as giving "you a false sense of control," and names the project after gawk, "to stare openly and stupidly," not after grok. That framing matters when you evaluate it. This is not a fire-and-forget automation platform. It is a supervised one, and the supervision is the product.

How a described workflow becomes a running bot

The architecture visible in the repository splits into a Go application at the repo root and a sidecar service under agent/. The README states that routine execution runs on that sidecar, and that the broker finds and supervises it automatically on source checkouts. Two environment variables control this: WUPHF_AGENT_DIR points the broker at a different agent directory, and WUPHF_AGENT_URL is for when you manage the sidecar yourself. The Go module is github.com/nex-crm/wuphf, and the build target is ./cmd/wuphf, so the binary and the internal naming do not match the product name. Dependencies in go.mod hint at the shape of the system: bleve for local full-text search, modernc.org/sqlite for embedded storage, gorilla/websocket for the live build feed, and the modelcontextprotocol Go SDK for tool wiring. Each bot gets a per-bot directory and a tool allowlist on your machine. The README lists six parts every bot ships with: the app, routines, tools, knowledge, data plus integrations, and the approval gate. Reads are free; writes are held until you approve. If your workflow names a system that is not connected, the README says gawkbot asks whether to build against live workspace data now or hold while you connect, and that it never silently re-scopes the job.

Installing gawkbot and building your first bot

The prerequisite is one bot CLI, signed in. Claude Code is the default; Codex CLI and Opencode are also supported. The README states that the first-run screen verifies your runtime before anything else happens, so a missing or unauthenticated CLI fails early rather than mid-build. The quickest path is npx.

bash
npx gawkbot

The browser opens, you verify the runtime, name your office, and hand off a workflow. The README says you land on a live build feed beside a chat, and that when the build finishes the bot shows tabs for UI, Routines, Tools, Data, Knowledge and Integrations. If you prefer a global binary:

bash
npm install -g gawkbot && gawkbot

Building from source needs Go and Bun. The README gives this sequence, which builds the web UI first and then the Go binary:

bash
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

The web UI listens on port 7891 by default, and --web-port changes it. To run against a local OpenAI-compatible endpoint instead of a cloud CLI, the README shows these variables with the ollama provider:

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

The --no-open flag suppresses the browser launch. Two flags deserve caution. --unsafe bypasses bot permission checks and the README labels it local dev only. --workspace selects a workspace for one command without changing the active one.

The approval gate is the design, and also the ceiling

Every send, commit, purchase and delete waits for your click. That is the strongest safety property gawkbot offers, and it is also the reason it cannot replace a genuinely unattended automation service. If your workflow is a nightly sync that must run whether or not anyone is awake, an approval gate is a blocker, not a feature. The README's own comparison table lists bot computers as "Not yet" for gawkbot, against one cloud VM per bot for the xAI product. So a bot that needs to drive a browser or a desktop session on its own has no documented home here. Two other constraints are worth naming. The licence is the Sustainable Use License, and the repository reports the SPDX identifier as NOASSERTION, so the terms are not a standard OSI licence and you should read LICENSE rather than assume. The README also does not document rollback for a bot that starts making wrong calls, nor does it describe how to revoke a connected integration. Verify both before you point a bot at anything that can spend money.

gawkbot against the closed Grok Bot, and why the runtime choice matters

The README's own table frames the difference. The xAI Grok Bot is bundled with paid SuperGrok and Cursor plans, is closed source, runs on xAI's cloud, and uses Grok chosen for you. gawkbot is free with no account or seats, runs on your machine with your keys, and lets you pick Claude Code, Codex, Opencode, local models, Hermes or OpenClaw. That last point is the real architectural divergence. gawkbot is a supervisor and an app builder wrapped around a coding agent you already have, not a model vendor's product. If your team is standardised on Claude Code, you are not paying twice. If you have no bot CLI, you have a prerequisite to satisfy before gawkbot does anything. The README also points to other open source alternatives, Rakazo, OpenMausBot and OpenBot, and to a longer comparison page, but it does not describe how those differ, so treat that link as a starting point rather than an evaluation.

Local state, memory, and what you can inspect

The README says gawkbot ships with built-in memory and no backend choice or API key. Workspace state lives in local files: bot knowledge, run transcripts, and what the README calls the company brain under ~/.wuphf/. Knowledge pages are synthesized with citations back to their sources. For anyone who has debugged an agent by guessing at a hosted vector store, this is the most useful property in the project. You can read the files. The go.mod dependency on bleve suggests local indexing over that content rather than a remote search service. The same design has a cost: if you want the state on shared infrastructure or backed up centrally, the README does not describe how. The repository also carries a substantial documentation set at the top level, including ARCHITECTURE.md, AGENTS.md, FORKING.md, DESIGN.md and DEVELOPMENT.md, which is where the internals live rather than in the README.

Release cadence, licence and the cost of keeping up

The last push was on 2026-09-09, and the most recent release listed is v0.238.1 on 2026-09-08, following v0.238.0 and v0.237.2 earlier that month. A version number in the two hundreds with three releases inside a week tells you the project moves fast and that the surface is still changing. The go.mod pins a toolchain of go1.26.6 and carries a comment that go1.26.6 contains fixes for a 2026-08 stdlib vulnerability batch that govulncheck gates CI on, so upgrading gawkbot may also mean moving your Go toolchain. The root package.json is dev tooling only and pins fast-uri to 3.1.2 so bun audit stays clean. Budget for churn: at this cadence, treating a specific bot configuration as stable for a year is optimistic. On licensing, the badge and README both say Sustainable Use License while the repository metadata reports NOASSERTION. Those are not the same signal, and only LICENSE settles it. If you plan to fork, FORKING.md is the file the README points you to.

Editorial conclusion

Adopt gawkbot if you already pay for a bot CLI such as Claude Code or Codex, want the runtime on your own machine, and accept that every write waits for your approval. Skip it if you need cloud-hosted bot computers, a permissive OSI licence, or unattended agents that act without a human click. Before committing, run npx gawkbot and confirm the first-run screen verifies your runtime, then read LICENSE and FORKING.md to check whether the Sustainable Use License and the fork workflow fit how you plan to ship.

Frequently asked questions

Is gawkbot open source?

Yes, the source is public, but it is not under a standard OSI licence. The README and badge say Sustainable Use License, while the repository reports the SPDX identifier as NOASSERTION, so read LICENSE before relying on the terms.

What are the alternatives to Grok Bot?

The README positions gawkbot itself as the open source alternative to xAI's Grok Bot, and points to a comparison page that also names Rakazo, OpenMausBot and OpenBot. The README does not describe how those three differ from gawkbot.

Does gawkbot need a cloud account or API key?

No account, seats or usage fees are required, and the built-in memory needs no backend choice or API key. You do need one bot CLI signed in, such as Claude Code, Codex CLI or Opencode, and the first-run screen verifies it.

Which model providers can gawkbot run on?

The --provider flag accepts claude-code, codex, opencode, ollama, hermes-agent and openclaw-http. Local models can be set up from the first-run screen, and custom OpenAI-compatible endpoints use WUPHF_OLLAMA_BASE_URL and WUPHF_OLLAMA_MODEL.

Where does gawkbot store workspace data?

In local files you can read directly. The README says bot knowledge, run transcripts and the company brain live under ~/.wuphf/, and that knowledge pages cite their sources.

Official sources

  1. Issues
  2. najmuzzaman-mohammad/gawkbot on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/najmuzzaman-mohammad-gawkbot.svg)](https://hysenlabs.com/projects/najmuzzaman-mohammad-gawkbot)