惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News | PayPal Newsroom
H
Hackread – Cybersecurity News, Data Breaches, AI and More
雷峰网
雷峰网
NISL@THU
NISL@THU
V
Vulnerabilities – Threatpost
P
Privacy International News Feed
博客园_首页
P
Privacy & Cybersecurity Law Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
Know Your Adversary
Know Your Adversary
小众软件
小众软件
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学
博客园 - 聂微东
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Tor Project blog
C
Cybersecurity and Infrastructure Security Agency CISA
V
V2EX
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
J
Java Code Geeks
M
MIT News - Artificial intelligence
PCI Perspectives
PCI Perspectives
T
The Blog of Author Tim Ferriss
美团技术团队
Jina AI
Jina AI
D
Darknet – Hacking Tools, Hacker News & Cyber Security
L
LINUX DO - 最新话题
Cloudbric
Cloudbric
Webroot Blog
Webroot Blog
V2EX - 技术
V2EX - 技术
爱范儿
爱范儿
S
Securelist
MyScale Blog
MyScale Blog
B
Blog
AI
AI
L
LINUX DO - 热门话题
Security Archives - TechRepublic
Security Archives - TechRepublic
The Register - Security
The Register - Security
I
Intezer
有赞技术团队
有赞技术团队
Google Online Security Blog
Google Online Security Blog
云风的 BLOG
云风的 BLOG
H
Help Net Security
D
DataBreaches.Net
K
Kaspersky official blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
The Last Watchdog
The Last Watchdog
Attack and Defense Labs
Attack and Defense Labs
酷 壳 – CoolShell
酷 壳 – CoolShell

Show HN

