@jayesssssh: https://px0.ai 真的很快。我打算使用它的方式很简单,快速检查文件而无需打开实际的IDE…

X AI KOLs Timeline 工具

摘要

px0 是一款快速、轻量级的只读IDE,专为在AI智能体时代验证代码而设计,与传统IDE相比,提供最少的资源使用和高性能。

https://t.co/YPXYJCel3U 真的很快。 我打算使用它的方式很简单,快速检查文件而无需打开实际的IDE。 尤其是像 pubspec.yaml 和 package.json 这样的文件。 感谢 @arpit_bhayani !! https://t.co/D90vhPzxi6
查看原文
查看缓存全文

缓存时间: 2026/09/13 23:15

https://t.co/YPXYJCel3U 真的很快。我的使用方式很简单:快速检查文件,无需打开完整的IDE。特别适合查看像pubspec.yaml和package.json这类文件。感谢@arpit_bhayani! https://t.co/D90vhPzxi6


px0:快速、轻量级、只读IDE

来源:https://px0.ai/

px0 v0.1.0 —— 为AI智能体时代打造的只读IDE
单个静态Go二进制文件 | 让智能体编写代码,你负责验证。

当你只想要速度时

px0 是一款为AI智能体时代设计的只读IDE。它能将你的浏览器瞬间转变为一个验证控制台,用于查看智能体刚刚编写的代码:支持符号级导航、完整的LSP智能提示和深度搜索。一个二进制文件,零配置。启动时间低于1毫秒,内存占用约16 MB,模糊搜索涵盖Linux内核的95,710个文件仅需6毫秒。

  • 冷启动:<1ms
  • 亚毫秒即时启动
  • 常驻内存:16MB(VS Code在相同代码库下:约1,440 MB)
  • 模糊查找:6.0ms(Linux内核,95,710个文件)
  • 语言支持:约280种(通过Chroma原生分词)
  • 主题:14个(每个主题一个CSS文件)
  • 运行时依赖:0(无Electron、无Node、无CGO)
~/src/px0 · fuzzy.go
127.0.0.1:7777
50  // Collected right-to-left; flip in place.
51  for i, j := 0, len(pos)-1; i < j; i, j = i+1, j-1 {
60      score -= min(i-prev, 12) // gap penalty, bounded
61  }
62  if i >= e.nameStart {
63      score += 14 // basename beats directory noise
64  }
65  if i == 0 || isBoundary(p[i-1]) {
66      score += 16 // start of a path or word segment
67  } else if p[i] >= 'A' && p[i] <= 'Z' && p[i-1] >= 'a' && p[i-1] <= 'z' {
68      score += 14 // camelCase hump
69  }
70  if p[i] == q[k] {
71      score += 4 // exact case
72  }
73  prev = i
74  }
75  // Prefer the shallower, shorter of two otherwise-equal paths.
76  score -= len(p) / 8
77  score -= strings.Count(p, "/") * 2
78  if idx := strings.Index(e.lower[e.nameStart:], q); idx >= 0 {
79      score += 40 // whole query appears verbatim in the basename
80      if idx == 0 {
81          score += 20
82      }
83  }
84  return score, pos, true
85}

经过实测,而非空谈。

这里的每个数字都来自 ./benchmark.sh 对七个真实代码库浅层克隆的测试。Linux内核测试禁用了语言服务器,取五次请求中的最快值。你可以在自己的机器上运行它,并将结果表格发布到任何地方。

常驻内存 · 相同工作区 · 线性尺度 比VS Code轻约90倍 VS Code:15+ 进程,约1,440 MB

  1. 1 扩展宿主进程:约500 MB
  2. 2 语言服务器:约350 MB
  3. 3 服务器主进程:约260 MB
  4. 4 IPC代理与工具:约190 MB
  5. 5 PTY宿主与终端:约71 MB
  6. 6 文件监视器:约68 MB

真实代码库 · px0 独立运行 按索引文件数排序

