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

@nuphus/nuphus-desktop-win32-x64

v0.2.24

Published

Nuphus desktop binary for win32 x64. Installed automatically by the @nuphus/nuphus-desktop meta package.

Readme

Nuphus — 本地优先面向个人用户日常编程、办公、自动化工作流的 AI 协作伙伴

Apache-2.0 License Rust Tauri React npm version npm downloads CI

中文 | English

版本: 0.2.24 · 状态: Alpha(积极开发中) · 平台: Windows / macOS / Linux 技术栈: Tauri v2 · Rust · React 18 · TypeScript

Nuphus 是运行在你电脑上的 AI Agent——本地、私有、拥有真实的桌面执行力,手机是它的第二块屏幕。

它识别屏幕、操作鼠标键盘、控制窗口、读写文件、调度浏览器,把 LLM 的推理变成真实的自动化。数据留在本机,模型由你选择,Agent 替你做事情。你在桌面发起的每一个会话,手机上都实时同步——同一份记忆、同一个 Agent、同一场对话,随时随地继续。


设计哲学

不在乎华丽的炫技,只在乎实用的能力。极简实用主义,功能按需呈现,拒绝堆砌套壳、重复探索和无意义消耗,主张一切落到日常工作中。

Leader:串行思考,并行执行

Nuphus 的核心引擎用 Rust 构建,工具调用在毫秒级完成,延迟瓶颈在模型推理而非引擎。Agent 决策本身就是因果链——每一步依赖上一步的结果,桌面系统操作更应遵循串行逻辑。

  • 全局理解,掌控任务 — Leader 解析目标、规划路径、监督进度、汇总交付
  • 内部编排(串行) — 调度内置 GoalType ExecAgent(项目分析 / 代码生成 / 调试诊断 / 文件操作等)按因果链逐步执行
  • 外部调度(并行) — 通过显式交互指令,同时打开 Cline 修 bug、Claude Code 写测试、浏览器查文档——每个外部 Agent 拥有自己的上下文理解,Nuphus 在之上截图验证、阅读产出、汇总决策
  • 上下文传递 — 显式指令让外部 Agent 拥有任务上下文,减少重复指令和探索

串行的是思考,并行的是执行。

Workflow:把一次探索固化为确定性执行

LLM 每次用 token 解决 85% 相同的任务,是对算力和时间的双重浪费。Nuphus 的解法——让 LLM 推理一次,编译为工作流,之后极低 token 重复执行:

自然语言交互 → Agent 共同探索(理解界面/流程/参数) → 逐步固化参数 → 编译为确定性执行序列 → 引擎重复执行

这不是定时任务,而是把一次有智慧的探索,固化为可重复的确定性执行:

  • 自然语言探索 — 用自然语言与 Agent 交互,批阅试卷、浏览器自动化、桌面软件操作……Agent 理解意图、识别界面、逐帧操作
  • 参数固化 — 共同探索后,把每一步的定位、操作、异常处理固化为参数(参数即契约,全部有界面证据)
  • 确定性执行 — 编译后的执行序列极低 token 重复执行,不再依赖 LLM 每次重新推理
  • 值守修复 — 运行时 Agent 负责值守:发现错误时,根据设计意图和目标自动修复、记录、优化,而非盲目重试

一次编译的投入,换来确定性、可重复、极低边际成本的自动化。

上面这段 GIF 是一次编译好的工作流在重复执行:Ctrl+K 命令面板搜索定位 → 依次打开/关闭 11 个设置面板(约 25 秒),全程零 LLM 推理。


核心亮点

真实桌面执行力

Nuphus 直接安装在你的操作系统上,拥有原生级的屏幕感知和输入控制能力:

  • 操控任意 GUI — 窗口 + OCR + 键鼠,任何桌面软件/网页都能自动化,无需对方提供 API
  • 内置浏览器 — 可编程的浏览器内核,网页自动化、信息采集、表单交互都在本机完成
  • 编程与项目分析 — 项目分析、代码生成、调试诊断、文件操作,深度理解项目上下文
  • 多 Agent 调度 — 并行调度 Cline、Claude Code 等外部 Agent,统一汇总决策

双端实时同步:桌面干活,手机掌控

