npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@tomartec/pixel-agent

v2026.711.0

Published

Security camera style pixel office plugin for Paperclip

Readme

Pixel Agent

Agent Pixels logo banner

Pixel Agent is a Paperclip plugin that turns your company of AI agents into a live pixel-art office camera. Inside Paperclip it shows up under the display name Agent Pixels.

This repo (tomartec/pixel-agent) is maintained independently, built on the official Paperclip plugin SDK toolchain. It started from gcampton/Agent-Pixels — see Credits below.

Agent Pixels hero image

What It Does

  • Shows Paperclip agents walking around a single unified office floor — one rectangular map divided into rooms (office + lounge, boardroom + game room, overflow office, staff kitchen) connected by corridors.
  • Moves working agents toward desks and idle agents toward lounge, kitchen, boardroom, and games areas.
  • Camera views:
    • Camera 1–4 — per-room flat views, switchable with on-screen 4-way arrow buttons or the keyboard arrow keys (rooms are laid out on a 2×2 grid).
    • Total — flat top-down view of the entire floor.
    • 3D Map — isometric view of the whole office: the floor plane is projected at 45°, walls and characters stand upright, furniture lies on the floor.
  • Includes assignable character sprites so each agent can have a consistent look.
  • Office maps — besides the classic HQ, seven preset floor plans (based on the reference art in docs/option1-7.png): Central Hub, Open Studio, The Boulevard, Campus Mini, Team Pods, Creative Loft, and Hybrid Office. Selectable from the camera page header; the choice is saved per company.
  • Themes — every map (including the classic HQ) can be re-tinted with a theme: Classic, Midnight, Pastel, Forest, Sunset, Monochrome, Neon, or Retro.
  • Industry templates — preset maps can relabel their rooms for different kinds of companies (Software Company, Creative Agency, E-commerce, Game Studio) without changing the floor plan.

Choosing a Map, Theme, and Industry Template

The camera page header has three dropdowns (left of the camera buttons). All choices are saved per company in the browser, so each company can have its own office look.

  • Map — picks the floor plan:
    • Classic HQ (default) — the original four-room office.
    • Central Hub — rooms ring a central reception/lounge hub.
    • Open Studio — open colored zones with only a few walled rooms.
    • The Boulevard — rooms flank a long central promenade with planters and sofas.
    • Campus Mini — rooms around a green garden courtyard.
    • Team Pods — open team pods on a shared floor.
    • Creative Loft — one big loft with work zones, a lounge, and a game corner.
    • Hybrid Office — an open work zone and collaboration hub surrounded by private rooms.
  • Theme — re-tints the floors, walls, and desks of any map: Classic, Midnight, Pastel, Forest, Sunset, Monochrome, Neon, or Retro.
  • Industry template (preset maps only) — relabels the rooms so the same floor plan reads as a different company: Software Company, Creative Agency, E-commerce, or Game Studio. Only the room name plates change; the layout stays the same.

Camera buttons follow the dropdowns: 3D Map (isometric view), Total (whole-floor view, the default), and Camera 1–4 (quadrant views, also switchable with the arrow keys or the on-screen arrows).

Screenshots

Agent Pixels camera screenshot

Agent Pixels character picker screenshot

Install

From the Paperclip UI (recommended)

The easiest way to install — no source code, CLI, or build step needed. The plugin is published on npm as @tomartec/pixel-agent.

  1. Open Paperclip in your browser.

  2. Go to Plugins (instance settings → Plugins).

  3. Click Install Plugin.

  4. Enter the npm package name:

    @tomartec/pixel-agent
  5. Confirm the install. Paperclip downloads the package from npm and loads it.

After installing, Agent Pixels appears in the sidebar; open it to see the live office camera. To update later, reinstall with the same package name to pull the latest published version.

Release Version

Note: a published release ZIP is only available once a GitHub Release has been created for this repo (see pnpm run package:release and the release workflow). If there are no releases yet, use the Development Version below.

Use the release version if you just want to install the plugin. The release ZIP already contains the built plugin files, so you do not need the Paperclip source code or plugin SDK locally.

Prerequisites:

  • Paperclip running
  • The latest agent-pixels-*.zip release file

Download the latest agent-pixels-*.zip from the GitHub Releases page, then unzip it into your Paperclip plugins folder:

~/.paperclip/plugins/

After unzipping, you should have a folder like this:

agent-pixels-2026.711.0/
  package.json
  README.md
  dist/
    manifest.js
    worker.js
    ui/

For Docker installs, unzip the release into a bind-mounted folder and install the path as seen from inside the container, for example:

/paperclip/plugins/agent-pixels-2026.711.0

Development Version

Use the development version if you want to edit the plugin or build it from source.

