Docs
CONTEXT.md Source

Models and tools

Endpoints, MCP, routines, skills, context, spend.

On this page
  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)

某个端点认的一个补全名字。每个端点有自己的名单和默认,名单上的名字可带选路参考价、可选计费单价、支持的思考等级和擅长领域。选路参考价是应用挑模型时用的相对数;计费单价是 USD / 百万 token,输入和输出一起配,缓存输入可单配,留空沿用输入价。计费单价用于缺实报金额的花费估算;探测模型名单不会自动填单价。用户发消息开一轮时,应用只在 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 卡片底下一行写着模型、思考等级和类别,有反馈、归咎模型、补全失败各有记号;点这一行在卡片下面展开全部,反馈点一下跳回原话。流程图工具条可以把有反馈或复盘归咎模型的卡片点亮、其余变暗,整件事的形状不变。按这件事看而不是按会话看:一件事跨了几条会话,它的选择都在同一张图上。不进主转录,也不展示 token 或花费;本机接口仍可逐会话列出。

Avoid: 路由日志, 单独的模型选择记录页, 会话顶栏上的记录按钮, 进主转录, 塞进当前对话设置, 在这里放花费统计, 把对内容的批评当模型反馈

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 的记忆、最近一段转录(含栅格附件的像素,只取最新的一份额度;带批注的用户消息在正文后面逐条展开每条批注的 id、交给哪个 Bot、路径、位置、引文或裁图和意见(页面和你写的文字折成一行或逐行缩进,冒充不了下一条),裁图和栅格附件花同一份额度、作为像素发给模型,额度用完的裁图只留批注的文字),以及本轮的工具回路。完整历史只存在库里,给你翻、给搜索,不整段塞进模型;判断调用用另一套更短的窗口,不含图。过大的工具结果先把完整 JSON 留在工作区,窗口里只放受限预览和 full_result_path;Bot 可继续用 shell 提取所需字段或解码文件,不把预览截断当作原始结果丢失。

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

花费(Spend)

本机只增不减的调用账本。六类端点调用各记一行:轮次补全、判断、开轮前选路、纠正链复盘、复盘后的每一跳学习、输入建议。选路属于决策路由;复盘与学习跳合为反馈路由;判断单列,输入建议归其他且不归任何 Bot。每行存实际模型、端点、思考等级及写入时的会话和 Bot 名称;删会话、清空历史、删 Bot 都保留,已删除对象用名称快照并标「已删除」,迁移时找不到模型的显示「未记录模型」。token 只用端点 usage,缺了显示「—」。供应商给出 cost_in_usd_ticks 时记实报;没有实报、输入与输出 token 齐全且配置了计费单价时,按当时单价算估算并冻结到这行。缓存输入使用缓存单价(留空沿用输入价,缓存 token 缺了当 0);推理 token 已含在输出里,不重复加。实报与估算分开合计,覆盖不全会说明。信使有独立花费视图:桌面一个窗格标签,窄屏和手机一个浮层,可按时间、模型、会话、Bot 及调用类别筛选、看趋势与逐次明细;明细可跳回触发消息。会话顶栏、列表行、设置和模型选择记录都不放花费数字。时间范围和维度只保存在本机。

Avoid: 预算熔断, 日限额, 自动停机, 把估算当实报或混成一个金额, 用分词器估算缺失 token, 把判断并进轮次, MCP 工具自身账单