工具面

出厂为什么只开 13 个工具

不是保守,也不是功能没做完。

现在是这样的

KIP 出厂有 48 个工具,但默认只注册其中 13 个。剩下的 35 个不是缺失,是刻意没通电——「默认关闭 ⇒ 工具不出现在注册表」本身就是安全设计。

工具面越大,可以被诱导的路径就越多。一个模型在工具清单里看不到的能力,无论怎么被提示词引导都调不到。先把默认值收窄、再让你逐项显式开启,比事后补审计要便宜得多。

三档预设

把 20 个开关全丢给用户去翻配置,是一种偷懒。KIP 把它们收敛成三档,并且让预设成为默认值的来源,而不是替你改设置。

档位面向相对上一档新增
安全档 safe(默认)首次安装、有合规限制与出厂行为逐位一致
标准档 standard(推荐)多数新用户联网工具 · OCR · 本地记忆 · 桌面自动化
开发档 developer工程用户LSP · 浏览器自动化 · 多代理编排 · 沙箱强制执行

为什么这样分档

  • 联网工具会把查询词和页面内容带出本机,返回体也不可信。安全档要求纯本地,所以排除。打开开关只是「注册工具」,安全模式与 SSRF 策略仍然叠加生效。
  • 桌面自动化 8 个工具能真实操作鼠标键盘,影响面大,所以安全档排除。标准档开启后默认走 background 模式,不抢焦点,每个动作仍逐一过守卫。
  • LSP 会拉起本机语言服务器进程(外部可执行文件),要额外安装并在配置里登记命令。标准档排除,避免新用户看到「已启用、依赖缺失」。
  • 浏览器自动化要额外装 Playwright,而且浏览器会独立再解析一次 DNS。开发档开启,并使用隔离临时 profile,绝不复用你浏览器的凭据。
  • 多代理编排会派生 subagent,显著放大执行预算与审计面,所以只在开发档。
  • 沙箱需要你先提供固定镜像 digest,属于部署决策,不是默认体验。

三条不可动摇的约束

  1. 预设只是默认值来源,只填空缺。 你把某个开关显式写成 false,与「从没写过这个键」是两回事——前者必须被尊重,否则开关就关不掉了。这一点由测试拿真实的示例配置对照锁定:安全档与出厂行为必须逐位一致,有人改了预设却忘了同步示例配置,测试立刻失败。
  2. 未知档位必须被拒绝,不静默回退。 否则用户以为选了开发档、实际拿到安全档,那是欺骗而不是容错。
  3. 切档只写一个键。 接口只接受 preset 与 confirmation 两个字段,夹带其它字段一律 400——防止有人借切档顺带改写 security_mode 之类的安全开关。

有四个开关,任何档位都不默认打开

MCP、文档生成、上下文压缩、模型重写上下文。它们的共同点是必须先有你提供的本机资源才能工作:MCP 服务器清单、文档生成解释器路径、压缩运行时、压缩收益判据。

把它们放进任何档位的默认值,只会让你看到「已启用但依赖缺失」的红色状态。那是噪音,不是能力。它们仍然可以通过配置或设置页显式打开。

一句话

默认值是产品的一部分。把「该关的关掉」做进出厂设置,比写一段「请注意安全」的提示有用得多。


这篇讲的是权限设计的一部分。回文章列表,或回首页看整体。