ccch1mneyyy/working-activity

Lively Working-line extension for pi CLI and DSH

working‑activity

它是什么 – 一对开源扩展,为两个不同的 AI 代理平台添加 实时“工作活动”状态行:

  • pi‑CLI (pi-working-activity)
  • DeepSeek Harness (DSH) (dsh-working-activity)

两个版本共享相同的理念:当 LLM 驱动的编码助手正在思考或运行工具时,终端 / Web UI / 桌面 GUI 中会显示一行紧凑的信息,告诉你 代理正在做什么、运行了多长时间、进度百分比、令牌使用量、成本以及一些有趣的提示消息。


为什么重要

基于 LLM 的编码代理通常花费大量时间“思考”或调用外部工具(例如 git pull、npm install、模型权重下载)。如果没有反馈,用户只能看着一个无声的旋转指示器,不知道代理是仍在工作、卡住了还是已完成。working‑activity 填补了这一空白,提供:

  • 实时工具执行更新(开始、进度、结束)
  • 模型自我叙述 – 代理会写一行简短的“我正在做……”并立即显示。
  • 上下文使用警告,让你知道何时接近模型的令牌限制。
  • 每轮的成本和令牌统计,帮助你控制预算。
  • 可选的趣味元素(动画帧、随机短语、节日彩蛋),可以关闭以获得极简 UI。

因此,该项目为在 pi 或 DeepSeek 平台上构建或使用 LLM 驱动编码代理的任何人提高了透明度、人体工程学和预算意识。


核心功能(pi 版本 – README 对此侧最详细)

功能 你看到的内容 工作原理
实时工具活动 翻翻 src/index.ts / 跑命令 npm run build 监听代理发出的 tool_execution_start / tool_execution_end 事件。
工具进度 拉取模型权重 · 42% · 8s 解析 tool_execution_update 中的百分比/阶段字段;否则回退到已用时间。
快速工具队列 非常短的工具(<1.5 秒)仍会显示约 1 秒。 将快速工具排队,以便用户看到它们。
思考短语池 随机短中文短语每约 2.6 秒变化一次。 95 个预写短语;更长的思考阈值会添加特殊消息。
稀有视觉彩蛋 颜色变化的动画文本大约每 6‑7 分钟出现一次。 1/150 概率,四层 CSS 效果。
模型自我叙述 ⏵ 查一下报错原因 出现在行中。 扩展注入系统提示规则(⏵ … ≤20 字)。解析模型流式输出中的标记。
计时与总结 搞定 ✓ · 4 工具 · 想3s 干2s 以及最终成本行。 跟踪开始/结束时间戳,按轮次和会话聚合。
上下文使用警告 ⚠ 上下文85% 在超过阈值时变为黄色/红色。 每 3 秒检查 session_compact 使用情况;阈值可配置。
连击和慢工具标签 多个快速工具时显示 火力全开×5;超过 30 秒的工具显示 这个有点慢 ·。 对连续工具事件进行简单计数。
剩余时间估计 拉取模型权重 · 42% · 还剩~11s 使用已用时间和报告的百分比进行外推。
Git 分支显示 拉代码 · main · 3s 检测与 git 相关的命令并查询当前分支。
时间感知短语 夜间、周末、节日消息。 检查本地时钟和内置节日列表。
动画帧 /activity frames moon 更改装饰动画。 28 个内置帧预设;random 每轮选择。
失败消息 翻车了 · 读文件 config.json ✗ 随机短失败字符串替换普通的“✗”。
子代理计数 并行子代理运行时显示 小弟×3。
每秒令牌估计 ~42 tok/s(可选) 粗略计算流式增量中的字符数。
自定义工具映射 用户为自定义工具定义动词短语。
交互式设置面板 /activity settings 打开可搜索的 UI 以切换任何功能。
医生命令 /activity doctor 验证配置、主题和动画数据。
模式切换 minimal(仅基本信息)vs lively(完整趣味 UI)。

以上所有功能都可以通过 /activity 命令套件或编辑 ~/.pi/agent/working-activity.json 进行切换。


DeepSeek Harness (DSH) 版本

DSH 插件镜像了 pi 的功能,但打包为 Cordis 主机插件(dsh-working-activity)。它发布一个 workingActivity 投影,由三个前端消费:

  • TUI (dsh‑tui)
  • Web UI(客户端包)
  • 桌面 GUI(基于 React)

主要区别:

  • 没有工具进度百分比(DSH 不发出这些)。
  • 状态行作为投影发出,而不是直接输出到终端。
  • 可选的 publish: true 写入轻量级日志记录以供回放;否则该行仅保留在内存中。
  • 为多个 DSH 主机版本(0.1.x‑alpha、0.2.x‑rc)提供兼容层。

配置键与 pi 版本类似(帧、叙述、上下文阈值等),并存储在配置文件的插件配置中。


开始使用

pi‑CLI

pi install npm:pi-working-activity
# 配置文件创建于 ~/.pi/agent/working-activity.json
# 在代理聊天中使用 /activity 命令套件进行控制

DeepSeek Harness

# 将插件添加到配置文件
dsh plugin --profile <profile> add dsh-working-activity
# 插件自动挂载;无需额外步骤

两种安装方式:pi 为零构建(直接加载 TypeScript 源码),DSH 为常规 npm 发布。


配置(摘录)

{
  "frames": "moon",
  "narrate": true,
  "contextWarnAt": 80,
  "contextDangerAt": 95,
  "showTokPerSec": false,
  "workRemindAt": 3,
  "customPhrases": [],
  "customActions": {"my_deploy": ["部署一下", "上线中"]},
  "mode": "lively",
  "features": {"rareEggs": true, "shimmer": "auto"}
}

所有键都在 README 中有文档说明;可以手动编辑或通过交互式 /activity settings UI 进行编辑。


谁可能使用这个?

  • 在 pi 或 DeepSeek 平台上构建编码助手的开发者,希望立即获得工具使用和模型推理的视觉反馈。
  • 运行长时间工具链(模型下载、构建、部署)的高级用户,需要进度、成本和令牌使用可见性。
  • 关注令牌预算的团队 – 每轮成本行有助于保持 LLM 费用的透明度。
  • 喜欢一点个性的任何人 – 可选的动画帧、节日消息和随机短语增添了轻松的感觉,而不影响核心功能。

许可证

  • 核心仓库(pi 版本和文档):MIT
  • DSH 插件包:BSD‑3‑Clause

以上所有信息直接取自仓库的 README;没有添加外部假设。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch