omp packages

@duanz/pi-d-live1.1.0

把模型思考与工具调用实时改写成内心独白,推到 pi-web 界面顶部浮层

duanz Published 23 hours ago MIT ~237 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

d-live

English | 中文

d-live cover

把模型的思考和工具调用,实时改写成页面顶部的进度播报
本地 SSE · 按句切段 · 多会话隔离 · 不占终端

npm license GitHub pi extension

pi install npm:@duanz/pi-d-live

它解决什么

长任务里,屏幕上只有一个转圈的 spinner 和一串英文工具名。用户在等,却不知道这件事推进到哪了、下一步往哪走。

d-live 把 agent 事件(thinking_delta、tool_execution_start)按句切段,用当前会话的模型改写成 3–6 句日常话,推到 pi-web 页面顶部的浮层条里播。

数据流

pi agent 事件 → 按句切段 → ctx.modelRegistry.complete() 改写 → 本地 SSE(127.0.0.1:18999/live) → 前端浮层
  • 切段:至少 70 字才允许按句号切,硬上限 300 字;队列上限 4 段,超了丢新段,保证实时性
  • 改写:单次硬超时 12 秒;不写文件名、函数名、端口、路径
  • 隔离:每条推送带 sid,前端只播当前会话的
  • 工具行先用零延迟规则占位(read → 「看一眼」),随后由模型改写成「在哪找什么、为了什么」,慢一点但更具体
  • emoji 不强制、不固定:模型按内容自己决定放哪、放几个,前端不补也不挪位置

用法

/d-live on        # 开启(/live 是兼容别名)
/d-live off       # 关闭
/d-live status    # 看当前状态

本地端点:GET /live(SSE)、GET /health、GET /ping。

前置条件

浮层是前端代码,需要 pi-web 侧注入:cn-assets/d-live.js 由 patches.json 以 inline 方式注进 public/sw.js,由 pi-web-patch-keeper 在 pi-web 升级后重放。

没有这层注入时,扩展的 SSE 服务照常工作,只是页面上看不到浮层。

限制

  • 每段改写都消耗当前模型 token(实测每段约 2 秒),任务极多时可 /d-live off。
  • 只面向 pi-web;纯 CLI 没有注入点。

License

MIT © DuanZ