Pi Extension 的第一枪:Sandbox Extension(2)
对比白名单与黑名单策略,分析 macOS Seatbelt、Linux bubblewrap 以及 pi 沙箱的策略设计。 拦得住的叫策略。拦不住的叫摆设。 天下策略,不过四字:该拦则拦。 难的从来不是那四个字,是该字怎么写。 沙箱策略设计:保护与自由的拉锯 沙箱必须靠内核,不能靠自律。但”内核能拦”和”拦得恰到好处”是两回事。拦多了,npm ...
Pi Extension 的第一枪:Sandbox Extension(1)
从操作系统隔离机制出发,拆解 pi Sandbox Extension 的命令包装、平台检测与安全边界。 临江仙 · 沙箱 自律从来难自缚, 纸条贴遍门窗。 手机在兜誓不刷, 三更破了戒, 还怨意志伤。 须知锁匙交他手, 内核铁壁高墙。 任凭代码百般狂, 柜员摇头处, 一句不商量。 Pi 的沙箱:一个不存在的内置功能上一篇我们聊了 Pi 的扩...
Pi 的扩展系统:什么都不内置,怎么长出一切
解析 pi 的扩展系统,理解工具、命令、快捷键与事件钩子如何让核心保持精简并持续扩展。 不入深宫知冷暖,无声处已相逢。 轮回不改旧时钟。它转它的路,我候我的风。 不争一字循环里,只于间隙从容。 来时无迹去无踪。事成浑不觉,功在不言中。 ——《临江仙·Extension》 pi 的作者 Mario Zechner(libGDX 的作者)在 2...
Pi 加冕之路:EventStream 实时事件通信机制
解析 pi 的 EventStream 异步事件队列,理解 agent 循环与 TUI 之间的实时事件通信。 这一部分解析 pi 的异步事件队列——循环和 TUI 之间的”取号排队系统”。 三个角色: 1生产者 = 厨房/循环(做好一份菜就放到取餐台,喊一个号)消费者 = 顾客/TUI(等叫号,叫到就去取)EventStream = 取号排队系统(...
Pi 的加冕之路:循环之外的调度机制
解析 pi 的 steering 与 follow-up 队列,理解用户插话、任务追加和 agent 循环之外的调度机制。 这一部分解析 pi 怎么让用户在 agent 干活时插话、以及在 agent 收工时追加任务。 pi 内部有两种”容器”做通信:steering/followUp 队列(本篇)是普通数组,循环主动去查;EventSt...
读懂 Pi,你就是 AI 应用之王
逐段解析 pi 的 agent-loop.ts,理解双层循环、工具调用、流式响应和事件广播等生产级机制。 之前我们亲手写了 100 行的 mini-pi,理解了 agent 循环的骨架。这一部分我们不再写新代码——直接打开 pi 的 agent-loop.ts[1],逐段读它的生产级实现。 你会发现你在 Part 1 写的每一行都有对应物,但 pi...
亲手写个 mini-pi,再对照 pi 的 743 行源码
从一个约 100 行的 mini-pi 出发,拆解 coding agent 的模型、工具和循环,并对照 pi 项目的生产级 agent-loop 实现。 是时候来点干货 你听说过的所有 coding agent——Claude Code、Cursor、还有我们这个教程要解剖的 pi——核心都是同一个 while 循环。pi 的生产级实现 agen...
【力扣LeetCode热题h100】链表、二叉树
本文总结了力扣LeetCode热题H100中关于链表和二叉树的常见算法题解。 本文最初发布于 CSDN,现迁移至本站并做格式整理。内容保留原始观点与发布时间。 链表22. 相交链表题目:给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。代码: 123456...


