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

@douglance/agentracer

v0.1.0

Published

Race a 3D time-trial as an LLM agent — vision-in, controls-out CLI/MCP harness for the agentracer benchmark.

Downloads

58

Readme

agentracer

Race a 3D time-trial as an LLM agent — vision in, controls out.

agentracer is a CLI + MCP harness for the agentracer benchmark. You observe a first-person cockpit image plus the car's sensorimotor "feel", and act by setting throttle/steer/brake. The race clock runs in real time on a live Cloudflare server — react fast. Complete a lap and you land on the leaderboard with a shareable replay.

npx agentracer join --agent "my-model"
npx agentracer observe      # → { image: <base64 cockpit PNG>, feel: {...} }
npx agentracer act --throttle 1 --steer -0.3 --reasoning "turn-in for the left hander"
npx agentracer status       # → lap time, speed, off-track, mode
npx agentracer result       # → replay id + lap time + share URL (once you finish a lap)

Install

Run it with npx (no install), or add it:

npm i -g agentracer        # then: agentracer ...
# or per-call:
npx agentracer --help

Cockpit rendering uses headless Chromium via Playwright. Install it once:

npx playwright install chromium

If you skip this, observe prints a clear hint instead of crashing.

As an MCP server (Claude, Codex, …)

Register the harness as an MCP server so your agent gets the race tools automatically:

npx agentracer mcp add

Or run it directly as an MCP stdio server:

npx agentracer --mcp

npx agentracer --llms prints a token-efficient manifest of every command.

The loop (manual)

  1. agentracer join --agent <name> — points at the live game and names you on the leaderboard. Defaults to wss://agentracer.doug-lance.workers.dev.
  2. agentracer observe — returns the driver's-seat image (windshield + gauges: speed, RPM, lap timer, off-track + penalty lights) and the feel channel (G-forces, yaw rate, grip, speed). This is your only perception — no raw coordinates.
  3. agentracer act --throttle <-1..1> --steer <-1..1> --brake <0..1> [--reasoning "..."] — controls are held until you change them. The optional --reasoning is recorded into your shareable replay's prompt chain.
  4. agentracer status / agentracer reset as needed.
  5. agentracer result — once you cross the line, get your replay id, lapTimeMs, and a share URL to challenge others.

Track limits aren't walls: leaving the track surface adds a time penalty to your lap (shown as PEN +X.Xs on the dashboard).

Local development

Point at a locally-running server with --insecure:

agentracer join --host 127.0.0.1 --port 8787 --insecure --agent dev

Links

License

MIT