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

claude-station

v1.0.2

Published

Local web dashboard to browse, search, edit and resume Claude Code sessions. Zero npm dependencies, zero build step.

Readme

Claude Station

浏览、搜索、编辑、续聊你的 Claude Code 会话历史 — 零 npm 依赖、零构建步骤、纯本地运行。

npm version npm downloads License: MIT Node

English README

首页仪表盘

claude-station 把散落在 ~/.claude/ 里的所有数据读出来,渲染成一个本地 Web 看板。数据永不离开你的电脑,不依赖任何前端框架或构建工具,只用 Node.js 标准库。


为什么写这个

如果你在很多目录下都用过 Claude Code,会话、成本、配置就分散在 ~/.claude/ 里到处都是。目前缺:

  • 一个能 跨项目浏览历史聊天 的 UI
  • 全文搜索 历史会话内容的能力
  • 不用记 UUID 就能 续聊某个旧会话 的入口
  • 成本 / token 用量 / 活跃度 时间分布的图表
  • 一个集中查看 commands / skills / MCP / hooks 的地方

Claude Station 把这些一次性做齐。


功能

  • 📁 项目侧栏 — 所有打开过 Claude Code 的目录,按最近使用排序,带项目搜索
  • 🔍 全文搜索 — 搜所有会话里的 user / assistant 消息内容
  • 📊 仪表盘 — GitHub 风格 90 天活跃度热力图、Top Projects 柱图、每日成本折线图(hover 出 tooltip)
  • 💬 会话详情 — 完整对话以 Markdown 渲染
  • ▶️ 一键续聊 — 把 cd <目录> && claude --resume <id> 复制到剪贴板
  • ✏️ CLAUDE.md 编辑器 — 浏览器里改全局和项目级 CLAUDE.md,每次保存自动建 .bak.<时间戳> 备份
  • 🗑 删除 + 恢复 — 删除的会话进 ~/.claude/projects/.archive/Archive 页面 可恢复或永久删除
  • ⚙️ Config Center — 只读浏览 commands / subagents / skills / hooks / MCP servers
  • 🌙 深色 / 浅色主题 — 切换偏好持久化到 localStorage
  • 🔁 端口自动跳跃 — 3456 被占用就自动走 3457、3458 ……

截图

| | | |---|---| | 首页仪表盘 | 项目会话列表 | | Home | Project | | 会话详情 | Config Center | | Session | Config |

Archive 页面(删除/恢复/永久删除):

Archive


安装与启动

# 一行启动,不装到全局(推荐)
npx claude-station

# 或者全局安装
npm install -g claude-station
claude-station

启动后浏览器自动打开 http://localhost:3456

想换端口:PORT=8080 claude-station。端口被占用会自动往后递增(最多尝试 20 次)。


数据来源

| 文件 | 用途 | |---|---| | ~/.claude/projects/<escaped>/<uuid>.jsonl | 会话内容、时间戳、token 用量 | | ~/.claude/CLAUDE.md | 全局 CLAUDE.md | | <项目>/CLAUDE.md | 项目级 CLAUDE.md(路径从 jsonl 的 cwd 字段还原) | | ~/.claude/commands/ agents/ skills/ | Config Center 列表 | | ~/.claude/settings.json | hooks、permissions | | ~/.claude.json | MCP servers |

成本曲线是按 Sonnet 价格($3/MTok 输入$15/MTok 输出)的粗略估算,仅作趋势参考,不是真实账单。


隐私与安全

  • 数据 只在你本地,没有任何网络请求。
  • 服务只监听 localhost
  • 编辑 CLAUDE.md 前会先写一份 .bak.<ISO 时间> 备份在原文件旁,不丢任何历史版本。
  • 删除会话是移动~/.claude/projects/.archive/永久删除 才是真 unlink(),不可恢复。
  • 路径遍历会被拒绝:所有写入/移动都校验路径必须落在 ~/.claude/ 下。

技术栈

  • 后端:Node.js 标准库(http / fs / readline / child_process
  • 前端:纯 HTML + 内嵌 CSS + vanilla JS,Markdown 渲染用内联的 marked.js
  • 测试node:test(Node 内置)
  • 依赖0 个 npm 包

整个项目大约 1500 行代码,分布在 6 个 view 文件 + 1 个 scanner + 1 个 server。看得明白、改得快、容易二次开发。


本地开发

git clone https://github.com/DreamFlyCoder/claude-station.git
cd claude-station

# 运行
node bin/cli.mjs

# 测试(用 node:test,无额外依赖)
node --test test/

项目结构:

claude-station/
├── bin/cli.mjs           # 入口
├── src/
│   ├── scanner.mjs       # 扫 ~/.claude/
│   ├── server.mjs        # http 路由
│   └── views/
│       ├── layout.mjs    # 共享外壳 + CSS + JS
│       ├── home.mjs      # 仪表盘
│       ├── project.mjs   # 项目会话列表
│       ├── session.mjs   # 对话详情
│       ├── search.mjs    # 全文搜索
│       ├── config.mjs    # Config Center
│       └── archive.mjs   # 已删除会话页
└── test/scanner.test.mjs

许可证

MIT