SuperAPI AI 工具集

cocohealth

办公与效率

查看项目

更新于 10-23 23:07

技能介绍

用途

CocoHealth 是一个上下文利用率监控器,以后台监控程序的形式运行,由 PostToolUse 钩子在每次工具调用后触发。它的目标是防止因上下文窗口饱和而导致的推理质量静默下降。它不会主动与开发者交互,只有在利用率越过阈值时才会给出提示。

主要能力

上下文利用率采样

每次工具调用后,CocoHealth 会尝试从 Coco 的会话 API 采样上下文利用率;如果不可用,则根据 meter/current-session.json 中的累计 token 数近似计算(input_tokens_used / context_window_size)。采样结果会追加写入 .cocoplus/hook-log.jsonl,格式为:{ "event": "cocohealth_sample", "utilization": 0.NN, "timestamp": "..." }。

60% 建议阈值

当某个会话中利用率首次越过 60% 时,会在下一次回复前插入提示:⚠️ Context is 60% full. Consider $pod checkpoint to preserve state before continuing. 这属于软性建议,不会阻塞任何命令。

70% 严重阈值与恢复决策矩阵

当某个会话中利用率首次越过 70% 时,CocoHealth 会评估当前项目状态并给出具体的恢复建议。状态评估包括:运行 git status --porcelain 统计修改文件数与变更行数;运行 git log --oneline -5 检查近期是否有 CocoBrew 阶段提交或 stage 提交;检查 .cocoplus/lifecycle/checkpoint.md 是否存在且在当前会话中写入。

基于这些信息,使用五行决策矩阵给出推荐操作:

  • 无未提交变更、有近期提交、检查点任意:从上次提交恢复,无工作风险,开始新会话。
  • 有未提交变更(少量,<20 行)、近期提交任意、有检查点:提交部分变更并恢复,提交当前状态,在新会话中从检查点恢复。
  • 有未提交变更(大量,≥20 行)、近期提交任意、有检查点:立即运行 $pod checkpoint,然后 $clear + $pod resume。
  • 有未提交变更、无近期提交、无检查点:紧急提交,使用 chore(recovery): emergency state preservation 提交所有修改文件,然后重启。
  • 无未提交变更、无近期提交、无检查点:干净重启,无工作风险,.cocoplus/ 状态文件即为恢复来源。

70% 阈值时的输出格式包含严重警告、恢复建议、状态摘要(未提交变更、近期阶段提交、检查点)以及推荐的下一步命令或操作。

阈值配置

如果存在 .cortex-plugin/plugin.json,可从中读取阈值:cocoHealth.warnThreshold(默认 0.60)和 cocoHealth.criticalThreshold(默认 0.70)。

与 $pod resume 集成

当调用 $pod resume 且 lifecycle/checkpoint.md 存在时,CocoHealth 的检查点数据会包含在恢复摘要中,以便在上下文重置后提供精确的恢复上下文。

使用方式

CocoHealth 作为后台监控程序,由 PostToolUse 钩子自动触发,无需开发者手动调用。开发者只需在收到 60% 或 70% 阈值提示时,按照建议执行相应命令(如 $pod checkpoint、$clear、$pod resume 或 git 提交)即可。

适用场景

适用于长时间运行的开发会话,尤其是使用 Coco 相关工具链(如 CocoBrew、$pod 命令)进行项目开发时,帮助开发者在上下文窗口接近饱和前及时保存状态、提交变更或重启会话,避免推理质量下降。

限制

  • 采样必须不增加 PostToolUse 执行时间超过 5ms;如果采样不可用,则使用 token 计数近似。
  • 阈值警告每个会话每个阈值只显示一次,不会在后续每次工具调用时重复。
  • 70% 矩阵评估作为 shell 脚本由 PostToolUse 钩子读取,目标耗时小于 100ms。
  • 不得阻塞任何操作,CocoHealth 仅提供建议。
  • 不得因上下文利用率高而阻止工具执行;不得在每次后续工具调用时重复阈值警告;不得在会话 API 不可用时失败,应使用 token 计数回退;不得在 PostToolUse 关键路径中运行昂贵分析。