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

lofi-room

v0.0.0

Published

Electron desktop terminal workspace for developers, with live terminal sessions, webview widgets, and lo-fi control-room UI.

Readme

lofi-room

lofi-room 是当前正在演进的桌面终端工作区应用。它以 lofi-room 的审美和交互为 UI 基础,逐步迁入 localterm 已验证过的能力,当前第一阶段已经完成:

  • Electron 桌面壳已接通
  • widget runtime 已支持 react.panelextension.webview
  • 本地 terminal 已跑通 PTY + worker + websocket + webview widget
  • workspace / session / detached session 的基础语义已落地

当前仓库的权威文档入口如下:

快速启动

全局安装并直接运行:

npm install -g lofi-room
lofi-room

更新到最新版本:

npm install -g lofi-room@latest

查看 CLI 帮助:

lofi-room --help

说明:

  • 这个分发方式面向有 Node/npm 的开发者用户
  • npm 包发布前会预构建 Electron 主进程、renderer 和 builtin widgets
  • 全局安装后不需要再手动执行 pnpm build

开发态 Electron:

pnpm dev

生产构建并启动本地桌面应用:

pnpm build
pnpm start:app

只启动浏览器态 renderer:

pnpm dev:renderer

注意:extension.webview widget 依赖 Electron runtime。浏览器态只适合做纯 renderer 调试,不适合验证 terminal、session、webview widget。

常用验证命令

类型检查:

pnpm typecheck

Electron 端到端回归:

pnpm test:e2e:electron --reporter=line tests/e2e/electron-terminal-tabs.spec.ts

查看 Playwright HTML 报告:

pnpm run test:e2e:report

人类可读报告产物:

output/playwright/human-report/index.md

仓库结构

apps/
  desktop/     Electron main / preload / session host
  renderer/    页面壳、Workspace UI、Sidebar、Dockview 布局
packages/
  shared/      跨层类型与 contract
  ui/          通用 UI 原子组件
  widgets/     widget registry、host、layout/runtime glue
  workspace-core/
                workspace runtime store 与持久化
  widget-terminal-core/
                terminal webview 共享 runtime
  widget-terminal-react/
                本地 terminal widget
  widget-code-agent-react/
                code agent widget
extensions/
  builtin.workspace/
                builtin extension manifest 与 widget 静态资源
tests/e2e/
                Electron E2E 回归

当前产品语义

  • 关闭 terminal tab:默认只关闭 widget,不销毁 session
  • 左侧 workspace 下的 session 列表常驻显示当前 workspace 的 terminal sessions
  • 点击 attached session:会定位到对应 terminal widget
  • 从左侧销毁 session:会弹确认,并终止 shell + 清理关联 widget
  • 关闭 workspace:只隐藏 workspace,不杀 session
  • 删除 workspace:递归销毁该 workspace 下所有 terminal sessions

这套语义的详细定义见 docs/workspace-session-model.md