kaya 通过一组受限的独立工具让 AI 与你的系统交互。每个工具都经过白名单 + 危险模式检测 + 隔离执行 + 输出脱敏四道关卡。
默认 AI 能调用的工具#
- run_shell:在独立子进程里执行 shell 命令(用于查询类操作)
- list_dir:列出目录内容,只看元数据
- probe_env:读取当前系统信息(用户名、OS 版本、磁盘等)
- fetch_url(可选):抓取指定 URL 的内容(用于联网搜索,详见 联网搜索)
- read_file(受限于
~/.kaya/):在可信目录里读取文件正文,详见 让 AI 读取文件
默认不开放的工具#
下面这些操作在任何场景都不会被允许:
- 修改或删除你 Mac 上的文件
- 安装系统级软件(如
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(超过会被截断并标记)