爱意满满的作品展示区。
yuez

分享创造: pi2.nvim 更新 —— 新增 :PiSessions 会话总览,跨标签页管理所有 agent 会话

  •  
  •   yuez ·
    zgs225 · 5h 6m ago · 179 views

    上次发帖介绍了 pi2.nvim 1.0 ,这次带来一个重要更新:会话列表(:PiSessions

    先给新来的朋友简单介绍:pi2.nvim 是 pi coding agent 的 Neovim 前端,基于 alex35mil/pi.nvim 深度扩展的 fork (上游的功劳归上游),在后台跑 pi --mode rpc,把 AI 编程助手完整搬进编辑器。设计上「一个标签页 = 一个会话」,多任务时经常同时开好几个标签页跑不同的 agent 。

    新功能 :PiSessions:所有活跃会话的实时总览

    一个只读窗口列出全部活跃会话,每行 = 标签页编号 + 状态点 + 会话名:

    • 状态点快闪:agent 正在干活(流式输出 / 执行工具)
    • 慢闪:正在压缩上下文( compaction )
    • 常亮警告色:有待处理的 attention 请求
    • 绿灯闪烁:别的标签页的回合完成了,你还没看
    • 红灯闪烁:上次回合出错,你还没看
    • 常亮暗淡:空闲
    • 常亮错误色:会话已退出

    会话名优先取 :PiSessionName 设置的名称,否则回退到第一条用户消息。按 <CR> / o 直接跳到对应标签页并打开聊天,r 刷新会话名,q 关闭。

    实现上的两个细节:所有标签页共享同一个 buffer ,一次重绘同步刷新所有视图;更新完全事件驱动、零轮询。

    配置:

    require("pi").setup({
      sessions_list = {
        mode = "follow",   -- "follow" | "side" | "float"
        position = "left",
        width = 40,
        height = 12,
        float = { width = 0.5, height = 0.5 },
        auto_open = false, -- 打开聊天时自动显示列表
      },
    })
    

    PiSessions 预览

    其他近期更新

    • 聊天历史默认改用 render-markdown.nvim 渲染,标题 / 列表 / 代码块开箱即用
    • :PiTree 长会话可读性修复,纯工具回合显示工具摘要,不再有空白行
    • 图片附件发送前自动压缩,附件面板显示压缩后实际大小

    仓库: https://github.com/zgs225/pi2.nvim Changelog: https://github.com/zgs225/pi2.nvim/blob/main/CHANGELOG.md 要求:Neovim 0.10+,本机装有 pi CLI

    {
      "zgs225/pi2.nvim",
      dependencies = { "MeanderingProgrammer/render-markdown.nvim" },
      build = "make",
      opts = {},
      keys = {
        { "<leader>pi", "<Cmd>Pi<CR>", desc = "Pi open chat" },
        { "<leader>ps", "<Cmd>PiSessions<CR>", desc = "Pi sessions overview" },
      },
    }
    

    欢迎试用和反馈,有问题可以直接开 issue 。

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3181 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:34 · PVG 20:34 · LAX 05:34 · JFK 08:34
    ♥ Do have faith in what you're doing.