第四部分,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。