仓库语言大小文件数全量扫描模糊查找打开大文件重开大文件RSS峰值RSS
flaskPython3 MB2351 ms0.8 ms2.3 msn/an/a16 MB
redisC26 MB1,85513 ms1.0 ms18.2 ms80.8 ms1.2 ms17 MB
djangoPython74 MB7,01439 ms1.3 ms26.8 ms166.8 ms1.0 ms20 MB
reactJavaScript63 MB7,17852 ms2.7 ms32.2 ms57.7 ms0.7 ms21 MB
kubernetesGo370 MB25,926150 ms13.5 ms84.6 ms199.0 ms0.9 ms30 MB
typescriptTypeScript414 MB66,533566 ms6.2 ms150.3 ms40.9 ms6.5 ms69 MB
linuxC1,809 MB95,710370 ms6.0 ms451.8 ms26.7 ms0.6 ms55 MB
  • 全量扫描:搜索一个匹配不到的字符串,因此每个索引字节都会被读取。这是最坏情况。
  • 打开大文件:是最大的源文件,冷启动。文件长度无关紧要:只有可见窗口会被词法分析。
  • Linux内核 · 会话中的RSS:-37 MB。闲置后 px0 会回收内存,因此一个打开的会话最终会稳定下来。

语言服务器路径 · gopls服务器就绪:374 ms(仅支付一次)

  • 文档大纲:1.4 ms
  • 跳转到定义:1.5 ms
  • 查找所有引用:3.0 ms
  • 悬停:5.1 ms
  • px0 内存:18 MB
  • gopls 内存:122 MB

服务器是独立进程,首次使用时为对应语言启动,退出时关闭。如果没有服务器,px0 会立即回退到正则表达式大纲。

智能体编写代码,你来验证。

代码如今从终端抵达,而非键盘。留给你的工作是审查、审计和导航,而这需要一件事被做到极致:一个零延迟、无干扰的场所,用于阅读、探索和验证。而不是一个需要数秒启动、占用数GB内存空闲的编辑器。

  1. 01 终端驱动生成 智能体、测试框架和编排器编写代码、运行测试并推进工作流程。

    agent 14 files changed ✓
    212 tests passed
    
  2. 02 你负责验证 跟踪符号引用、阅读上下文,并检查变更所处的代码架构。

    F12 definition
    Shift F12 refs
    Ctrl Shift F every call site
    
  3. 03 传统IDE过于庞大 启动一个Electron套件,带有扩展宿主和超过1GB的堆内存,只是为了阅读智能体输出。

    1,440 MB rss, 15+ processes
    4 - 10 s to index the workspace
    

只读即核心功能

  • + 模糊文件搜索、符号、整个代码库的正则搜索
  • + 跳转到定义、悬停、查找引用(配合LSP)
  • + 跳转到标准库和模块缓存源码(服务器指向的位置)
  • + 14个主题、自动换行、前进后退历史
  • - 无写入端点:HTTP API仅用于读取、搜索和查询语言服务器
  • - 无扩展宿主、无插件市场、无Electron
  • - 无遥测。唯一的出站调用是每天向GitHub检查更新
  • - 绑定 127.0.0.1,除非你通过 -host 指定其他地址

适用场景

  • 验证智能体输出:打开工作树,追踪引用,关闭标签页
  • 审计代码库:在笔记本上阅读25,000个文件的单体仓库,风扇无需狂转
  • 远程机器:在服务器上运行,隧道转发一个端口,用任何浏览器阅读
  • 在你的编辑器旁边:为仍需手动输入的编辑保留vim或VS Code

传统IDE vs px0 对比

维度传统IDEpx0
构建用途逐字符输入代码,托管插件阅读、探索和验证代码
工作区内存 (RSS)~1,440 MB~16 MB
轻量程度-80x to 90x 更轻
启动CPU占用35% - 50%< 1%
冷启动数秒亚毫秒
进程树15+ Node.js / Electron 进程1个静态Go二进制文件
工作区索引多秒后台持续活动Redis: 13 ms, Linux内核: 370 ms
设置配置文件、插件、node、npm零配置、零运行时依赖

一切为阅读而生,别无其他。

你一天中上百次使用的导航,在毫秒内完成,UI只渲染你可见的行。

f.01 导航

全方位模糊查找

文件、符号和整个代码树的正则扫描,通过三个快捷键触发。排名偏好基础名、单词边界和驼峰命名,如同fzf的感觉。

  • CtrlP 跳转文件 1.3 ms
  • CtrlShiftO 符号
  • CtrlShiftF 正则扫描 26.8 ms 计时:Django,7,014个文件

f.02 高亮

约280种语言

