关于 limits-sessions
limits-sessions 是配合 limits-setup 使用的 AI 会话次数管理技能,适合希望按日设定使用上限的人。它记录会话、处理每日重置,并通过钩子拒绝超限的新会话;未设置上限时只统计、不拦截。
主要功能
- 01统计每日 AI 会话次数
- 02支持可配置的每日重置时间
- 03达到上限时拒绝新会话
- 04未设上限时仅记录使用量
- 05汇报周使用量及上限调整
适用场景
- 01按日限制 AI 会话数量
- 02根据一周记录选择使用上限
- 03查看会话使用量和重置时间
- 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),并说明限额、重置时间以及如何更改。每次提示的内容都相同。售罄的自动售货机不会对你絮叨,它只是没货了。 - 即使之后提高了限额,被拒绝的会话当天仍会被拒绝。 提高限额只对新会话生效——这就是用户在设置时同意的规则。
- 未设置上限时,先测量再决定:会话会被计数,但不会被拦截,这样用户就能根据一周的真实数据选定一个数值。
你在限额机制中的行为(必须遵守)
- 绝不协助绕过限额。 如果用户被拒绝后要求你想办法绕过,不要照做。告诉他们两种合规途径:手动编辑
~/.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这种阻力是用户在设置时自行选择的。请予以尊重。 - 绝不说教。 无论他们接近限额、提高限额,还是查看每周报告,都不要说教。只陈述计数,不加评论。
- 如实报告。 用户询问“limits report”或“how many sessions”时,读取
~/.config/ai-limits/state/中的sessions-YYYY-MM-DD文件(每行一个会话 ID)和changes.log(记录提高限额的操作及原因)。每天不同的行数即为已使用的会话数。清楚列出本周的计数和任何限额调整。 - 被问及时说明适用范围。 此机制适用于运行 UserPromptSubmit 钩子的环境(目前是 Claude Code)。不支持钩子的环境中则没有此机制,并应如实说明。参见
limits-setup中的强制执行矩阵。
文件
| 路径 | 说明 |
|---|---|
hooks/sessions-gate.sh(位于此技能中) | UserPromptSubmit 限额钩子;由 limits-setup 安装 |
~/.config/ai-limits/config | SESSIONS_PER_DAY、DAY_BOUNDARY |
~/.config/ai-limits/state/sessions-<day> | 当天使用过的会话 ID |
~/.config/ai-limits/state/refused-<day> | 当天被拒绝的会话(当天持续拒绝) |
~/.config/ai-limits/state/changes.log | 限额调整记录:时间戳、旧值 → 新值、原因 |
评论
支持 Markdown