文档
CONTEXT.md 源文件

模型与工具

端点、MCP、日程、技能、上下文与花费。

本页
  1. 端点(Model endpoint)
  2. 模型(Model)
  3. 模型选择记录(Model choice log)
  4. MCP
  5. 向导
  6. 日程(Routine)
  7. 技能(Skill)
  8. 记忆(Memory)
  9. 补全(Completion)
  10. 上下文窗(Context window)
  11. 花费(Spend)

端点(Model endpoint)

一个 OpenAI 兼容的 HTTP 接口(base URL + API key)。应用不自带模型。可以配置多个端点;其中一个是默认。补全打到模型所属的那个端点。你在设置里加,Bot 也能用工具加。新建或改已有 URL 是危险动作。默认端点不能改 URL / 密钥 / 删除。

Avoid: 供应商目录, Binder, 晚绑定, 每 Bot 一套端点

模型(Model)

某个端点认的一个补全名字。每个端点有自己的名单和默认,名单上的名字可带价格、支持的思考等级和擅长领域(价格只给应用挑模型用,不进花费)。用户发消息开一轮时,应用只在 Bot 钉的端点(没钉端点就是默认端点)的名单里选模型和思考等级,不会因为设置里多了一个端点就把它的模型算进别的 Bot;Bot 钉了仍在名单上的名字则模型名受约束,钉的名字只在别的端点上时照钉的用。Bot 也可以钉思考等级(补全的 reasoning_effort):档名以该模型名单为准(常见 none / low / medium / high,端点广告了还会有 xhigh、max 等)。探测 /models 时若对象带了思考档就自动写进该模型的 thinking_levels,设置里仍可手改。思考等级和模型一起钉,不单独存在:要么两个都不钉、模型和等级都由应用每条消息挑,要么钉一个模型并同时定下它的等级。钉模型时没给等级就落到该模型的默认档(应用对普通消息的偏好顺序);换成不支持原档的模型会落到新模型的默认档;清掉模型一并清掉等级;没钉模型却给等级会被拒。你在 Bot 面板里点一下就能改,Bot 也能用工具改自己的。空钉不是「永远用端点默认模型」,而是应用可从该端点名单里挑;要用别的端点必须显式钉端点。谁来挑:每开一轮先由 agent 挑一次,它看这条消息、这个 Bot 的人设、候选名单和这个 Bot 最近的复盘结论,答出模型、思考等级和一句理由;它自己固定跑在默认端点的默认模型上,答不出或答了不存在的东西就落回规则兜底,不让用户卡在选路上。用户后续说的每一句都原样留着(不按关键词筛),落在被引用的那一轮、@ 的那个 Bot 最近的一轮,或会话里最近可见的一轮上;连着围绕同一件事的若干轮算一条纠正链。链结束时(换了话题或静默一段时间)复盘一次:这到底是模型不行、事情本身难、还是需求没说清,只有判成模型不行才留成这个 Bot 的经验,并说明该往更强 / 更轻 / 更快 / 更便宜哪个方向调。留下的是结论不是分数,没有权重、抵扣和封顶;经验归 Bot 自己,删除 Bot 一并删掉。每轮选了什么、怎么结束、收到哪些反馈都留有记录。用户不每轮自选。判断调用和轮次补全用同一个解析结果。

Avoid: 供应商目录, 判断用另一个名字, 每轮自选, 思考等级永远只由应用选, 不钉模型只钉思考等级, 钉了模型却不定思考等级, 名册级共享的路由经验, 用关键词认模型反馈, 一句话就把一个模型永久钉死, 把选模型做成打分公式

模型选择记录(Model choice log)

会话顶栏单独打开的浮层,倒序列出这个会话每轮的模型选择:哪个 Bot、开轮时挑的模型和思考等级、这条消息算哪类、这轮怎么结束(补全失败带失败种类),以及后来落在这一轮上的模型反馈。可按结果、Bot、模型、消息类别筛,也可只看有模型反馈或复盘归咎模型的轮次;点一行跳回触发消息。自己一屏、自己滚动,不塞进当前对话设置——一个跑了几百轮的群会把设置面板撑没;只画看得见的那几行,其余留空位。不进主转录,也不展示 token 或花费。

Avoid: 路由日志, 进主转录, 塞进当前对话设置, 一次把几百轮都铺进 DOM, 在这里放花费统计, 把对内容的批评当模型反馈

MCP