Nuphus 把「执行」和「掌控」分开:桌面是 Agent 的双手,手机是你的遥控器。

  • 同一会话,双端同步 — 手机连接的正是桌面那个 Agent:发消息走同一个会话入口,桌面和手机共享历史、记忆与状态
  • 实时事件流 — Agent 的每一步(思考、工具调用、执行结果)通过 WebSocket 实时推送到手机
  • 工作流遥控 — 手机上直接暂停、恢复、停止正在执行的工作流
  • 执行轨迹回放 — 手机上查看 Agent 的完整执行轨迹,每一步都透明可查
  • 远程访问免费 — 局域网内自动直连(零配置);出门在外通过中继服务器远程访问,不落盘存储内容,只做身份校验与转发路由

双通道自动切换:同一 WiFi 下手机直接连桌面(快、免费);离开局域网自动走中继(稳定、可靠),回来自动切回直连。

本地优先,隐私自有

  • 数据留在本机 — 对话、记忆、插件全部存储本地
  • 本地 AI 引擎 — PP-OCRv4(OCR)、Candle(语义搜索)全部本地运行,日常识别零 API 消耗
  • 4 层安全体系 — 权限开关 → 人在回路 → 注入检测 → 熔断保护
  • 模型自由 — OpenAI / Anthropic / DeepSeek / Qwen / 智谱等主流厂商统一接入,随时切换

内置工具页:PDF / 图像 / 视频 / 音频 / 文档

无需安装任何外部工具,工具页内置 23 个处理命令:

| 分类 | 能力 | |------|------| | PDF | 合并 / 压缩 / 文本提取 / 图片转 PDF / 抽页 / 旋转 | | 图像 | 压缩 / 格式转换 / 缩放 / 拼接 / 批量压缩 / 批量转换 | | 视频 | 压缩 / 抽帧 / 转 GIF / 截取片段 | | 音频 | 提取音频 / 音频转换 / 语音克隆(走云端) | | 文档 | docx / pptx / xls / pdf 等转文本 |

更多能力

| 能力 | 说明 | |------|------| | 记忆系统 | 跨会话经验积累,SQLite 持久化 + FTS5 + 向量语义检索,越用越懂你 | | 零编译扩展 | 知识库、技能、工作流、ui-maps 均为纯文本文件,放入 plugin/ 即生效 | | 视觉感知三层 | 内置 OCR(零 API 消耗)→ 可配置视觉模型(复杂场景)→ 用户视觉引导(最灵活 fallback) | | 确定性工作流 | 常用任务编译为工作流,零 token 重复执行(见上文设计哲学) | | 音效反馈 | 任务完成 / 错误 / 重试均有音效提示,不盯屏也能感知状态 |


安装

npm 一键安装(推荐)

一条命令完成安装,自动匹配当前平台的二进制(Windows x64 / macOS arm64 / Linux x64),无需下载安装包、无需 Node.js / Rust 环境:

# 全局安装(提供 nuphus 命令)
npm install -g @nuphus/nuphus-desktop

# 或免安装体验(不写入全局)
npx @nuphus/nuphus-desktop

安装完成后在终端输入 nuphus 即可启动。

首次安装体积较大(桌面应用含本地 OCR / 语音模型),请耐心等待。

下载安装包

面向不熟悉命令行的用户,无需命令行、无需 Node.js / Rust 环境:

  1. 从 GitHub Releases 下载对应平台的安装包:
    • Windows:.exe(NSIS 安装包,用户级安装,无需管理员权限)
    • macOS:.dmg
    • Linux:.deb / .AppImage
  2. 双击安装包完成安装(Windows 安装后桌面生成 Nuphus 快捷方式)
  3. 双击快捷方式即可启动

从源码构建(开发者)

前置条件:

| 工具 | 版本 | 用途 | |------|------|------| | Rust | ≥ 1.95 | 核心引擎编译 | | Node.js | ≥ 18 | Tauri 前端构建 | | Tauri CLI | cargo install tauri-cli --version "^2" | 桌面应用开发 |

git clone https://github.com/mrpulor-gh/nuphus.git
cd nuphus

# 安装依赖(根目录 Tauri CLI + 前端依赖)
npm install

# 开发模式启动
npx tauri dev

构建产物会持续增长,开发一段时间后可清理构建缓存释放磁盘(下次构建会重新编译):

cargo clean

快速开始

