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

@seqyuan/ennote

v0.2.0

Published

AI-native bioinformatics agent workspace

Readme

Ennote

AI-native bioinformatics agent workspace.

架构

两个长期运行的 Go 进程,一个职责边界;Next.js 仅在构建时生成静态前端:

Browser → ennogate (Go, :45131) → ennoworker (Go, :0, loopback)
           守门人                     劳动者
           认证 / 代理 / 静态文件       SQLite / Agent / 工具 / Skill

快速开始

make dev

打开 http://127.0.0.1:45131,首次访问会引导设置密码。make dev 会先生成静态前端,再由 ennogate 启动和认证 ennoworker。

安装与分发

Ennote 是开源项目(MIT),仓库公开;npm 包与运行时二进制均由 GitHub Actions 在打版本 tag 时自动构建发布。

npm install -g @seqyuan/ennote
ennote start
  • npm 包(@seqyuan/ennote)只包含 CLI 脚本和编译后的静态前端(约 12 MB)。
  • 首次 ennote start 时,CLI 会从本仓库(seqyuan/ennote)的 GitHub Release 按当前平台/架构下载 Go 二进制(ennogate + ennoworker),缓存到 ~/.ennote/bin/,后续启动不再下载。
  • 支持平台:linux-x64 / linux-arm64 / darwin-x64 / darwin-arm64。
  • 发布流程:打版本 tag(vX.Y.Z)后,release workflow 自动构建四平台二进制、上传到该 tag 对应的 GitHub Release,并发布 npm 包。

目录

ennoworker/
  cmd/ennogate/       BFF:认证、代理、静态文件
  cmd/ennoworker/     Agent 引擎、数据库、工具、沙箱
  internal/
    agent/            Go Agent Loop + steer/follow-up
    api/              ennoworker HTTP API + SSE
    config/           配置与环境变量
    domain/           领域类型和状态机
    events/           Durable EventWriter + 订阅 Hub
    llm/              Provider 接口、OpenAI-compatible、fake
    runs/             Run Coordinator(并发、取消、恢复)
    skills/           Skill bundle 加载与 per-run 快照
    store/            SQLite、迁移、Repository
    tools/            7 个文件/Shell 工具 + registry
    workspace/        Path jail、bubblewrap 沙箱
  migrations/         SQL 版本化迁移

app/                  Next.js 前端(React + SSE 消费)
contracts/            OpenAPI 3.1 契约
skills/               内置 Skill bundle
docs/                 设计与实施计划

Roadmap

当前开发状态、优先级和明确延期范围以 docs/roadmap.md 为唯一来源。docs/plans/ 中的旧优先级仅保留为设计与实施历史。

开发

make dev          # 启动 ennogate + ennoworker
make test-go      # Go 测试(含 -race)
make test         # JS 测试
make lint         # ESLint
make typecheck    # tsc --noEmit
make build        # 构建静态前端和本机 Go 产物
npm run release:prepare   # 构建四个平台的发布包并检查 tarball
npm run smoke:installed  # 安装临时 tarball 并验证双进程生命周期