第四部分,Extensions 开发

自定义 UI 与 TUI 组件

用 dialogs、widgets、status、footer、custom editor 和 renderer 扩展 Pi 终端界面。

Extension UI 能力

ctx.ui 可以显示通知、选择器、确认框和输入框。扩展还能在编辑器上方或下方放置 widget,设置 status,替换 footer 或临时使用自定义 editor。

自定义界面必须在 interactive 模式与无 UI 模式之间做能力判断。RPC、JSON 和 print 模式不能假设终端组件存在。

  • 用 ctx.hasUI 判断是否有交互界面。
  • 长操作提供取消和进度。
  • 重绘只更新变化区域。
  • 主题颜色从当前 Theme 获取。
  • 错误始终有文本回退。

自定义渲染

扩展可为 custom message 和 Session entry 注册 renderer。渲染器只负责展示,持久数据应使用稳定 schema。

复杂组件直接使用 @earendil-works/pi-tui,并遵循焦点、宽度和 invalidation 规则。

官方资料

本页由 xueai 根据 Pi 官方资料用中文重新组织和讲解。Pi 更新频繁,命令、包名和接口以官方最新文档为准。

Pi 源代码和官方文档采用 MIT License。Copyright (c) 2025 Mario Zechner。本站保留原版权与许可声明,完整文本见 MIT License