名册级服务器:stdio(command / args)或 HTTP / Streamable HTTP(url + 可选 headers)。所有 Bot 都能调已配工具。你在设置里加,Bot 也能用工具增删改。新增或改 command·args / url / headers 是危险动作。HTTP 的 Authorization 在批准卡上贴,进钥匙串,不进工具参数。删除 MCP 不是危险动作。应用记下服务器自带的用法说明;你或 Bot 还可给每台服务器写一条用法备注(做什么、何时用、何时不用),进每一跳的「本轮 MCP」段并排在服务器自带说明前面,服务器说明够用时留空即可。改备注不是危险动作,改连接也不清掉它。已启用且连接成功的服务器全部工具对所有 Bot、私聊、群和日程持续可用,不按消息关键词或语言筛掉。新增、修改或重新启用后,当前轮次下一跳及其他 Bot 的后续补全即可使用;停用或删除后不可再调用。

Avoid: 每 Bot 一套 MCP, 把 Bot 当工具权限边界, 按关键词隐藏已配能力, 只在安装当轮可用, 只认 stdio, 手改服务器自带的 instructions

向导

设置的空态:工作区路径、端点 URL、已有密钥齐了即完成。没有单独路由;滑出只盖侧栏,不抢主转录。

Avoid: /setup, 全屏 onboarding, 把设置做成主转录

日程(Routine)

挂在某个 Bot 上、按日历触发的重复工作。v1 只有日程,没有事件触发。

Avoid: cron 作业(对外不说), skill 包自动化

技能(Skill)

挂在某个 Bot 上的一条具名工序:短说明(何时用)+ Markdown 正文(怎么干)。只属于该 Bot,不是名册共享,不是工作区文件,也不是 MCP。启用中的技能以目录形式进入该 Bot 每一跳的 system;正文按需用工具读进本轮回路。技能是工序,MCP 是能力:Bot 先看技能目录,命中就读正文照做,正文点到的 MCP 工具按名调用;没有命中的技能才直接从「本轮 MCP」段挑工具。技能不新增工具,也不替代 MCP。技能可声明正文依赖的 MCP 服务器名;本轮未连接的会在目录里标出,正文照做不了时直说或提问,不拿别的工具凑。读正文时,正文里写的 mcp_ 工具名若不在本轮工具里会被标出来,Bot 按「本轮 MCP」段找现名并改正文。Bot 可用工具增删改自己的技能,你也可在人设里改;改完不插转录条。技能不能取消批准、不能新增工具、不能把工作区外当成区内。

Avoid: skill 包, /skill, plugin, 工作流, 把人设当工序, 名册级共享技能, 按关键词自动塞正文

记忆(Memory)

某个 Bot 自己记下的一条跨会话仍然成立的事实:一个主题 + 一句结论。只属于该 Bot,别的 Bot 看不到,删除 Bot 一并删掉,归档保留。Bot 用工具自己写,不是后台替它蒸馏,也不是把转录摘要进人设;启用中的全部记忆进入该 Bot 每一跳的 system,没有检索、没有相关度排序。记忆是以前的结论,不是事实来源:与本轮转录冲突时以转录为准,不再成立就改掉或删掉。同一个主题再记一次是覆盖,不并列第二条。条数有上限,满了要 Bot 自己先取舍,不静默挤掉。你能看、能改、能停用、能删,但不替 Bot 新建;每条都带记下它的那条消息,可跳回去。三者分工:人设是你是谁,技能是怎么做,记忆是你学到了什么。

Avoid: 检索式记忆, 向量库, 原始转录回灌, 后台蒸馏器, 把记忆当事实来源, 跨 Bot 共享记忆, 用户手动新建记忆, 无上限的记忆目录

补全(Completion)

一轮里对端点的一次 HTTP Chat Completions(流式)。一轮的工具回路可以有多次补全。补全失败不是中断,也不回放历史工具。

Avoid: 把一次补全当成一轮, 把补全超时当中断

上下文窗(Context window)

一轮里模型实际看到的:人设、启用中的技能目录、系统指令、本轮 MCP、这个 Bot 的记忆、最近一段转录(含栅格附件的像素),以及本轮的工具回路。完整历史只存在库里,给你翻、给搜索,不整段塞进模型;判断调用用另一套更短的窗口,不含图。过大的工具结果先把完整 JSON 留在工作区,窗口里只放受限预览和 full_result_path;Bot 可继续用 shell 提取所需字段或解码文件,不把预览截断当作原始结果丢失。

Avoid: 自动摘要进人设, 语义检索记忆层, 后台蒸馏器, 按 token 估算, 把历史轮次的工具结果再喂进去

花费(Spend)

端点 usage 原样记下的 token / 费用。一轮里每次补全一行;判断调用另记一行,不是轮次。后台保留记录,信使不展示统计、不自动停机;没有 usage 就保留缺失值,不估算、不乘单价。金额只在供应商给出 cost_in_usd_ticks 时记录。

Avoid: 预算熔断, 日限额, 自己乘单价, 缺 usage 时估算, 把判断并进轮次