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