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

catsit

v0.8.1

Published

A cat that babysits your AI agent so you don't have to. While Claude works, the cat sits on your terminal; when you're needed, the cat gets up.

Readme

catsit

替你看管 AI 编程智能体的猫。

Claude 工作时,一只真实的小猫坐在你的终端上守望。 需要你的那一刻 —— 权限确认、提问、完成 —— 它直立起身喵一声,让开位置。

同一只猫的连续一镜到底 —— 不是精灵图(制作方式见致谢)。默认情况下 catsit 绝不碰你的输入,--guard 为可选项。

高清小猫需要 kitty · Ghostty · WezTerm · iTerm2 —— 其他终端显示低清版活猫。

English · 한국어 · 日本語

猫的一天

同一只猫的连续表演 —— 每个转场都无缝衔接。

10 秒试用(无需智能体,不耗 token)

npx catsit --demo

kitty、Ghostty、WezTerm、iTerm2 中运行即可见到高清小猫。 其他终端(Terminal.app、VS Code、tmux…)显示低清半块版 —— 同一只猫,更粗的像素。

使用

npx catsit claude

就这么多。没有配置文件,没有 hook,不需要任何授权。

为什么

智能体时代,我们都成了保姆。它随时可能弹出权限确认,于是你不敢移开 视线,盯着一个 95% 的时间都不需要你的进程转圈圈。

catsit 把通知反转过来。猫的存在本身就是信号:

| 猫在… | 含义 | |---|---| | 🐈 走进来坐下 | 智能体工作中。不需要你。该干嘛干嘛去。 | | 😴 蜷成一团睡着 | 你离开有一会儿了。一切照常。 | | 🥱 打着哈欠醒来 | 你碰了键盘 —— 它注意到了,仅此而已。 | | ❗ 直立起身喵叫让开 | 权限确认 / 提问 / 完成 —— 该你了。 |

只要能看到猫,就可以无视终端。这是它的承诺。

猫绝不碰你的输入

默认是纯观战模式:工作中打字、排队消息、中途转向 —— 每一次按键都 和没有 catsit 时一模一样地到达智能体。猫只是信号。

--guard:守门员模式(可选)

想让猫真的阻止你微观管理?catsit --guard claude

  • 智能体工作时吞掉普通输入和回车,并用气泡展示吃了什么🐟 hell…), 被拦截的按键绝不会看起来像 bug。第一次吞按键还附带提示: guarding · ctrl+g to shoo
  • ctrl+cctrl+desc、方向键等控制键在 guard 模式下也永远立即放行
  • 检测到权限提示的那一刻,闸门在任何动画之前打开。
  • 状态未知时闸门保持打开。内部出任何问题都会永久降级为透明直通 —— 猫没了,会话还在。
  • ctrl+g 把猫赶走(本次会话内)。

各终端下的效果

| 终端 | 效果 | |---|---| | kitty、Ghostty、WezTerm、iTerm2 3.6+ | 一只真实小猫悬浮在文字上方 —— 走进来、坐下、等待、直立喵叫、走开,全程连续表演(kitty 图形协议) | | 其他(含 tmux、VS Code、Terminal.app) | 同一只活猫的像素半块版 —— 低清但照样走路、打盹、喵叫 | | NO_COLOR / dumb 终端 | 朴素的颜文字 (=˘ω˘=) |

原理

用 PTY 包裹智能体、逐字节透明转发,同时把屏幕镜像到无头终端 (@xterm/headless)。猫可见时, 每次输出都是一个 修复 → 应用字节 → 猫 → 光标还原 的原子批次 —— 互不破坏,滚动缓冲区也不会留下任何残影。

状态判定融合两条通道:屏幕模式(移植自 ccmanager 经生产验证的检测器,MIT)+ Claude Code 会话转录中的 turn_duration 记录(回合结束的结构化信号)。

仅 2 个运行时依赖。Node 20+。macOS & Linux。

参数

catsit <命令> [参数...]   包裹智能体 CLI(目前支持 claude)
catsit --demo             用内置假智能体体验(guard 开启)
  --guard                 守门员模式:工作时猫会吞掉你的输入
                          (ctrl+g 赶走它)
  --no-cat                完全不显示
  --quiet                 关闭喵叫(响铃)

致谢

"可爱之物物理介入"的机制灵感来自 ZOKUZOKU 的 Cat Gatekeeper(阻止你刷手机的 巨猫)。catsit 是独立项目 —— 不同的猫,不同的问题:它保护的是智能体, 防的是

小猫本身是 AI 生成的连续表演(Kling),按节拍无缝拼接 —— 参见 assets/cat-frames/CREDITS.md

MIT © JinHyuk Sung