开源项目› 会中辅助› 架构与设计
架构与设计 · 04

架构与设计取舍

约 2 分钟阅读 Apache-2.0 本文基于 v0.1.0(2026-11-01)

这一篇解释为什么这样做,不是怎么做。

01为什么判定全用规则

会议现场的提示卡错不起:错一次,你就把它关了。规则的三条收益:

  • 可解释:每张卡都说得出为什么出(命中哪条、强度多少、证据是谁)。
  • 可复现:同一句输入,毫秒级、结果一致——没有模型的随机性。
  • 可移植:零依赖纯 Python,嵌进别人的会议工具只需要一个函数调用。

什么时候才该引入模型?语义理解、立场推断、多轮策略——这些属于另一条线,QuickCue 刻意不碰。它只做「当场接得住」这一件事。

02零依赖是硬边界

判定内核(core/py/quickcue_engine.py)只用 Python 标准库,pip install 都不需要。依赖清单见 THIRD_PARTY_LICENSES.md——当前为零。这意味着:没有供应链风险面,断网可用,任何有 Python 3.10 的机器都能跑。

03引擎、规则包、宿主壳三层

text
quickcue/(会中辅助仓)  core/(判定引擎,纯规则)── packs/meeting/(会中辅助包)
                        hosts/mcp/meeting_server.py(Python stdio 壳)
recoscan/(项目体检仓)  core/js/(体检引擎)────── packs/project/(体检包)
                        hosts/mcp/project_server.mjs(Node 18+ stdio 壳)

引擎不含任何宿主逻辑;壳只做 stdio 协议转发,不含判断逻辑。想让别的宿主用,再写一个壳就行——这是开源版最希望别人来做的事。

04闸为什么这么严

全局冷却 60 秒 / 同型冷却 180 秒 / 场均上限 12 张——三个默认值写在引擎里。设计立场:一个会打扰人的助手,第二次会议就会被关掉。宁可少提示,不可刷屏。所有参数都可以在规则文件里改,但默认值刻意保守。

05你的数据留在哪

卡片评价与改动记录保存在本地 .quickcue/ 目录(位置可用环境变量覆盖),改动只含规则结构与参数,不含你的话术原文与业务内容。反馈 SDK 默认关闭;即使开启,上行动作发生前脱敏先在你本机完成,原文永不出本机。删除 .quickcue/(两仓同名)即清除全部派生数据。

06明确不做的三件事

  • 不比转写精度:转写是输入,不是卖点。
  • 不做会后复盘、跨会议记忆:那是另一类工具的事。
  • 不做语义理解与多轮策略:要靠模型,QuickCue 零模型调用。