通过Chroma原生分词。服务器词法分析一个1000行的窗口(带400行上下文填充),从不处理整个文件,并将渲染后的HTML缓存在512MB的LRU预算下。 Go, Rust, TypeScript, Python, C, C++, Zig, Lua, Ruby, Java, Kotlin, Swift, Haskell, OCaml, Elixir, SQL, YAML, TOML, Nix, Bash, Protobuf, HCL + 约258种

f.03 渲染

虚拟行

打开一个400,000行的文件,成本与10行文件相同。只挂载可见窗口加24行超扫描;滚动通过单次变换回收行。

  • 400,000 文件中的行数
  • ~60 DOM行数
  • 0.015% 已挂载比例

f.04 LSP · 可选

需要时提供语义分析

零配置检测$PATH上的服务器。首次请求时惰性启动,退出时停止。缺失或崩溃?立即回退到正则大纲。

  • gopls
  • rust-analyzer
  • typescript-language-server
  • pyright · ruff
  • clangd
  • zls
  • lua-language-server
  • solargraph

f.05 主题

14个内置主题

默认为Tokyo Night,另有Paper、Catppuccin、Dracula、GitHub Dark、Gruvbox、Monokai、Nord、One Dark、Rose Pine和Solarized。每个主题是一个token的CSS文件。

f.06 分发

一个静态二进制文件

HTML、CSS和JS通过go:embed嵌入。无Electron、无Node、无CGO、无系统库。复制到机器上运行即可。

px0
static, go:embed
├─ index · search · highlight · lsp
├─ web/
│  html css js, ~74 KB
└─ themes/
   14 × css

f.07 内存

主动归还内存

15秒无请求后,px0回收内存。下午一直打开的标签页,成本与闲置时相同。

  • 峰值:94 MB(Linux内核,五次全量扫描后)
  • 空闲30秒:57 MB

单进程,无运行时。

一个Go服务器负责索引、搜索、高亮和语言服务器,与零依赖的ES模块前端通过JSON通信。速度源于一系列微小而朴素的决定。

浏览器端

  • 原生JS - 虚拟行(~60个节点)
  • 模糊查找与代码树缓存
  • 屏幕外字体测量
  • requestAnimationFrame 节流绘制

px0 · 一个Go进程

  • ~16 MB
  • 路由器:HTTP · JSON · 带池化gzip
  • 索引:路径 + 代码树,感知.gitignore
  • 搜索:并行工作池
  • 高亮:Chroma,窗口化,LRU
  • LSP管理器:惰性启动,正则回退
  • 回收器:15秒空闲后回收内存

主机端

  • 你的源代码树(+ .gitignore)
  • gopls · clangd · …(首次使用时)
  • 标准库和模块缓存(允许列表内)

索引行走

  • 信号量:NumCPU × 4
  • 忽略规则:段、后缀、路径,正则优先
  • 目录符号链接:跳过,无环

启动

  • 先监听,后台索引

高亮

  • hlChunk:1,000行
  • hlContext:400行
  • hlWindowBytes:512 KB
  • bgLimit:2 MB(精确匹配)
  • cacheBudget:512 MB LRU

搜索

  • 快速拒绝:对整个文件使用bytes.Contains
  • 缓冲区:每个worker复用
  • 大小写折叠:原地ASCII小写转换
  • snipLead:32个字符

前端

  • 活跃行:~60
  • OVERSCAN:24行
  • 绘制:requestAnimationFrame
  • 测量:屏幕外,亚像素级

模糊评分 fuzzyScore() · 权重 O(n) 两遍扫描

  • 查询字符串在基础名中完整出现:+40
  • 基础名以查询开头:+20
  • 路径或单词段的起始:+16
  • 驼峰命名折点:+14
  • 在基础名内:+14
  • 连续匹配:+12
  • 大小写完全匹配:+4
  • 命中间隔惩罚:-min(gap, 12)
  • 路径长度:-len / 8
  • 深度:每个/ -2

第一遍证明查询的每个字符都存在。第二遍从最后一个匹配向后走,尽可能紧凑地拉取匹配。以线性扫描实现了动态规划的排序感觉。

ARCHITECTURE.md →

双手留在键盘上。

你从编辑器中已熟知的快捷键,加上一个通过首字符切换模式的命令面板。按?获取完整快捷键表。