配置模型

  1. 首次启动进入引导页,选择模型提供商并填入 API Key
  2. 按 Enter 提交即完成配置

也支持环境变量免配置启动:QWEN_API_KEY="sk-xxx" npx tauri dev

引导完成后可在「设置 → 模型」面板修改配置。API Key 加密存储:Windows 上经系统级 DPAPI 加密后写入本地 config.toml(enc:v1: 格式,绑定当前用户);macOS/Linux 暂以明文保存(依赖系统文件权限,OS 凭据链接入在路线图中)。请勿分享或提交该文件。

连接手机

  1. 在桌面端「手机」设置页开启移动端服务(默认端口 18772)
  2. 手机浏览器打开配对页,输入配对密码完成绑定
  3. 添加到主屏幕(PWA),以后像 App 一样使用

同一 WiFi 下自动局域网直连;离开局域网自动走中继远程通道,全程免配置。


架构概览

Nuphus 采用六层架构,自底向上,安全贯穿各层:

┌─────────────────────────────────────────────┐
│ Tauri 壳                                    │  ← 前端 UI + 系统级能力(通知、托盘、快捷键)
├─────────────────────────────────────────────┤
│ Runtime                                     │  ← 统一主循环,三模式路由(Leader / Workflow / Custom)
├─────────────────────────────────────────────┤
│ Agent                                       │  ← Leader 决策 / ExecAgent 执行 / WorkflowAgent 设计
├─────────────────────────────────────────────┤
│ Transport                                   │  ← 多 Provider 抽象层(主流 AI 厂商统一接入)
├─────────────────────────────────────────────┤
│ Tools / Memory / Workflow                   │  ← 执行基础设施
├─────────────────────────────────────────────┤
│ Security / Permissions                      │  ← 贯穿所有层的安全链(注入检测 / 权限分级 / 审核)
└─────────────────────────────────────────────┘

双端同步架构:

┌──────────┐   WebSocket 实时事件流    ┌──────────────┐
│  手机 PWA │ ←──────────────────────→ │ 桌面 mobile  │
│ (聊天/遥控)│   POST /message 共享入口   │  server(18772)│
└──────────┘                          └──────┬───────┘
      ↕ 局域网直连(同 WiFi 自动)              │ 共享会话/记忆/状态
┌──────────┐                          ┌──────┴───────┐
│ 中继服务器 │ ←──── 远程通道(免费)────→ │  Nuphus 桌面  │
│ (不落盘)  │                          │  Agent 引擎   │
└──────────┘                          └──────────────┘

手机端发消息走 submit_user_message(source="mobile"),与桌面共用同一 leader_agent / busy 锁 / 去重逻辑——双端是同一个 Agent 的两个界面,不是两个独立系统。断线自动指数退避重连,重连成功后重拉历史补齐间隙,不会丢消息。

数据流:用户输入 → Tauri 事件 → Runtime 路由 → Leader 决策 → task_dispatch → ExecAgent 执行 → 结果返回 → 前端展示(桌面与手机同步)


配置

Nuphus 使用 TOML 配置文件,src/config/mod.rs::load_registry 按优先级搜索:

| 序号 | 路径 | 适用 | |---|---|---| | 1 | <exe_dir>/config.toml | 绿色版 / 便携部署 | | 2 | ./config.toml | 开发 | | 3 | ~/.config/nuphus/config.toml | Linux/macOS 用户级 | | 4 | ~/.nuphus/config.toml | 兼容旧版 | | 5 | <AppData>/nuphus/providers.toml | Windows 桌面版规范配置(桌面端锚定,首次启动自动生成) |


设计原则

  1. 本地优先 — 数据默认留本机,云端只在用户选择时介入
  2. 极简心智 — 每个功能都尽量简单,避免过度抽象
  3. 确定性优先 — 能编译为工作流就不反复推理,能复用就不重写
  4. Long-Term First — 优先选择与现有架构一致、可维护的方案
  5. 克制优于堆叠 — 每个新功能必须证明自己不可替代
  6. 闭环设计 — 每个功能模块从输入到产出形成完整闭环

如何贡献

Nuphus 是一个社区驱动的开源项目。除了代码贡献,你还可以通过以下方式参与生态建设:

贡献插件(后续开放)

