Skip to content

acp_rule 持久规则:状态字段、辅助函数与硬保护(跨仓功能内核侧) #282

Description

@ranxianglei

来源: ranxianglei/billion-context-pi#433 (增接 rule 命令,专门用来记住用户对模型的特别提醒) 分析该跨仓功能时发现——本 issue 为其内核(acp-kernel)侧实现。

需求(来自 billion-context-pi#433)

三仓(billion-context-pi / billion-context / acp-kernel)增加 acp_rule 工具记录持久提醒,以内核为主。内核侧提供:

  1. CompressionState.rules?: RuleRecord[]({id, text}),可选字段,旧持久化状态向后兼容
  2. 辅助函数:listRules / allocateRuleId / addRule / removeRule / clearRules / formatRulesForPrompt;addRule 校验:非空、单条字符上限(默认 300)、总条数上限(默认 50)、相同内容去重
  3. ALWAYS_PROTECTED_TOOLS 增加 "acp_rule" —— 调用+结果默认从压缩范围硬排除(#433 第 1 点「默认保护」)
  4. RULES_USAGE_PROMPT 提示词片段 + RULE_TOOL_NAME / DEFAULT_RULE_LIMITS 常量

功能开关(默认关闭)放在各适配器(pi 的 acp.json / billion-context 三级配置);内核不加新 Config 字段,保护无条件生效(功能关闭时不存在 acp_rule 消息,无副作用)。

验证

  • npm run typecheck 通过
  • tests/rules.test.ts 10/10 通过(含压缩排除保护集成测试)
  • 全量测试套件 748/748 通过

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions