Token导航 LogoToken导航TokenDH.com
Pi Tool Display logo
开发工具未说明官方级别未说明来源级核验

Pi Tool Display

MCP Server

为Pi编码代理提供OpenCode风格的工具渲染,优化文件编辑差异显示和聊天界面细节。

工具数

7

提示词数

0

GitHub Stars

151

资源数

0
TypeScript开发工具命令行工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

MasuRii

提供方

MasuRii

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

pi工具显示

](https://www.npmjs.com/package/pi-tool-display) ![License](LICENSE)

OpenCode样式工具渲染 Pi编码代理.

pi-tool-display 默认情况下保持工具调用简洁,为文件编辑添加更丰富的差异渲染,并改进了一些核心聊天UI细节,如思维标签和本机用户提示框。

特性

  • 紧凑的内置工具渲染 为了 read, grep, find, ls, bash, edit,以及 write
  • MCP感知渲染 具有隐藏、摘要和预览模式
  • 自适应编辑/写入差异 具有拆分或统一布局、语法突出显示、内联强调和窄窗格宽度夹紧
  • 工作区范围的预计待定编辑/写入预览 那个节目 pending edit, pending overwrite,以及 pending create 部分工具调用仍在流式传输时的差异
  • 渐进式折叠差异提示 在小终端宽度上自动缩短,而不是溢出
  • 三个预设: opencode, balanced,以及 verbose
  • 思维标签 在流式传输和最终消息呈现期间,进行上下文净化,以避免将演示标签泄漏回未来的模型转换中
  • 可选的本地用户消息框 具有markdown感知渲染和更安全的ANSI/后台处理
  • 按工具所有权切换 因此,此扩展可以与其他渲染器扩展共存
  • 能力感知设置 当这些功能不可用时,自动隐藏MCP和RTK特定的控件

安装

本地扩展文件夹

将此文件夹放置在Pi的自动发现位置之一:

# Global default (when PI_CODING_AGENT_DIR is unset)
~/.pi/agent/extensions/pi-tool-display

# Project-specific
.pi/extensions/pi-tool-display

npm 包

pi install npm:pi-tool-display

Git 仓库

pi install git:github.com/MasuRii/pi-tool-display

用法

交互式设置

打开设置模式:

/tool-display

该模式揭示了大多数人经常改变的日常控制:

  • 预设配置文件
  • 读取输出模式
  • grep/find/ls输出模式
  • MCP输出模式(当MCP可用时)
  • 预览行数
  • bash折叠行数
  • diff布局模式
  • 本地用户消息框切换

高级选项仍保留在 config.json.

直接命令

/tool-display show                    # Show the effective config summary
/tool-display reset                   # Reset to the default opencode preset
/tool-display preset opencode         # Apply opencode preset
/tool-display preset balanced         # Apply balanced preset
/tool-display preset verbose          # Apply verbose preset

预设

预设读取输出搜索输出MCP输出Bash输出预览行Bash行
opencode隐藏隐藏隐藏opencode810
balanced摘要计数摘要摘要810
verbose预览预览预览1220
  • opencode (默认):最小内联显示;工具结果仍处于崩溃状态
  • balanced:精简摘要,包括行数和匹配总数;bash仅显示行数
  • verbose:读取/搜索/MCP/bash输出的更大预览

Bash输出模式

模式行为
opencode经典压缩输出使用 bashCollapsedLines 带扩展提示的限制
summary仅显示行数(例如,“返回3行”)——不显示输出
preview使用以下命令显示实际输出行 previewLines 限制

配置

运行时配置存储在:

Default global path: ~/.pi/agent/extensions/pi-tool-display/config.json
Actual global path: $PI_CODING_AGENT_DIR/extensions/pi-tool-display/config.json when PI_CODING_AGENT_DIR is set

入门模板包含在 config/config.example.json.

配置选项

选项类型默认值描述
debug布尔值false选择文件日志记录以进行扩展诊断;缺失的值被视为 false
registerToolOverrides对象全部 true每个工具的所有权标志
enableNativeUserMessageBox布尔值true启用带边框的用户提示渲染
readOutputMode字符串"hidden"hidden, summary,或 preview
searchOutputMode字符串"hidden"hidden, count,或 preview
mcpOutputMode字符串"hidden"hidden, summary,或 preview
previewLines编号8折叠预览模式下显示的线条
expandedPreviewMaxLines编号4000完全展开时的最大预览行数
bashOutputMode字符串"opencode"opencode (坍塌), summary (行数),或 preview (显示线条)
bashCollapsedLines编号10显示折叠bash输出的行(opencode模式)
diffViewMode字符串"auto"auto, split,或 unified
diffIndicatorMode字符串"bars"bars (垂直指示器), classic (+/-标记),或 none
diffSplitMinWidth编号120自动模式前的最小宽度更倾向于分割差异
diffCollapsedLines编号24折叠前显示的不同线条
diffWordWrap布尔值true需要时包裹长的差速器管路
showTruncationHints布尔值false显示压缩输出的截断指示器
showRtkCompactionHints布尔值false当RTK元数据存在时显示RTK压缩提示

工具所有权

使用 registerToolOverrides 要控制此扩展拥有哪些内置工具:

{
  "registerToolOverrides": {
    "read": true,
    "grep": true,
    "find": true,
    "ls": true,
    "bash": true,
    "edit": true,
    "write": true
  }
}

将任何条目设置为 false 如果另一个扩展应该处理该工具。

工具所有权的变更在以下时间生效 /reload.

配置示例

{
  "debug": false,
  "registerToolOverrides": {
    "read": true,
    "grep": true,
    "find": true,
    "ls": true,
    "bash": true,
    "edit": true,
    "write": true
  },
  "enableNativeUserMessageBox": true,
  "readOutputMode": "summary",
  "searchOutputMode": "count",
  "mcpOutputMode": "summary",
  "previewLines": 12,
  "expandedPreviewMaxLines": 4000,
  "bashOutputMode": "opencode",
  "bashCollapsedLines": 15,
  "diffViewMode": "auto",
  "diffIndicatorMode": "bars",
  "diffSplitMinWidth": 120,
  "diffCollapsedLines": 24,
  "diffWordWrap": true,
  "showTruncationHints": false,
  "showRtkCompactionHints": false
}

调试记录

默认情况下禁用调试日志记录。集 debugtrue 在扩展根中 config.json 仅在收集诊断信息时;缺失或无-true 值被视为 false启用后,诊断将附加到 debug/debug.log 在创建的运行时下 debug/ 目录,并且没有调试输出写入终端。

渲染注释

编辑和编写差异

editwrite 结果使用相同的diff渲染器。在 auto 扩展程序根据可用宽度选择拆分或统一布局。在窄窗格上,它夹住渲染的线条并缩短折叠的提示文本,这样差异就保持可读性,而不是溢出终端宽度。

虽然工具参数仍在流动,但部分 editwrite 呼叫可以显示预计的挂起预览。确定性编辑呈现为 pending edit 与当前文件内容的差异,写入呈现为 pending overwritepending create,未解决的投影显示了一个清晰的预览通知,而不是猜测。预览文件读取的范围仅限于活动工作区,因此挂起的预览会避免读取当前项目之外的路径。

撰写总结

当内容可用时, write 调用摘要内嵌了行数和字节大小信息,因此您可以在展开结果之前快速查看待处理写入的大小。

思维标签

在流媒体播放和最终消息上标记思维块。在下一个模型转换之前,扩展程序会将这些演示标签从存储的助手上下文中清除,这样它们就不会累积或污染未来的提示。

本地用户消息框

启用后,用户提示将使用Pi的本机用户消息组件在带边框的框内渲染。渲染器更安全地保留了markdown内容,并规范了ANSI/背景处理,以避免奇怪的嵌套背景伪影。

能力检测

该扩展检查当前的Pi环境并自动调整行为:

  • MCP工具不可用:MCP设置被隐藏,MCP输出被强制关闭
  • RTK优化器不可用:RTK提示设置被隐藏,RTK压缩提示被禁用

这使UI与当前环境实际支持的内容保持一致。

故障排除

工具所有权冲突

如果另一个扩展已经在渲染其中一个内置工具:

  1. registerToolOverrides.false
  2. /reload
  3. 使用 /tool-display show 确认有效所有权状态

配置未加载

如果您的设置未被应用:

  1. 检查全局Pi工具显示配置是否存在(默认值: ~/.pi/agent/extensions/pi-tool-display/config.json,尊重 PI_CODING_AGENT_DIR)
  2. 确保JSON有效
  3. /tool-display show 检查有效的配置摘要

MCP或RTK设置缺失

这些控件仅在当前Pi环境中具有相应功能时才会出现。

项目结构

pi-tool-display/
├── index.ts                         # Extension entrypoint for Pi auto-discovery
├── src/
│   ├── index.ts                     # Bootstrap and extension registration
│   ├── capabilities.ts              # MCP/RTK capability detection
│   ├── config-modal.ts              # /tool-display settings UI and command handling
│   ├── config-store.ts              # Config load/save and normalization
│   ├── diff-renderer.ts             # Edit/write diff rendering engine
│   ├── line-width-safety.ts         # Width clamping helpers for narrow panes
│   ├── pending-diff-preview.ts      # Partial edit/write preview projection helpers
│   ├── presets.ts                   # Preset definitions and matching
│   ├── render-utils.ts              # Shared rendering helpers
│   ├── thinking-label.ts            # Thinking label formatting and context sanitization
│   ├── tool-overrides.ts            # Built-in and MCP renderer overrides
│   ├── types.ts                     # Shared config and type definitions
│   ├── user-message-box-markdown.ts # Markdown extraction for user message rendering
│   ├── user-message-box-native.ts   # Native user message box registration
│   ├── user-message-box-patch.ts    # Safe native render patching helpers
│   ├── user-message-box-renderer.ts # User message border renderer
│   ├── user-message-box-utils.ts    # ANSI/background normalization helpers
│   ├── write-display-utils.ts       # Write summary helpers
│   └── zellij-modal.ts              # Modal UI primitives
├── config/
│   └── config.example.json          # Starter config template
└── tests/
    ├── diff-renderer-ansi.test.ts   # ANSI/background handling tests for diff rendering
    ├── diff-renderer-width.test.ts  # Width and background coverage tests for diff rendering
    ├── tool-overrides-registration.test.ts # Tool override registration tests
    └── tool-ui-utils.test.ts        # Utility tests for user message and diff helpers

发展

# Type check
npm run build

# Run tests
npm run test

# Full verification
npm run check

相关Pi扩展

许可证

麻省理工学院

目录标签

目录标签

TypeScript开发工具命令行工具工具渲染本地部署文件差异聊天界面优化编码代理OpenCode风格

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP