Pi 工具显示增强
让 Pi 终端中的工具调用更紧凑,并以清晰差异视图呈现文件编辑。
- Star 数
- ★ 304
- 最近更新
- 4 个月前
- License
- MIT
- 主语言
- TypeScript
- FA 评分
- 60/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- Pi 用户在终端中频繁调用 read 或搜索工具,希望默认收起冗长结果。
- 不适合
- 使用非 Pi 编码代理的团队
- 需要独立于终端使用界面的用户
- 源码审查
- 60/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
pi-tool-display 是面向 Pi coding agent 的扩展,通过 Pi 的扩展机制接管所选内置工具及明确配置的自定义工具渲染。它为 read、grep、find、ls、bash、edit 和 write 提供紧凑输出,并可将结果隐藏、汇总或预览。edit 和 write 的差异视图会根据终端宽度选择分栏或统一布局,也支持流式调用期间的待处理编辑预览。扩展还提供 MCP 工具显示模式、思考标签、原生用户消息框和 /tool-display 设置命令。可从本地扩展目录、npm 或 Git 安装;它运行在 Pi 的终端界面内,不是独立应用。
安装并加载扩展后,它为 read、grep、find、ls、bash、edit 和 write 注册可配置的渲染器,把工具结果显示为隐藏输出、摘要或有限行预览;bash 另有 opencode 折叠模式。MCP 输出可设为隐藏、摘要或预览,其他扩展工具则需在 customToolOverrides 中明确启用,并可选择 generic 或 mcp 类型。edit 和 write 共用差异渲染器,可使用 auto、split 或 unified 布局;流式参数期间还可显示受当前工作区范围约束的待处理差异预览。它会在流式及最终消息中标注思考块,并在下一次模型轮次前清理这些展示标签。用户可通过 /tool-display 打开设置,或用 /tool-display show、reset 和 preset 命令查看及调整配置。
- Pi 用户在终端中频繁调用 read 或搜索工具,希望默认收起冗长结果。
- 开发者使用 edit 或 write 修改文件,希望在展开结果前查看清晰的差异和待处理预览。
- 启用了 MCP 的 Pi 用户希望按摘要或预览模式控制工具结果占用的界面空间。
- 同时使用多个 Pi 扩展的团队,希望逐个设置内置工具归属,减少渲染器冲突。
- 扩展作者希望通过
pi-tool-display/tool-display-api-consumer为自己的工具接入渲染适配器。
如何安装或部署这个 Agent?
先安装并运行 Pi coding agent。选择一种 README 支持的扩展安装方式:
如何使用这个 Agent?
安装后在 Pi 中打开设置,或直接应用预设:
/tool-display查看当前有效配置:
/tool-display show切换到简洁预设:
/tool-display preset opencode若需让其他扩展接入渲染器,可导入 consumer API:
import { decorateToolForDisplay, decorateMcpToolForDisplay } from "pi-tool-display/tool-display-api-consumer";在配置文件中按工具设置渲染规则,例如:
{
"customToolOverrides": {
"custom_mcp_gateway": {
"enabled": true,
"kind": "mcp",
"outputMode": "preview"
}
}
}这个 Agent 有哪些优点和局限?
- read、搜索、bash 和文件编辑工具有各自的紧凑显示模式,可按需隐藏、汇总或预览结果。
- 差异渲染支持分栏与统一布局、窄终端宽度适配,以及流式 edit/write 的待处理预览。
- 提供内置工具归属开关和显式自定义工具规则,便于与其他渲染扩展共存。
- 安装方式包括 Pi 的本地扩展目录、npm 包和 Git 仓库。
- 它依赖 Pi coding agent 的扩展机制,不能直接作为独立终端查看器使用。
- README 未说明支持其他编码代理或平台,因此迁移到其他运行时需要适配。
- 非内置工具默认保留原渲染器;要覆盖它们需要配置确切工具名并按需重新加载。
- README 未列出 Node.js 版本或其他具体运行时依赖。
这个 Agent 与同类方案有什么区别?
README 将其描述为面向 Pi coding agent 的 OpenCode 风格工具渲染,并提及 Pi 的内置工具及其他渲染扩展;没有提供功能或性能对比数据。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Pi 工具显示增强 当前 | 60 · 存在缺口 | Agent 插件 / 技能免费 | ★ 304 | 4 个月前 | TypeScript | — |
| MiniCode | 50 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.2k | 27 天前 | TypeScript | Claude API |
| Kun 工作台 | 49 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 6.4k | 4 天前 | TypeScript | ChatGPT · Codex · OpenAI API · Claude API |
| Pi Agent Harness | 42 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 120k | 今天 | TypeScript | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示扩展主要接管工具输出渲染,并提供逐工具所有权开关、明确启用的自定义工具规则、关闭状态的调试日志及限制在工作区的待处理预览文件读取,权限范围看起来有限,故最小权限和数据流各得2分。README说明内容会被隐藏、折叠或截断,但未充分说明敏感输出的具体保留、暴露或恢复语义,敏感数据处理仅得1分;渲染设置无需确认,只有部分覆盖行为采用显式选择,用户确认得1分。包声明依赖覆盖版本并有安装后脚本,但未提供依赖风险审计证据,依赖安全得1分。未见联网或其他外部副作用,得2分;README说明 reload 时清理覆盖和事件处理器,得2分。作者字段存在,但发布者身份未验证且来源归属证据有限,来源归属得1分。
README、配置示例和测试文件目录对主要功能与设置大体一致,得2分;但测试内容只作为静态材料,且没有锁文件或安装成功证据可供本审查确认,依赖可用性得1分。配置加载、工具检测和自定义渲染问题有排查步骤,但具体运行时错误如何呈现、失败后如何降级说明有限,失败消息得1分。
README针对 Pi coding agent 的紧凑终端工具输出、差异展示和不同信息密度提供了三个预设、多种输出模式及宽度适配,场景与受众说明充分,得3分。MCP、RTK 可用性检测和自定义覆盖边界有说明,但部分 MCP 识别依赖名称或参数启发式,边界控制得2分。内置工具有固定覆盖配置,自定义工具需显式配置,触发精度得2分;文档声明支持 macOS、Linux、Windows、Node 20+,并说明 Pi 的安装路径及能力检测,但没有本审查可确认的跨环境证据,环境适配得2分。
README按功能、安装、使用、配置、排障和结构组织,提供配置表、命令与代码示例,信息架构和示例/常见问题各得3分。安装覆盖本地、npm、Git 三种方式,但未详述所有前置条件,得2分。包名、导出路径和配置项命名较清楚,但文档中的默认预设描述与配置表默认输出模式容易让读者混淆,命名稳定性得2分。已说明部分边界和环境检测行为,却没有系统列出已知局限,得1分。MIT 许可证文本完整且与元数据相符,得3分。提供 package 版本号,但本材料未包含 CHANGELOG 内容,版本历史得1分。README 描述清理与配置路径,package 有作者字段,但维护责任人和明确更新支持路径没有充分落实,得1分。
功能说明、预设、截断提示、摘要模式和差异布局显示其能让冗长工具结果更易浏览,输出可用性得3分。该扩展把多类工具输出统一为紧凑视图并提供适配器 API,能带来增量价值,得2分;成本与收益说明主要是功能宣称,没有安装、性能或使用成本证据,得2分。
README中的不少功能声明可对应到目录和所给测试文件名,但没有完整实现源码可逐项核对,声明可追溯性得2分。README、package、许可证和测试文件提供少量交叉材料,但缺少完整代码和变更记录来相互印证,得1分。文档把配置默认值、行为和能力检测分开描述,静态材料有一定事实/说明区分;但若干效果描述未经本审查执行验证,得2分。
- 这次审查只依据提示中给出的文件材料,未执行代码或测试;README 的行为与兼容性描述不代表本次独立验证。
- 输出隐藏或截断可能遮住用户需要检查的细节;使用前应选择适合工作流的模式,并确认如何展开结果。
- package.json 声明 postinstall 脚本和依赖版本覆盖;审查材料没有提供脚本目标文件或依赖安全分析,建议安装前检查实际发布内容。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
[0.5.0] - 2026-07-03 Added - Added an enabled config toggle that gates tool override registration, with reload cleanup that disposes overrides and patches on session_shutdown. ([c78163d](https://github.com/MasuRii/pi-tool-display/commit/c78163dddc0f94b7a542d2d1e01109c903bc70cc)) - Added regression coverage for the active backlog: expanded large-diff rendering in constrained tmux-style panes (#23) and the esbuild lockfile bump from PR #24. ([7e46231](https://github.com/MasuRii/pi-tool-display/commit/7e4623191583f31a056602d8a08f1a4a7accd8b6)) Changed …在 GitHub 查看 ↗ -
发布说明摘录
### Added - Added customToolOverrides for explicit opt-in rendering of non-built-in extension tools, with generic as the default kind and optional mcp rendering for MCP proxy-style arguments. - Added custom tool override coverage for malformed config, output modes, late tool registration, argument shapes, and runtime contract preservation. Changed - Preserved configured MCP output mode even when MCP tools are not detected at startup, so dynamically registered MCP tools can still be decorated later. Fixed …在 GitHub 查看 ↗ -
v0.4.2 pi-tool-display 0.4.2
发布说明摘录
[0.4.2] - 2026-06-01 Changed - Deferred config modal, settings inspector, and built-in tool metadata loading until needed to reduce startup work. - Replaced shared agent-directory lookup with a local PI_CODING_AGENT_DIR-aware resolver for config and capability checks. - Widened peer dependency ranges to ^0.74.0 || ^0.75.0 || ^0.77.0 || ^0.78.0. Fixed - Corrected classic-mode diff line-number gutter spacing.在 GitHub 查看 ↗
常见问题
它能在 Claude Code 或其他编码代理中使用吗?
MCP 工具一定要在启动时可用吗?
pi.registerTool,因此工具可在注册时被捕获;若相关能力启动时不可用,MCP 设置可能从模态窗口隐藏,但配置的输出模式会保留。如何避免与其他扩展争用内置工具渲染?
registerToolOverrides 中将对应工具设为 false,然后运行 /reload。