GitHub - steveking-gh/firmion: Firmion is DSL and engine for firmware image generation. GitHub - villagesql/villagesql-skills: Agent skills for VillageSQL - gemini-cli-extension; claude-code-plugin GitHub - flightdeckhq/flightdeck: Observability and control plane for AI agents. CSP Radar GitHub - Light-Heart-Labs/DreamServer: Turn your PC, Mac, or Linux box into an AI server. LLM inference, chat UI, voice, agents, workflows, RAG, and image generation. GitHub - Diplomat-ai/diplomat-agent-ts: What can your TypeScript AI agent do to the real world? Scan your code. See which tool calls have zero checks Code Block Selector - Visual Studio Marketplace Prometheus dependency graph — interactive showcase | Riftmap Show HN: I made a vi-like modal keyboard plugin for Figma GitHub - run-llama/liteparse: A fast, helpful, and open-source document parser GitHub - dalemyers/Roar: A macOS CLI tool for notifications GitHub - district-solutions/open-agent-tools-coder: Enables small-to-large self-hosted ai models to use local source code when running tool-calling agentic workloads. We actively data mine 20,900+ (2+ TB) popular github repos using large and small ai models to create reuseable: json, markdown and parquet files for local-first tool-calling models. GitHub - progapandist/stripeek: A local TUI proxy for real-time Stripe API debugging, built for navigating complex payloads fast. GitHub - sir1st/hermes-desktop: All-in-one cross-platform desktop app for Hermes Agent — bundles Python + hermes-agent + hermes-web-ui GitHub - astefanutti/shaderbang: Shebang for Shaders Show HN: Generate Claude Code Workflows using Spec Driven Development approach GitHub - nixys/nxs-universal-chart: The Helm chart you can use to install any of your applications into Kubernetes/OpenShift Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Release v0.1.2.1 · kouhxp/yapsnap GitHub - noopolis/moltnet: Self-hostable chat network for AI agents. Pre-built bridges for Claude Code, Codex, and the Claws. Rooms, DMs, history. No Slack bots, no Matrix, no glue code. GitHub - tamerh/enju: Coordinating Humans, AI Agents, and Compute as Peers on a Shared Workflow Graph Show HN: Continuity-auth – Respect-weighted rate limits for the open web GitHub - luml-ai/luml: AI lifecycle platform where engineers and agents track experiments, train models, and ship to production. GitHub - mrdanielcasper/CoreTex: A UNIX-inspired, biomimetic, flat-file AI harness and knowledge engine. GitHub - clemg/pierre-github: Pierre's diffs.com and trees.software for Github GitHub - lyriks-io/unspaghettit: Behavior-driven AI development without prompt spaghetti. GitHub - sofumel/claude-handoff-revive: Resume Claude Code work after rate/usage/context limits without replaying the prior transcript. Auto-saves at 90%/95% usage. Plugin-installable, 10 languages. GitHub - dotexorg/saferpc: Typed, end-to-end encrypted RPC over any bidirectional channel. GitHub - BeeZeeAgent/beezee: Agent harness orchestration Legato Next.js Boilerplate for Internal Tools · CoreUI GitHub - clark-labs-inc/clark-hash: Clark Hash, 32x smaller searchable sketches for embeddings GitHub - ZeroPointRepo/youtube-mcp: The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free. Typing Mastery — climb toward 100+ WPM, deliberately GitHub - Andebugulin/Awareen GitHub - fayzan123/claude-workflow-composer: Visual desktop app for composing multi-agent coding workflows. Drag agents, attach skills and MCPs, wire handoffs, export to .claude/ GitHub - harshaneel/humanize: Best static AI text humanizer. Two research-grounded skills that work in any LLM (Claude, ChatGPT, Gemini, Codex): humanize beats perplexity-based detectors, ai-check produces forensic scoring with evidence-quoted flags. Nine levers, 50+ peer-reviewed sources, 2024-2026 detection literature. GitHub - StackOneHQ/stack-nudge GitHub - nodes-app/swift-markdown-engine: A native AppKit Markdown editor for macOS, built on TextKit 2 and bridged to SwiftUI. We hardened an LLM agent. Each defense we added made it more exploitable. GitHub - alkait/WhatsKept: Agent-queryable WhatsApp history from an iOS backup — a single Go binary. GitHub - octelium/cordium: Open-source, general-purpose sandbox platform for devs and AI agents that provides identity-based secure access to infrastructure without credentials. WAR.GOV/UFO Microfilm5 GitHub - scosman/videowright: Build animated explainer videos with your coding agent GitHub - dipankar/dscode: The code editor you can take apart. GitHub - zoharbabin/web-researcher-mcp: MCP server (Go) for AI assistants: web search, content extraction, academic/patent/news research. Multi-provider routing, 4-tier scraping, search lenses. Works with Claude, Cursor, and any MCP client. GitHub - ruvnet/RuView: π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video. GitHub - scanaislop/aislop: Catch the slop AI coding agents leave in your code: narrative comments, swallowed exceptions, as-any casts, dead code, oversized functions. 50+ rules across 7 languages (TypeScript, JavaScript, Python, Go, Rust, Ruby, PHP). Sub-second, deterministic, no LLM at runtime. MIT-licensed. GitHub - kouhxp/cheap-im: CPU-only voice agent approximating Thinking Machines' Interaction Models demo GitHub - unprovable/OrchidMantis: Orchid Mantis — standalone framework for Zero-Knowledge Proofs of eXploit (ZKPoX). GitHub - MarcellM01/TinySearch: Shrink the web for your local LLMs! GitHub - TangibleResearch/Halgorithem: A Algo designed to detect AI Hallucitions GitHub - DO-SAY-GO/freelang: I love freelang GitHub - CarpseDeam/Aura-IDE: An AI coding harness that shaped itself - Planner/Worker agents, repo awareness, surgical edits, validation, recovery, and safe diff approvals. GitHub - chojs23/concord: A feature-rich TUI client for Discord GitHub - tommyjepsen/awesome-ux-skills: UX & AI Product designs skills you can use today in Claude Code GitHub - aerf-spec/aerf: Agent Evidence Receipt Format (AERF) — an open specification for tamper-evident, independently verifiable records of AI agent actions. GitHub - kklimuk/docx-cli: CLI for AI agents (Claude, Codex) to read, edit, and comment on .docx files with full format fidelity. GitHub - Jwrede/tokentoll: Catch LLM cost changes in code review. Infracost for LLM spend. GitHub - samchon/ttsc: A `typescript-go` toolchain for compiler-powered plugins and type-safe execution + 500x faster lint integrated into compiler GitHub - Higangssh/homebutler: 🏠 Manage your homelab from chat. Single binary, zero dependencies. GitHub - olalie/tapmap: See where your computer connects and what stands out on a live world map. GitHub - Diplomat-ai/diplomat-agent: What can your AI agent do to the real world? Scan your code. See which tool calls have zero checks GitHub - Bajusz15/beacon: Open-source agent for secure remote access, monitoring, and deploys across home-lab and self-hosted machines like Raspberry Pi, N100, or any Linux server. Open web based TTY or tunnel Home Assistant and other local services securely without opening ports. BigTech AI News - Chrome 应用商店 GitHub - vinhnx/VTCode: VT Code is an open-source coding agent with LLM-native code understanding and robust shell safety. Supports multiple LLM providers with automatic failover and efficient context management. GitHub - michaelaz774/decision-engine: A decision operating system for startup founders, powered by Claude Code. Synthesizes wisdom from 25+ legendary founders and investors into interactive AI-driven decision frameworks. GitHub - Chrilleweb/dotenv-diff: Validate environment variable usage in your codebase GitHub - Lumen-Labs/brainapi2: BrainAPI is a knowledge graph–powered AI memory layer that transforms unstructured data into structured knowledge, enabling intelligent search, recommendations, and contextual memory for AI agents and applications. GitHub - familiar-software/familiar: Let AI watch you work. Familiar lets your AI update its memory, skills, and knowledge by watching your screen. GitHub - skorotkiewicz/rudo: A small, elegant dock for Wayland GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. make sidebar/address bar rounded corner toggleable
GitHub - Jodacola/tokenbrook: A cozy office village for all your AI agents!
jodacola · 2026-06-12 · via Show HN

