Skip to content

模型连接、提示词与权限 ​

智能体的任何一层都不是工具定死的。在 Kiki 里,它跑在哪个模型上、从哪份提示词起步、能调用哪些工具、用哪种方式登录,以及它想动手时会发生什么,全都由你来定——可以用文件、用设置,或者用你自己写的一条规则。这一页自下而上走这层栈:智能体文件、提示词覆写、连接与 OAuth、权限模式,以及 hooks。

用 Markdown 定义智能体 ​

每个智能体——主智能体和每个子智能体——都是一份 Markdown 文件。Frontmatter声明它的名字、描述、工具白名单、模型绑定等;正文就是它的系统提示词。profile 不只是工具和权限:它同时还带着这个角色用哪个模型和思考档位、外围的执行设置,以及它从哪份提示词起步。改一个文件,这些一起变,因为它们都写在同一处。

Kiki 按范围发现 profile,范围越具体越优先:显式指定(--agent-file)> 项目 > 额外目录 > 用户 > 内置副本 > 插件。常用位置是仓库里的 <项目>/.kiki/agents/,以及你自己的 $KIKI_HOME/agents/。文件是被监视的:改完约 200 毫秒自动重载,不用重启,新派出去的子智能体立刻用上。已经在跑的会话主智能体仍然绑定它启动时的快照,所以用重建上下文把修改应用进来而不丢掉对话。

你不一定要从零写一个。在应用里新建 profile 时,可以从现有的复制、从内置模板(implementer、reviewer)起,或者从空白开始。$KIKI_HOME/SYSTEM.md 永久覆盖默认主智能体的提示词。

见 Agent profile 概念与设计和 Agent 文件格式。

提示词字段覆写 ​

改一句话不需要 fork 一个 profile。提示词字段覆写替换内置提示词里具名的文本单元——系统段落、某个工具的描述、某条委派提示——可以全局设、按模型设,也可以按智能体设。实用的字段 id 小到 tool.web-search.description。字段值是替换,不做追加或包裹。

kiki prompt-fields 是这件事的只读入口:list 列出字段表,show 看当前值,explain 说明每一层的值来自哪里。桌面版里,设置 → 智能体 → 提示词字段改的是 config.toml 里的同一处。见提示词字段与覆写。

提示词字段覆写,细到单个工具的描述,旁边是模型实际会收到的内容的实时预览。

模型连接与登录复用 ​

设置 → 模型与提供商 → 服务与账号是一份列表,而 Kiki 触达模型的每一种方式都是一个连接——你登录的账号、你持有密钥的托管 API,或这台机器上的一个服务。每个连接是一行,写明它怎么被触达、带的是什么、现在是否可用。怎么认证是这一行自身的事,不是另一张要同步的表。

添加连接只问一个问题:哪个服务、用什么方式。

  • 使用账号登录——这台服务器提供的订阅:Kimi Code、用于 Codex 的 ChatGPT 账号、Grok Build 账号或 GitHub Copilot。已经有连接的账号不会再被提供一次;失效的登录在它自己那一行上恢复。
  • 从目录选择——从 models.dev 里挑一个服务,Kiki 填好地址和模型列表。同一个 id 已存在时会更新那条连接,表单会在你按下之前说明。
  • 自己填写——协议、地址和密钥,给目录里没有的服务,包括本地服务。

账号连接走 OAuth。设备流会给你一个码、一个打开验证页链接、有效期,以及取消登录;这一行的状态词是给人看的:已连接(Kiki 会自行续期)、登录已过期(供应商不再接受它)、登录未完成(你拒绝了、码过期了,或中途失败)、正在等你。登出会结束 Kiki 里这次登录并移除它带来的模型,但不会在供应商那边把你登出。

进行中的设备登录:要在验证页上输入的码、它的有效期,以及取消操作。

复用本机已有的登录是取得 OAuth 凭据的一种方式,不是它的替代品。对 ChatGPT(Codex)和 Grok Build,连接可以直接用它们自己的 App 在这台机器上已有的登录。Kiki 复用并在到期后续期;它不复制凭据,不启动那个 App,在这里登录或登出也不影响那边。顺序是刻意的:先检查本机,报出对面是哪个账号、凭据存在哪里(文件、系统钥匙串还是加密存储),然后才提供使用该登录——它带着刚报给你的那个账号,所以中途被换掉的凭据会被拒绝,而不是被悄悄采纳。本机不可用时,页面会用你能据此行动的说法告诉你原因。

登录完成后,该账号的模型会进入目录。服务与账号才是「现在能用哪些」的权威:展开连接即可查看它的模型列表。见连接。

连接列表:每个连接占一行,它的认证方式就是这一行的一部分。

复用这台机器上已有的登录:找到了什么、它存在哪里,以及采用它的那个操作。

权限模式与审查审批 ​

/permission 在手动、自动、审查和 YOLO 之间切换。默认的自动模式下,日常工具调用直接执行,但敏感文件和指向外部的链接仍会请求审批。手动模式在 shell 命令和工作区外写入前先问,而受信任工作目录内的 Write / Edit 不逐项询问。YOLO 模式跳过敏感文件提示,除非有规则显式拒绝。显式 deny 永远优先,而且任何模式下智能体仍然可以提问。

替我审批的行为和自动模式一样,但会把策略产生的审批请求先交给一个你配置的审查者。显式的 ask 规则仍然直接给你;审查者有把握的决定会连同审查者归属一起记录;没把握或审查者不可用时,回到你平常的审批面板。

Plan 模式是另一根轴:智能体先给出计划,等你确认后才改文件。即使在 YOLO 下退出 Plan 模式也需要确认,自动和「替我审批」是例外——它们的计划退出自动批准,并在记录里标为自动批准。见交互与输入和配置里的权限模式。

生命周期 Hooks ​

Hook 在生命周期事件上跑你的脚本——一次工具调用、一个会话事件、一次子智能体结束。你可以拿它拦下危险的 shell 命令、在消息提交时补充上下文,或者任务跑完时弹通知。Hooks 是配置里的声明式规则,「查看有效规则」能看到当前实际生效的是哪些。

当外部 harness 充当主智能体时,Hooks 同样会运行:此时 Kiki 自己的原生上下文分组通过 MCP 暴露给它,见外部 main agent 的 Kiki 上下文。见 Hooks。

下一步 ​