如果让 Kimi Code Desktop 直接在你的项目里改代码,最先要定下来的不是提示词,而是它能碰哪些目录。桌面客户端通常允许绑定一个或多个工作区根目录,AI 的读写动作理论上应落在这个范围内;但“理论上”不等于实际,设置入口、默认权限、静默失败的行为都需要你自己验证一遍。下面这套流程只围绕一件事:把可读写范围划小,再用可复现的方式确认边界确实生效。
建议把 Kimi Code Desktop 的工作区限制在单一项目父目录,并优先关闭自动写入或改成每次确认。修改工作区后需要新开会话,用边界外只读目录测写入、用 git status 看变更范围,两条都通过再放开写权限。任何“它能自动帮我改”的便利,都应建立在目录边界可验证的前提上;不同客户端版本的入口和默认值可能不同,需要结合本地版本确认。
在设置里找到工作区目录绑定项
先确定客户端当前允许访问的根目录,而不是先问 AI 能做什么。设置入口通常在“偏好设置 / 项目设置 / 工作区”这类位置,不同版本可能叫工作目录、项目根目录或 workspace,命名不完全统一,需要结合你安装的版本找。目录选择方式一般是添加文件夹或选择根目录,建议只选一个专门放代码的父目录,例如 ~/work/projects 或 D:\code,不要直接选用户主目录、盘符根目录和 ~/.ssh、~/.config 这类配置目录。
如果客户端支持多个工作区,先只保留一个,减少排查变量。修改目录后,当前对话不一定会立刻切换,通常需要新开会话或重启客户端才生效;有些实现会为每个会话缓存工作区句柄,旧会话仍按旧路径执行。改完先新建一个空对话,再让 AI 报告它看到的工作目录,作为起点确认。
用只读目录测试 AI 能否写入
在边界外建一个测试目录,比如 ~/ai-boundary-test/,里面放一个 outside.txt,内容写“boundary-test”。然后在工作区内开对话,明确要求 AI 修改这个边界外文件,例如:把 ~/ai-boundary-test/outside.txt 的第一行改成“changed”。不要用“帮我整理一下项目”这种模糊指令,否则观察不到边界行为。
接下来观察三种可能结果。第一种是报错或拒绝,提示文件不在工作区、路径不可访问,这通常说明边界在生效。第二种是静默失败,AI 说改了但磁盘内容没变,这种情况要查客户端日志或再次读取文件确认。第三种是写成功,说明当前工作区范围比你以为的大,或者客户端用了绝对路径绕过限制,需要回到设置收紧目录。测试目录本身可写、但客户端仍不写,才更接近“边界生效”的信号。
检查客户端是否提供独立文件写入开关
对话问答和直接改文件是两回事。前者只输出文本,后者会调用写文件动作,有些客户端把两者放在同一个权限开关下,有些则分开。开关位置通常在设置的安全、权限或 Agent 行为区域,名称可能是自动应用更改、允许文件写入、编辑确认等,需要以你本地界面为准。
默认状态因版本而异,有的默认允许写入,有的每次弹确认。建议先把自动写入关掉,或调成每次确认。关闭后的行为变化通常是:AI 仍能读取工作区内容并给出补丁、diff 或整段代码,但不会直接落盘,改不改由你手动决定。这一步值得单独做,因为它把“AI 能不能碰文件”和“AI 生成的代码对不对”拆开,出问题时更容易定位是权限还是内容。
用 git status 观察 AI 修改前后文件变化
先把项目放进版本控制,或者至少对将要改的目录 git init 一次。操作顺序是:改之前记录基线,让 AI 执行一次修改,改完再对比。命令可以用下面几条,在项目根目录执行。
git status `--porcelain`=v1 -uall
git diff `--stat`
git status `--short` -- .
输出解读:行首 ?? 表示未跟踪的新文件,M 表示已修改,A 表示已暂存的新增,D 表示删除。重点看路径是否都落在工作区内;如果出现 ../ 开头的路径、绝对路径,或者你根本没让改的文件也被标记,说明边界没有按预期生效。git status 只覆盖仓库内的文件,仓库外目录不会被它发现,所以前面那个边界外测试目录仍然要单独查。
还要注意几种干扰:monorepo 子项目、submodule、.gitignore 里的忽略项,都会让 status 看起来“少文件”或“多文件”。必要时对具体路径单独跑 git status `--short` -- 路径,或者用 git diff -- 路径 看内容,而不是只看汇总。
记录一套最小权限配置组合
把上面几步的结论固定成一份可复用的组合,大致是:工作区只绑一个项目父目录;关闭自动写入或设为每次确认;如果客户端支持子目录级限制,把写权限收在源码子目录,别放开整个父目录;对 .env、密钥、凭证和系统配置目录保持不可读写。这套组合不追求功能最全,追求的是每次改动能解释清楚。
验证通过标准可以定三条:边界外测试目录没有被写入;git status 里只出现你预期的文件变化;关闭写入开关后 AI 不再直接落盘。三条都满足,再考虑逐步放开某个子目录的写权限。后续调整提醒:新建项目时单独建工作区,不要图省事把主目录加进去;客户端升级后重新跑一次边界外写入测试,因为设置入口和默认权限可能随版本变化。这套边界设置不替代代码审查,它只是让 AI 的动作范围先可见、可查。