Skills-SafeSkills-Safe

Filesystem:读写本地文件,安全边界要划清

让 AI 直接读写你的本地文件——实用,但你要知道它能访问哪些地方

Skills-Safe 编辑部2026-03-20开发效率

适合谁

  • 需要 AI 读取本地文档、配置文件、日志来辅助分析的开发者
  • 写作、整理笔记时希望AI直接操作文件的人(写入、重命名、整理目录结构)
  • 数据处理场景:让 AI 读取 CSV/JSON,处理后写回本地
  • 知道自己想开放哪些目录、愿意花几分钟配置白名单的人

不适合谁

  • 期望"让 AI 可以访问我所有文件"而不设任何限制的人
  • 本地有重要的未备份文件的情况下(先备份再装)
  • 用于处理含密码、API Key、个人敏感信息文件的场景
  • 完全不了解自己机器目录结构的人(AI 操作了你也不知道动了哪里)

3 分钟上手

安装

npx clawhub@latest install filesystem

关键配置:路径白名单

安装后第一件事是配置允许访问的目录:

{
  "filesystem": {
    "allowedPaths": [
      "~/Documents/work-notes",
      "~/projects/my-app/docs"
    ],
    "readOnly": false
  }
}

从最小范围开始,按需扩展。

第一次正确使用

  1. "读取 ~/Documents/work-notes/today.md 的内容" — 确认读取正常
  2. "在 ~/Documents/work-notes/ 创建 test.md,内容是 hello" — 确认写入正常
  3. 删除 test.md,然后再决定是否扩展范围

典型使用场景

场景 1:代码文档自动生成

让 AI 读取你的源代码文件,自动生成或更新 README、API 文档——读完代码直接写入文档文件,不用来回复制粘贴。

场景 2:笔记整理与归类

你有一堆散乱的 Markdown 笔记。让 AI 读取每篇内容,按主题分类,重命名文件,整理到对应子目录——批量操作。

场景 3:配置文件管理

开发时需要频繁修改 .envconfig.json 等配置文件。让 AI 直接读取当前配置、根据你的需求修改,比每次手动打开文件更快。

常见翻车点

  • 覆盖重要文件:让 AI "更新" 一个文件,结果它覆盖了你想保留的内容——写操作前一定要它先告诉你改什么
  • 路径解析错误:相对路径在不同工作目录下可能指向不同位置,AI 不一定知道你的当前目录
  • 编码问题:读取含特殊字符的文件可能导致乱码,写回后文件损坏
  • 忽略 .gitignore 敏感文件:AI 可能把 .env 里的 API Key 包含在它生成的输出中

风险提示

权限风险

  • 文件系统写入:可在白名单路径内创建、修改、删除文件
  • 敏感信息暴露:如果白名单路径包含含密钥的文件,AI 可能读取然后泄露在对话中

使用风险

  • 无法撤销的覆盖:没有内置版本控制,覆盖即永久(除非你有备份)
  • 路径混乱导致误操作:在根目录下操作风险远高于在指定工作目录下

建议

  • 配置白名单前不要开始使用
  • 对重要目录设置 readOnly: true
  • 写操作前养成让 AI 先 preview 改动内容的习惯

相关替代技能

  • Bash:需要更复杂的文件操作(批量处理、权限修改)时用 bash
  • GitHub:如果目标文件在 Git 仓库中,用 GitHub MCP 更有版本保护