| 插件类型 | 说明 | 示例 | |---------|------|------| | ui-maps | 任何软件的界面布局描述(按钮位置、窗口识别特征) | Photoshop 导出面板、企业 ERP 系统布局 | | workflows | 可复用的工作流模板 | "每日备份项目文件夹"、"批量图片压缩" | | skills | 领域方法论和操作指南 | "前端 UI 设计规范"、"特定框架的代码模式" | | knowledge | 项目领域知识文档 | API 参考、配置说明、架构文档 |

所有插件均为纯文本文件(.md / .json),放入 plugin/ 对应目录即可被 Nuphus 加载。

参与讨论

  • GitHub Issues:Bug 报告和功能请求
  • GitHub Discussions:使用问题、经验分享、插件推荐

致谢

v0.2.24 贡献者

感谢本版本提交 Pull Request 的社区贡献者:

| 贡献者 | PR | 内容 | |--------|-----|------| | @zhoupeiyu515-ui | #84 | 补 mobile server / relay 威胁模型与已接受限制,写入 SECURITY.md | | @yuansui486 | #87 | 修复外部数据点的 Markdown 渲染(MarkdownInline 导出供复用) | | @yuansui486 | #88 | 明确模型连接成功反馈,并把模型能力探测移到后台不再阻塞切换 | | @Steooenwolf-666 | #91 | 外部 Agent 投递序列正确传递桌面输入与提交快捷键的失败 |

v0.2.23 贡献者

感谢本版本提交 Pull Request 的社区贡献者:

| 贡献者 | PR | 内容 | |--------|-----|------| | @Steooenwolf-666 | #67 | 保留重新编辑时每月 29–31 日的定时规则 | | @Steooenwolf-666 | #70 | 手机端图片解码失败时显示原始路径 | | @Steooenwolf-666 | #71 | 修正移动画布步骤时的循环变量作用域判断 | | @Steooenwolf-666 | #72 | 稳定画布草稿与会话快照测试 | | @Steooenwolf-666 | #73 | 保护外部 Agent 任务状态并支持最近上报报告预览 | | @Steooenwolf-666 | #74 | 工作流新增非敏感运行参数方案 | | @Steooenwolf-666 | #75 | 手机端支持失败图片就地重新加载 | | @fouyzjl | #79 | switch_model 持久化 base_url,修复"改了调用地址又回退" | | @zhoupeiyu515-ui | #80 | 会话工作台启动只展开上次对话所在文件夹,并修好子菜单被抽屉裁切 |

v0.2.22 贡献者

感谢本版本提交 Pull Request 的社区贡献者:

| 贡献者 | PR | 内容 | |--------|-----|------| | @yuansui486 | #65 | 完善工作流节点调试、运行证据与画布编辑体验 |

v0.2.21 贡献者

感谢本版本提交 Pull Request 的社区贡献者:

| 贡献者 | PR | 内容 | |--------|-----|------| | @yuansui486 | #58 | 完善跨平台桌面执行可靠性与工作流进度沟通 | | @yuansui486 | #59 | 修复画布工作台窗口拖动并增加原型明暗切换 | | @yuansui486 | #61 | 优化工作流节点表单、变量选择与画布布局 | | @zhoupeiyu515-ui | #63 | 增强判断模型 API Key 行增加 TypeSafe 控制台外链 |

v0.2.20 贡献者

感谢本版本提交 Pull Request 的社区贡献者:

| 贡献者 | PR | 内容 | |--------|-----|------| | @yuansui486 | #56 | 完善跨平台目标绑定、语义观察与稳定回放 | | @zhoupeiyu515-ui | #57 | 手机端可查看电脑本地图片:新增 /file 端点与内联渲染 |

v0.2.19 贡献者

感谢本版本提交 Pull Request 的社区贡献者:

| 贡献者 | PR | 内容 | |--------|-----|------| | @yuansui486 | #52 | UIA/Accessibility 语义桌面自动化基础层:语义观察、有限候选与执行前后复核 | | @yuansui486 | #54 | 增强判断模型:独立配置 + 从本地有限候选中做结构化选择 | | @zhoupeiyu515-ui | #50 | 日志轮转加固:改名失败不再丢历史 |

更早版本的贡献者记录见 CHANGELOG.md。

许可

Copyright © 2026 Nuphus Team · Apache License 2.0