Prerequisites:

  • Node.js 20+

  • pnpm

  • Paperclip running (the CLI talks to it on http://127.0.0.1:3100 by default)

  • The Paperclip CLI installed globally:

    npm install -g paperclipai

The Paperclip plugin SDK is published on npm, so you do not need the Paperclip source code to build. The SDK (@paperclipai/plugin-sdk) and shared types (@paperclipai/shared) are regular dependencies installed by pnpm install.

Clone and build the plugin:

git clone https://github.com/tomartec/pixel-agent
cd pixel-agent
pnpm install
pnpm run build

The build output is written to dist/. The build uses the official SDK bundler presets (@paperclipai/plugin-sdk/bundlers) via esbuild.config.mjs, plus the asset-index step in scripts/asset-index.mjs.

Install the plugin into Paperclip from this local folder, then confirm it loaded:

paperclipai plugin install /absolute/path/to/pixel-agent
paperclipai plugin list
paperclipai plugin inspect 4d696994-e10d-4a05-a063-ca8b6e95de80

The CLI auto-detects local paths and sends isLocalPath: true; pass --local to be explicit. Running paperclipai plugin install . from inside the folder works too.

While installed from a local path, Paperclip watches the rebuilt dist/ output — run pnpm dev in another terminal to rebuild on save and have the worker reload.

To create a release ZIP after building (alternative distribution):

pnpm run package:release

This requires the zip command-line tool. The ZIP is written to release/.

npm Package

The plugin is published as @tomartec/pixel-agent — see From the Paperclip UI above for the recommended install flow. The same package name also works with the CLI:

paperclipai plugin install @tomartec/pixel-agent

Development

Common scripts:

pnpm dev          # rebuild worker, manifest, and ui bundles on save
pnpm dev:ui       # local UI preview server with hot-reload events (port 4177)
pnpm run typecheck
pnpm test
pnpm run build

Self-Hosted Docker Install

For self-hosted Paperclip, clone this repo into a folder that is visible inside the Paperclip container. The install API must receive the container path, not the host path.

Example host path:

git clone https://github.com/tomartec/pixel-agent /volume4/docker/paperclip/plugins/agent-pixels

Example container path:

/paperclip/plugins/agent-pixels

The plugin builds against the published @paperclipai/plugin-sdk and @paperclipai/shared packages from npm, so no Paperclip source checkout is required. Build it in place:

cd /path/to/pixel-agent
pnpm install
pnpm run build

In authenticated Paperclip deployments, create a CLI auth challenge and approve it as an instance admin:

curl -s -X POST http://<your-paperclip-host>/api/cli-auth/challenges \
  -H "Content-Type: application/json" \
  -d '{"requestedAccess":"instance_admin_required","command":"plugin install"}'

Open the returned approvalUrl, approve the request, then install using the returned boardApiToken:

curl -s -X POST http://<your-paperclip-host>/api/plugins/install \
  -H "Authorization: Bearer <boardApiToken>" \
  -H "Content-Type: application/json" \
  -d '{"packageName":"/paperclip/plugins/agent-pixels","isLocalPath":true}'

Note on the plugin id

The manifest id (4d696994-e10d-4a05-a063-ca8b6e95de80) is a UUID rather than a human-readable string. This works around a Paperclip host bug where /_plugins/:pluginId/ui/* 500s for non-UUID plugin ids whenever a plugin declares a UI entrypoint. A UUID-shaped id sidesteps the bug; it is not the recommended format and can be reverted once the upstream issue is fixed.

Assets

Character sprites live in:

public/assets/characters/

Add new sprites as char_81.png, char_82.png, etc. The build script auto-detects char_*.png files and adds them to the plugin asset index.

Asset Dimensions

The plugin uses a 16px tile grid.

| Asset type | Location | Size | | --- | --- | --- | | Character sprite sheet | public/assets/characters/char_*.png | 112x96 PNG | | Character frame | inside each character sheet | 16x32 | | Character sheet layout | inside each character sheet | 7 columns x 3 rows | | Floor tile | public/assets/floors/floor_*.png | 16x16 | | Wall tile sheet | public/assets/walls/wall_0.png | 64x128 | | Furniture sprites | public/assets/furniture/** | Multiples of 16px | | Office layout | public/assets/default-layout-1.json | 21x22 tiles (336x352px) | | Boardroom/kitchen layout | public/assets/agent-pixels-layout-boardroom-kitchen.json | 22x15 tiles (352x240px) | | Combined unified floor | generated in the UI (rooms on a 2×2 grid + corridors) | 49x32 tiles (784x512px) |

Character sheets use three direction rows: front, back, and side. The opposite side direction is mirrored by the renderer.

Common furniture sizes currently in use:

| Asset | Size | | --- | --- | | Desk front | 48x32 | | Desk side | 16x64 | | PC sprites | 16x32 | | Wooden/cushioned chairs | 16x32 or 16x16 | | Sofa front/back | 32x16 | | Sofa side | 16x32 | | Boardroom table | 48x80 | | Pool table | 80x48 | | Arcade machine | 32x48 | | Paintings/whiteboard | 16x32 or 32x32 | | Plants | 16x32 or 32x48 |

Support

For bugs or feature requests on this fork, open an issue at tomartec/pixel-agent/issues.

Contributing

Pull requests are welcome for bug fixes, plugin improvements, new room assets, furniture, and character sprites.

Credits

This plugin is based on gcampton/Agent-Pixels by Garratt Campton, used here as the original reference implementation. For the original branding, ready-made Paperclip company packs, and the author's own support channel, see agent-pixels.com.