快捷键 12个绑定

  • CtrlK 通用面板,快速打开
  • CtrlP 跳转文件
  • CtrlShiftP 命令面板
  • CtrlShiftO 跳转文件内符号
  • CtrlShiftF 搜索整个工作区
  • CtrlF 在当前文件中查找
  • CtrlG 跳转到行
  • F12 / Ctrl点击 跳转到定义
  • ShiftF12 查找所有引用
  • 悬停:类型签名和文档
  • Ctrl悬停:检查标识符链接
  • Alt← / Alt→:在历史记录中前进后退

命令面板前缀

  • CtrlK - ∅ 文件 → lspsrv 转至 lspservers.go
  • > 命令 → >wrap 切换自动换行
  • @ 符号 → @score 转至 fuzzyScore
  • : 行 → :120 跳转到第120行

指向一个目录,即完成设置。

px0启动本地查看器,打印URL,并在后台构建索引时打开你的浏览器。多个实例会自动推进到下一个空闲端口。

~ · zsh

$ px0 ~/src/linux
px0 0.1.0
workspace: /home/you/src/linux
url: http://127.0.0.1:7777
ctrl-c to stop
✓ indexed 95710 files 370ms · language servers: clangd (started on first use)
$ px0 -version
px0 0.1.0 (linux/amd64)
$ px0 -no-open -port 0 ~/src/api | cat ...
[OK] indexed 1855 files 13ms

标志 用法:px0 [flags] [directory]

标志默认值说明
-port N7777监听端口(0表示选择临时空闲端口)
-host H127.0.0.1绑定的本地地址
-no-openfalse不启动浏览器
-no-lspfalse跳过语言服务器,使用正则表达式大纲
-no-colorfalse剥离ANSI转义序列
-quietfalse抑制叙述,错误仍输出到stderr
-updatefalse检查并安装最新版本
-versionfalse打印版本和架构,然后退出

一个二进制文件,任选方式安装。

安装,指向一个仓库,然后阅读。语言服务器是可选的,当存在于你的$PATH中时会被使用。

a · 快速安装 macOS · Linux · BSD 安装或升级到最新版本。

  • VERSION:固定版本,默认latest
  • INSTALL_DIR:/usr/local/bin 或 ~/.local/bin

b · 预构建二进制文件 15个目标

  • darwin: amd64, arm64
  • linux: 386, amd64, arm, arm64, riscv64
  • freebsd: amd64, arm64
  • openbsd: amd64, arm64
  • netbsd: amd64
  • windows: 386, amd64, arm64
$ sudo install px0-0.1.0-darwin-arm64 /usr/local/bin/px0

GitHub releases →

c · 从源码构建 go 1.24+

git clone https://github.com/px0-ai/px0.git
cd px0
make build
sudo install px0 /usr/local/bin/

无需npm、node、CGO或系统库。make dist可交叉编译全部15个目标。

可选 · 用于跳转到定义、悬停、引用的语言服务器 点击命令复制安装命令

语言服务器安装命令
Gogoplsgo install golang.org/x/tools/gopls@latest
Rustrust-analyzerrustup component add rust-analyzer
TypeScript / JavaScripttypescript-language-servernpm i -g typescript-language-server typescript
Pythonpyright 或 ruffpip install pyright 或 pip install ruff
C / C++clangd系统包管理器(如 apt install clangd)
Zigzls系统包管理器或从源码构建
Lualua-language-server系统包管理器或从源码构建
Rubysolargraphgem install solargraph

$ px0 你的代码库,在阅读此行文字的时间里即可打开。 在GitHub上加星 →

相似文章

px0 (网站)

TLDR AI

px0 是一个快速、轻量级、只读的 IDE,专为 AI 代理时代设计,提供代码的即时验证,使用最少资源,如亚毫秒级启动和低内存使用。

免费、开源、30万行代码 - Agentic IDE

Reddit r/openclaw

intentic 是一个免费、开源的 'Agentic IDE',可让您在自有硬件上的隔离沙箱中运行 AI 编程代理(Claude Code、Codex、Grok、Kimi Code、Gemini),并提供基于浏览器的工作区、计划与审查工作流,以及 MIT 许可的代码。

@akshay_pachaar: https://x.com/akshay_pachaar/status/2053166970166772052

X AI KOLs Timeline

The article discusses a shift in AI agent tool usage from the 'MCP vs CLI' debate to 'Code Mode,' where agents write code to dynamically import tools, significantly reducing context window usage. It highlights Anthropic's approach and Cloudflare's implementation, demonstrating a 98.7% reduction in token consumption for specific tasks.