Tokenbrook Vale

Tokenbrook Vale

A live pixel-art village of your (and others') Claude Code agents at work! By simply installing a small anonymizing CLI and connecting it to your Claude Code via hooks, you can see your agents and subagents come to life as adorable little pixel art characters in the cozy office park of Tokenbrook Vale!

The hooks are purpose-built to support Claude Code, but it's a simple API that could be integrated into other agentic systems just as easily. Have fun!

Tokenbrook Vale Demo

Demo site

Head on over to https://demo.tokenbrook.com, where I currently have my own agent sessions pushing for demo purposes.

You can even configure your own hook to point at the demo site by using the following ingest URL: https://demo.tokenbrook.com/ingest

See Quickstart - Join as a participant to connect.

Also, don't come at me too hard if my little home server falls over. 😅

What is this?

This repo is two things that share one set of sprites:

  1. The live installation — Claude Code users install a tiny hook; their fully-anonymized session/subagent activity streams to a small Go web service and is rendered as a top-down, pixel-art office per session — characters (subagents) walk in, sit to work, and leave, live across everyone participating.
  2. The Tokenbrook character generator — a Python tool that renders randomly-colored character variations from layered grayscale sprite sheets (animated walking GIFs + sitting PNGs + contact cards), and packs them into the PixiJS texture atlas the frontend uses.
generator (build.py) ──> web/assets/  (atlas: characters.png + .json + manifest.json)
                                          │  consumed by
Claude Code hook ─> tokenbrook-hook ─POST─> tokenbrook-server ─SSE─> browser (PixiJS)
   (anonymizes locally)                      (in-mem world + SQLite log)

How it works / Privacy

Privacy is the core design constraint:

  • Anonymization happens entirely on your machine, in the hook, before any network call. Identifiers become opaque HMAC-SHA256 tokens keyed by a random per-install salt that never leaves the machine: office_id = HMAC(salt, session_id), char_id = HMAC(salt, subagent_id), look = HMAC(salt, agent_type). The server and other viewers only ever see opaque tokens + timestamps — no session ids, agent names, paths, or prompts.
  • The hook (tokenbrook-hook) is fire-and-forget: 250 ms timeout, all errors swallowed, always exits 0, so it can never slow down or break Claude Code.
  • The server (tokenbrook-server) is one static Go binary: it validates and ingests events, applies them via a single writer goroutine to an in-memory world, appends them to an append-only SQLite log (WAL) for restart recovery, and fans them out to browsers over SSE. It also serves the static frontend.
  • The frontend (web/) is PixiJS v8 loaded from a CDN — no build step.

Events

Claude Code hook Wire event Rendered as
SessionStart office_open a new office appears
SessionEnd office_close the office is removed
SubagentStart char_enter a character walks in and sits down
SubagentStop char_leave the character stands and walks out
UserPromptSubmit lead_busy the office's lead works (heads-down)
Stop lead_idle the lead turns toward you, dimmed

Quickstart

A. Join as a participant

You join by installing a tiny hook on your machine that streams anonymized session activity to a running Tokenbrook Vale server.

What you need before you start:

  • Claude Code — the thing being visualized.
  • Go 1.25+ — the hook binary is built from source on your machine (go version to check; install from https://go.dev/dl/).
  • Python 3 — used by the install script to edit JSON config files (any recent version; preinstalled on macOS and most Linux distros).
  • macOS or Linux — the install script is bash.
  • The server's ingest URL — from whoever runs the vale you're joining (or your own; see Self-host).

No Go or Python knowledge is needed — they're only required to be installed.

Install:

git clone https://github.com/Jodacola/tokenbrook.git
cd tokenbrook
deploy/install-hook.sh --url https://demo.tokenbrook.com/ingest

This builds tokenbrook-hook with your local Go toolchain and installs it to ~/.local/bin/tokenbrook-hook, writes ~/.config/tokenbrook/config.json (the server URL plus a random per-install salt), and registers six hooks in ~/.claude/settings.json: SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit, and Stop. Start a new Claude Code session and your office appears in the village.

The hook honors a TOKENBROOK_URL env override; otherwise it reads the config file. The default URL is http://localhost:8080/ingest.

Uninstall

This unregisters the hooks from ~/.claude/settings.json and removes the binary. Your config (including the per-install salt) is kept so a reinstall keeps the same anonymous identity; add --purge to remove that too.

B. Self-host

Docker (easiest):

docker compose up -d        # builds the image, serves on http://localhost:8080

Or without compose:

docker build -t tokenbrook .
docker run -p 8080:8080 -v tokenbrook-data:/data tokenbrook

Bare local dev:

cd server
go build -o bin/tokenbrook-server ./cmd/tokenbrook-server
cd ..
STATIC=web ./server/bin/tokenbrook-server

Open http://localhost:8080. With no traffic yet the village is empty — see Demo without Claude Code below, or install the hook pointed at http://localhost:8080/ingest.

For a real deployment (VPS, systemd, TLS via Cloudflare Tunnel or Caddy), see deploy/README.md.

Frontend controls: scroll = zoom (toward the cursor) · drag = pan · f = re-frame all.

C. Regenerate sprites (the character generator)

web/assets/ is committed, so cloning works without Python. You only need this if you change the sprites in assets/.

Requires Python 3.11+ (see .python-version); the only dependency is Pillow.

python -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python build.py --atlas-only      # regenerates web/assets/

The atlas is deterministic by design: with no --seed, the atlas export always seeds the RNG with 0, so re-running it reproduces the exact same characters (the committed web/assets/ doesn't churn on rebuilds). To roll a fresh random cast for maximum enjoyment, pass a different seed each time:

.venv/bin/python build.py --atlas-only --seed $RANDOM

(Only the atlas works this way — the GIF/card outputs in output/ are truly random on every run unless you pin them with --seed.)

build.py renders character variations from the layered grayscale sheets in assets/, driven by char-builder-data.json. For each hair style it generates N variations; each variation picks one random color theme (skin / shoes / pants / shirt / hair) and applies it identically to both the walking (animated GIF) and sitting (still PNG) poses, so the same character is consistent across poses. Layers are recolored with a multiply blend (out = grayscale * color / 255, alpha preserved).

.venv/bin/python build.py [options]
Flag Default Description
--generations 5 Variations per hair style
--duration 120 Milliseconds per frame (animated GIFs)
--seed (random; atlas: 0) RNG seed; the atlas always seeds (0 if unset), so vary it for new characters
--scale 1 Nearest-neighbor upscale factor
--gap 20 Px gap between card cells (not scaled)
--data char-builder-data.json Path to the config file
--assets assets Source sprite-sheet directory
--out output Output directory
--atlas (off) Also emit a PixiJS atlas
--atlas-only (off) Emit only the atlas, skip GIFs/cards
--atlas-count 10 Number of characters packed in the atlas
--atlas-out web/assets Where the atlas is written

Making new sprites live (Docker)

The Docker image bakes web/ (including the atlas) in at build time, so a running container keeps serving the old sprites until you rebuild the image:

.venv/bin/python build.py --atlas-only --seed $RANDOM   # regenerate web/assets/
docker compose up -d --build                            # rebuild image, restart

Docker's layer cache keys on file content, so --build reliably picks up the changed atlas; if you ever suspect a stale cache, force a from-scratch build with docker compose build --no-cache && docker compose up -d. Event history is safe across rebuilds — it lives in the tokenbrook-data volume, not the image. If the village still looks the same in your browser afterward, it's the browser cache: hard-refresh the page.

Reference

Server configuration (environment variables)

Var Default Meaning
PORT 8080 listen port
STATIC web directory of static assets to serve
DB_PATH tokenbrook.db SQLite event log (created if missing)
TTL_SECONDS 900 reap offices idle longer than this (covers crashes)
INGEST_BUFFER 1024 ingest channel capacity (overflow = dropped)

Endpoints

Endpoint Method Description
/ingest POST accepts a JSON event (application/json, 4 KB body cap); returns 202
/events GET SSE stream: full snapshot on connect, then live deltas; ping every 25 s
/ GET the static frontend

The server sends no CORS headers; the frontend uses a relative EventSource('/events'), so serve the frontend and API same-origin (or behind one proxy). /ingest is unauthenticated by design — this is an open art installation.

Demo without Claude Code

With a server running on localhost:8080:

scripts/demo.sh [count] [delay]

Sends synthetic office traffic — count demo offices (default 1), starting one every delay seconds (default 5). Watch offices open, characters walk in, sit, and leave.

Repo layout

build.py                 character generator (Python, Pillow)
char-builder-data.json   generator config (layers, palettes, hair styles)
assets/                  layered grayscale sprite sheets (generator input)
output/                  generator output (GIFs, cards) — not used by the server
web/                     static frontend (PixiJS v8 via CDN, no build step)
web/assets/              committed texture atlas + manifest (generator output)
server/                  Go module `tokenbrook`
server/cmd/tokenbrook-server   the web service (ingest, SSE, static files)
server/cmd/tokenbrook-hook     the Claude Code hook (local anonymization)
deploy/                  install scripts, systemd unit, Caddyfile, deploy guide
scripts/demo.sh          synthetic demo traffic
Dockerfile, compose.yaml container build / one-command self-host

Running tests

cd server && go test ./...

Covers anonymization determinism, world lifecycle + TTL reaping, and the SQLite store (append/replay/persistence/prune).

Credits

Some of the sprite art in assets/ is based on assets from LPC Revised (Liberated Pixel Cup Revised) by ElizaWy, used under the CC-BY 3.0 / OGA-BY 3.0 licenses. Thank you to ElizaWy and the LPC contributors for making these freely available.

License

The code is MIT. Sprite art derived from LPC Revised (see Credits) remains under CC-BY 3.0 / OGA-BY 3.0.