# @xicode/pi-tool-display

面向 Pi coding agent 的工具调用展示扩展，由 `@xicode` 维护和发布。

该包基于 `pi-tool-display`，用于压缩冗长的工具输出、增强文件修改 Diff，并为其他
扩展提供统一的工具展示适配接口。

## 主要能力

- 为 `read`、`grep`、`find`、`ls`、`bash`、`edit` 和 `write` 提供紧凑展示。
- 支持 MCP 与自定义扩展工具的隐藏、摘要和预览模式。
- 为编辑和写入操作提供 unified/split Diff、语法高亮和窄终端适配。
- 在流式工具调用期间展示待应用的编辑、覆盖和创建预览。
- 提供 `opencode`、`balanced` 和 `verbose` 三种预设。
- 支持 Thinking 标签、原生用户消息框和逐工具渲染所有权配置。
- 提供与加载顺序无关的工具展示适配 API。

## 安装

```powershell
pi install npm:@xicode/pi-tool-display
```

## 使用

在 Pi 中打开设置：

```text
/tool-display
```

常用命令：

```text
/tool-display show
/tool-display reset
/tool-display preset opencode
/tool-display preset balanced
/tool-display preset verbose
```

运行时配置文件：

```text
~/.pi/agent/extensions/pi-tool-display/config.json
```

初始配置模板随包发布在 `config/config.example.json`。

## 扩展适配 API

其他扩展可以使用子路径导出接入展示能力：

```ts
import {
  decorateMcpToolForDisplay,
  decorateToolForDisplay,
} from "@xicode/pi-tool-display/tool-display-api-consumer";
```

`decorateToolForDisplay()` 会在运行时 API 可用时立即装饰工具；如果本扩展尚未加载，
装饰请求会进入队列，待 API 注册后应用。

## 发行说明

- Pi 扩展入口为 `dist/extension.js`。
- `tool-display-api-consumer` 作为稳定的子路径导出随包发布。
- 发布包包含配置示例、类型声明和上游许可证。
- 内联的第三方上游代码署名见 `THIRD_PARTY_LICENSES.md`。
- 发布包不包含安装期生命周期脚本。

上游版本、源码位置和本地适配见 [UPSTREAM.md](./UPSTREAM.md)。
