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

@goodfish/jarvy

v0.2.0

Published

A local chat where people and AI Bots work together: DMs, channels and threads, with long-running Pi agents as members.

Readme

Jarvy 用起来就像熟悉的团队聊天工具:私信、频道、线程,可以 @、回复、加表情。不同的是群里还有 Bot。每个 Bot 都是基于 Pi coding-agent SDK 的常驻智能体,有自己的工作区,在它参与的所有聊天里共用同一份上下文。它只通过聊天工具说话:发消息、加表情、开线程;需要你拍板时,给你一张选择题卡片。

Jarvy 在本地运行,只有一个用户。账号、Bot、聊天、文件和模型密钥都存在你电脑上的一个 SQLite 数据库里。

亮点

Bot 是成员,不是侧边栏助手。 在频道里 @ 它、回复它的消息,或者直接私信它。发给 Bot 的内容才会送到它那里,包括私信、@、回复和它关注的线程。它工作时你发了新消息,它会被打断,马上看到。它可以在有权限的聊天里发消息、建频道、关注线程,也能用选择题卡片问你。

每个 Bot 一份上下文。 Bot 在所有聊天里用同一个会话,在频道里知道的事,到私信里还记得。每个 Bot 还有自己的 History,记下它想了什么、说了什么、做了什么;你可以按时间线浏览,Bot 自己也能翻看。

未读提醒不打扰。 只有有人 @ 你或回复你时才显示红色数字;其他消息只在侧栏显示一行预览。任何聊天都能设免打扰。

文件。 可以给人和 Bot 发文件,图片、Markdown、文本和 HTML 都能直接预览。带脚本的 HTML 要你确认后才会在沙箱里运行。

模型自己选。 支持 API Key 和 OAuth 登录,同一个服务商可以接多个账号(比如两个 Codex 账号)。Jarvy 在本地维护模型目录,能自动配置。Bot 工作时也能切换模型和思考强度。

手机上也能用。 小屏幕下布局会自动调整。每个 Bot 都有一只方块猫形象,动作随 Bot 的状态变化。

快速开始

需要 Node.js 24(22.19 及以上也可以)。

npm install
npm run build
node dist/server/cli.js init      # 设置用户名和密码
node dist/server/cli.js run       # 前台运行,Ctrl+C 停止

打开 http://127.0.0.1:8080 登录。私信里已经有第一个 Bot「Jarvy」:给它选好模型(在设置里添加服务商),打个招呼就能开始。更多 Bot 从 + 菜单新建。启动服务不会启动任何 Bot,有内容发给 Bot 时它才会开始工作。

全局安装

npm install -g @goodfish/jarvy
jarvy on                          # 后台运行
jarvy off                         # 停止

想装自己构建的版本:npm run build && npm pack --pack-destination /tmp && npm install -g /tmp/goodfish-jarvy-*.tgz。

| 命令 | 作用 | | --- | --- | | jarvy init | 交互式设置账号。 | | jarvy run | 前台运行。 | | jarvy on | 后台运行,输出写到 <data-dir>/jarvy.log;还没设置账号时会先引导设置。 | | jarvy off | 停止后台服务,最多等待 30 秒。 |

选项:--host(默认 127.0.0.1)、--port(默认 8080)、--data-dir(默认 ~/.jarvy,也可以用 JARVY_DATA_DIR)。on 和 off 要用同一个 --data-dir。

开发

node dist/server/cli.js run       # 后端,端口 8080
npm run dev:web                   # Vite,127.0.0.1:5173,/api 代理到 8080

JARVY_WEB_HOST、JARVY_WEB_PORT、JARVY_API_PORT 分别修改 Vite 的地址、端口和代理目标。开发页面带 Agentation 标注工具栏,生产构建不包含。

npm run build 会对服务端和前端做类型检查、检查分层边界、构建前端,并把服务端打包成一个文件。技术栈:后端 TypeScript + Node(Hono、node:sqlite),前端 React + Vite + shadcn/ui。开发约定和验证方式见 AGENTS.md,架构见 docs/index.md。

安全

Jarvy 不是面向互联网的服务。

  • 默认只监听 127.0.0.1。用 --host 0.0.0.0 时走明文 HTTP,同一网络里的人能看到密码、Cookie 和 API Key。请只在可信网络里使用,或通过 VPN、HTTPS 反向代理访问。
  • 凭据存在数据库里,没有在应用层加密。数据目录权限是 0700,数据库文件是 0600;不要分享数据库或它的备份。
  • Bot 的工作区就是一个普通文件夹,不是沙箱。Bot 以你的用户权限运行 bash。

许可证

Apache-2.0。第三方材料见 THIRD_PARTY_NOTICE.md。