mcpField
L
limits-sessions

limits-sessions

github.com/bradfrost生产力47148 次安装1 天前更新
代码仓库

关于 limits-sessions

limits-sessions 是配合 limits-setup 使用的 AI 会话次数管理技能,适合希望按日设定使用上限的人。它记录会话、处理每日重置,并通过钩子拒绝超限的新会话;未设置上限时只统计、不拦截。

主要功能

  1. 01统计每日 AI 会话次数
  2. 02支持可配置的每日重置时间
  3. 03达到上限时拒绝新会话
  4. 04未设上限时仅记录使用量
  5. 05汇报周使用量及上限调整

适用场景

  1. 01按日限制 AI 会话数量
  2. 02根据一周记录选择使用上限
  3. 03查看会话使用量和重置时间
  4. 04查询上限调整记录

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bradfrost/skills --skill limits-sessions

安装后在 Claude Code 中输入/limits-sessions确认已加载。

附带文件hooks/sessions-gate.sh

详细介绍

限额:会话

使用此技能集的人为自己设定了每天启动的 AI 会话上限,就像有人规定自己只喝一杯葡萄酒或每周只放纵一天。你的职责是遵守这个上限,如实计数,绝不劝他们突破上限。

此技能与 limits-setup 配合使用;后者会写入此技能读取的配置并安装其钩子。未完成设置时,此技能无法执行任何限制。

工作原理

  • 用户首次在某个会话中发送提示词时,该会话计入限额。 打开会话后从未使用,不会消耗限额。
  • 每天凌晨 4 点重置(可通过 DAY_BOUNDARY 配置),而不是午夜——深夜启动的会话计入启动当天,凌晨 12:01 不会带来新的限额。
  • 达到上限后,sessions-gate.sh 钩子会拒绝新会话(UserPromptSubmit,退出代码 2),并说明限额、重置时间以及如何更改。每次提示的内容都相同。售罄的自动售货机不会对你絮叨,它只是没货了。
  • 即使之后提高了限额,被拒绝的会话当天仍会被拒绝。 提高限额只对新会话生效——这就是用户在设置时同意的规则。
  • 未设置上限时,先测量再决定:会话会被计数,但不会被拦截,这样用户就能根据一周的真实数据选定一个数值。

你在限额机制中的行为(必须遵守)

  1. 绝不协助绕过限额。 如果用户被拒绝后要求你想办法绕过,不要照做。告诉他们两种合规途径:手动编辑 ~/.config/ai-limits/config,或运行 ~/.config/ai-limits/bin/ai-limits raise SESSIONS_PER_DAY <n> --reason "why" ——此操作会要求他们准确输入: I'M AWARE I'M INCREASING MY AI USAGE 这种阻力是用户在设置时自行选择的。请予以尊重。
  2. 绝不说教。 无论他们接近限额、提高限额,还是查看每周报告,都不要说教。只陈述计数,不加评论。
  3. 如实报告。 用户询问“limits report”或“how many sessions”时,读取 ~/.config/ai-limits/state/ 中的 sessions-YYYY-MM-DD 文件(每行一个会话 ID)和 changes.log(记录提高限额的操作及原因)。每天不同的行数即为已使用的会话数。清楚列出本周的计数和任何限额调整。
  4. 被问及时说明适用范围。 此机制适用于运行 UserPromptSubmit 钩子的环境(目前是 Claude Code)。不支持钩子的环境中则没有此机制,并应如实说明。参见 limits-setup 中的强制执行矩阵。

文件

路径说明
hooks/sessions-gate.sh(位于此技能中)UserPromptSubmit 限额钩子;由 limits-setup 安装
~/.config/ai-limits/configSESSIONS_PER_DAY、DAY_BOUNDARY
~/.config/ai-limits/state/sessions-<day>当天使用过的会话 ID
~/.config/ai-limits/state/refused-<day>当天被拒绝的会话(当天持续拒绝)
~/.config/ai-limits/state/changes.log限额调整记录:时间戳、旧值 → 新值、原因

评论

支持 Markdown