Overview Version History Q & A Rating & Review
Pi Agent Tabs
All in VS Code —— 不用离开编辑器。
Pi coding agent 的 VS Code 界面:活动栏一个图标,点开是会话树;每个会话在编辑区打开成完整的标签页 (不是侧边栏小面板),跑的是真正的 pi 进程。
不切终端 :读写文件、跑命令、看子代理,全在同一个窗口里完成
不切浏览器 :没有独立的聊天网页,会话就是编辑器里的文档
会话是标签页 :可以并排两个会话对比、可以分屏、可以和代码放在同一个布局里、可以用 Ctrl+Tab 切换
真进程 :每个标签页一个 pi --mode rpc 子进程,会话文件、扩展、MCP、技能都和 CLI 完全共用
前置条件
需要本机已安装 Pi CLI:
npm i -g @mariozechner/pi-coding-agent
pi --version
插件会自动探测全局 pi。找不到时可以在设置里填写 pi.cliPath。
交互设计
这个插件不是「给 agent 套一个侧边栏」,它把每个会话当成一份独立的文档 来处理。几个刻意的选择:
每个会话是一个 webview 标签页
会话开在编辑区,不是侧边栏面板。因此它天生具备编辑器标签的全部能力:并排两个会话、拖到另一个窗口、分屏、Ctrl+Tab 切换、和代码文件一起进同一个布局。标签页标题会写成该会话的第一句话(或你重命名后的名字)。
每个标签页一个真正的 pi 进程
一个会话对应一个 pi --mode rpc 子进程,不是把 SDK 塞进插件进程。所以会话文件、扩展、MCP 服务器、技能、模型配置和终端里跑的 pi 完全一致 —— 你在终端里继续同一个会话也不会错乱。关掉标签页,进程就退出,不留后台进程。
重开窗口会回到原来的位置
关掉 VS Code 再打开,之前开着的会话标签会恢复,并且指向同一个会话文件 (按会话 id 反查磁盘路径),不是新建一个空会话。
输入框是命令入口,不只是文本框
敲 / 弹出技能、提示模板、扩展命令,↑↓ 挑、Enter 插入
选中的命令变成彩色标签 贴在输入框上方(紫=技能,蓝=模板),不会混进正文;点 × 移除
运行中 Enter 是「插入」(steer),Alt+Enter 是「排队」(follow-up),Alt+Q 把队列取回
底部一行:附件、模型、思考强度、上下文环、发送
长会话也要能流畅阅读
思考块、工具调用都是可折叠块,标题带耗时和状态;历史思考默认折叠,正在输出的那一轮自动展开
自动滚动只在你看底部时跟随;往上翻就停住,底部浮出 ↓ 回到最新
上下文压缩后会插入一张可展开的摘要卡片 ,写明压缩了多少 token、被折叠的内容概要
上千条消息的会话做过渲染优化(增量更新 + 视口外跳过绘制),打开和流式输出都不会卡
子代理在同一个界面里
运行中的子代理出现在输入框上方,点进去是它的实时 transcript,还能直接给它发指令。不需要切终端看另一个窗口。
会话
会话树 :读取 ~/.pi/agent/sessions,按项目分组,显示最后活跃时间;分叉出来的会话以 ⑂ N 挂在父会话下面。
编辑区标签页 :一个会话一个标签页,历史消息、流式回复、思考块、工具调用都在里面;关掉 VS Code 重开,标签页会恢复到原来的会话。
草稿与中断 :Enter 发送,Shift+Enter 换行;运行中 Enter 立即插入(steer),Alt+Enter 排队(follow-up),Alt+Q 把队列取回输入框。
重命名 / 删除 / 导出 :右键菜单;导出走 pi --export 生成单文件 HTML。
分叉与克隆 :每轮回复下方有「分叉」(从该轮的用户消息新建分支)和「克隆」(复制整个会话),列表实时更新。
输入框
/ 命令补全 :敲 / 弹出技能、提示模板和扩展命令,↑↓ 选择、Enter 插入;选中的命令显示成彩色标签,不会混进正文。
附件 :+ 添加图片或文本文件,图片以 base64 随消息发出,文本内联进 prompt。
模型 / 思考强度 :底部两个下拉,切换即时生效。
上下文环 :显示当前用量百分比,悬停看 token 明细,点右侧按钮压缩上下文;压缩后会插入一张可展开的摘要卡片。
子代理
运行中的子代理显示在输入框上方,点进去看实时 transcript,也可以直接给它发指令。
设置里的「子代理」页可以配置默认模型、默认思考强度,以及每个 agent 的模型/思考覆盖、扫描目录、排除目录。
设置
标题栏齿轮打开设置页:模型、子代理、扩展包、技能、MCP、自定义模型、高级(settings.json / mcp.json / models.json / auth.json / extensions/subagent/config.json 入口)。
配置项
设置
默认
说明
pi.cliPath
自动探测
pi 可执行文件路径
pi.extraArgs
[]
传给每个会话进程的额外参数