跳到主要内容
文档/kaya/工具能力
10/21

kaya 通过一组受限的独立工具让 AI 与你的系统交互。每个工具都经过输入保护 + 命令白名单 + 危险模式检测 + 隔离执行 + 输出脱敏五道关卡。

AI 可调用的工具#

AI 侧共 9 个工具:

  • run_shell:在独立子进程里执行 shell 命令(用于查询类操作)
  • list_dir:列出目录内容,只看元数据
  • probe_env:读取当前系统信息(用户名、OS 版本、磁盘等)
  • terminal_read:读取终端当前输出(便于让 AI 解释一段报错)
  • terminal_write:向 tab 里运行的编程 agent 写入输入——只在 coding 模式开关打开、且该 tab 经授权卡明确允许时才可用;默认不注册,详见 编程 Agent 总控
  • task_list:只读查看你的任务清单(详见下文「任务清单」)
  • agent_config:修改编程 agent 的配置文件——每一次修改都必须经你在授权卡片上明确允许才会落盘,授权只对当前会话有效
  • tavily_search / tavily_extract(可选):联网搜索与网页内容抓取,需在设置里填入 Tavily API Key 后启用,详见 联网搜索

读取 ~/.kaya/ 可信目录下的文件正文通过 run_shell 里的受控读取命令(如 cat / head)完成,详见 让 AI 读取文件。

默认不开放的工具#

下面这些操作在任何场景都不会被允许:

  • 修改或删除你电脑上的文件
  • 安装系统级软件(如 brew install)
  • 修改系统配置或环境变量
  • 访问 ~/.kaya/ 之外的任意文件正文
  • 在你的 PTY 里跑交互式程序(vim、REPL 等)

命令白名单与拒绝#

AI 发起的命令会先经过能力策略检查:命令在白名单之外一律不放行,返回结构化错误给 AI,AI 收到错误后可以换种方式重试。

危险模式会被单独识别:

  • DANGEROUS:rm -rf、磁盘格式化、mkfs、dd if= 等
  • REPL:vim / less / python / node / irb 等会进入交互的命令
  • OPERATION:sudo、brew install、kill 等敏感操作

具体某个命令被拒绝时,UI 上会显示原因;你也可以换个问法让 AI 改用等价工具。

隔离执行#

AI 触发的命令由 kaya 独立 spawn 的子进程执行,不经过你的 PTY,不影响你正在进行的终端工作。

  • 默认 8 秒超时
  • 输出上限 100KB(超过会被截断并标记)

任务清单(Task)#

kaya 内置一个轻量任务清单,帮你和 AI 一起跟踪要做的事:

  • 顶栏的待办开关打开 任务面板,可以查看、勾选、管理当前任务
  • 在对话里用「添加任务 …」「删除任务 …」「清空任务清单」这类固定指令可直接管理清单:这类指令由客户端本地识别并执行,不经 LLM;自由表述(如「帮我把买牛奶标记为完成」)不会被识别为指令,会作为普通消息发给 AI。「提炼任务」指令则让 AI 草拟任务、经你确认后入清单
  • AI 侧只有一个只读工具(task_list,查看任务清单),用来对齐上下文——它不能替你改动清单

下一步#