第 3 章:让它写文件
学会让 AI 创建和修改文件
第 3 章:让它写文件 ⭐
本章解决什么问题:学会让 AI 创建和修改文件
学习目标:能够用自然语言让 AI 创建新文件、修改现有文件
版本基准:OpenClaw 3.13 前置条件:已完成第 2 章(让它读文件)
📋 实测验证说明:本章所有文件写入示例均经过实测验证,AI 会调用 write 工具实际创建/修改文件。
3.1 创建新文件
这是最常用的功能之一。让 AI 帮你创建文件,快速高效!
基本用法
在 Telegram 中发送:
创建一个 TODO.md 文件,包含 5 个任务
AI 回复(实测):
好的,已创建 TODO.md 文件:
```markdown
# 待办事项
- [ ] 完成项目文档
- [ ] 修复登录 bug
- [ ] review PR #42
- [ ] 准备周会演示
- [ ] 回复客户邮件
文件已保存到当前目录。
> **🔍 实测说明**:实测时间 2026-03-20,AI 调用 write 工具创建文件
> **💡 新手建议**:创建文件时可以指定格式(md/txt/json/js 等),AI 会自动使用合适的格式。
---
## 3.2 不同场景的写文件方式
### 场景一:创建代码文件
**发送**:
创建一个 Python 脚本,功能是计算两个数的和
**AI 回复**(实测):
好的,已创建 add.py 文件:
def add(a, b):
"""计算两个数的和"""
return a + b
# 测试
if __name__ == "__main__":
print(add(3, 5)) # 输出:8
文件已保存,可以直接运行。
### 场景二:创建配置文件
**发送**:
创建一个 package.json,项目名称是 my-app,版本 1.0.0
**AI 回复**(实测):
好的,已创建 package.json 文件:
{
"name": "my-app",
"version": "1.0.0",
"description": "My Application",
"main": "index.js",
"scripts": {
"start": "node index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
文件已保存。
### 场景三:修改现有文件
**发送**:
在 TODO.md 里添加一个新任务:学习 OpenClaw
**AI 回复**(实测):
好的,已更新 TODO.md:
添加了新任务:
- 学习 OpenClaw
当前文件共有 6 个待办事项。
### 场景四:批量创建文件
**发送**:
创建一个简单的 React 项目结构,包含 App.js、index.js 和 index.html
**AI 回复**(实测):
好的,已创建 3 个文件:
- App.js - React 主组件
- index.js - 入口文件
- index.html - HTML 模板
文件结构:
src/
App.js
index.js
public/
index.html
每个文件都包含了基础模板代码。
---
## 3.3 高级用法
### 根据模板创建文件
**发送**:
按照这个格式创建一个 README.md:项目简介、安装步骤、使用方法
**AI 回复**(实测):
好的,已创建 README.md 文件:
# 项目名称
## 项目简介
这是一个 XXX 项目,用于...
## 安装步骤
```bash
npm install
使用方法
npm start
文件已保存,你可以根据实际情况修改内容。
创建带内容的复杂文件
发送:
创建一个完整的 HTML 页面,包含导航栏、内容区和页脚
AI 回复(实测):
好的,已创建 index.html 文件:
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>我的网站</title>
<style>
body { font-family: Arial, sans-serif; margin: 0; }
nav { background: #333; color: white; padding: 1rem; }
main { padding: 2rem; }
footer { background: #333; color: white; text-align: center; padding: 1rem; }
</style>
</head>
<body>
<nav>导航栏</nav>
<main>内容区</main>
<footer>页脚</footer>
</body>
</html>
文件已保存,可以用浏览器打开查看效果。
### 创建并初始化 Git 仓库
**发送**:
初始化一个 Git 仓库,并创建.gitignore 文件(忽略 node_modules)
**AI 回复**(实测):
好的,已完成:
- 执行
git init初始化仓库 - 创建 .gitignore 文件,内容:
node_modules/
.DS_Store
*.log
Git 仓库已就绪,可以开始提交代码了。
> **⚠️ 注意**:这个操作需要 AI 有 exec 权限来执行 git 命令。
---
## 3.4 练习时间
### 练习 1:创建简单文件
**发送**:
创建一个 notes.txt 文件,写上"这是我的笔记"
观察 AI 如何创建文件。
### 练习 2:创建代码文件
**发送**:
创建一个 JavaScript 函数文件,函数名是 greet,参数是 name,返回问候语
练习让 AI 创建代码文件。
### 练习 3:修改文件
**发送**:
在 notes.txt 里添加一行"今天学习了 OpenClaw"
练习让 AI 修改现有文件。
---
## 3.5 常见问题
### Q1:AI 能创建哪些格式的文件?
**AI 可以创建**:
- ✅ 文本文件:.txt, .md, .json, .js, .py, 等
- ✅ 代码文件:几乎所有编程语言
- ✅ 配置文件:.yaml, .toml, .ini, 等
- ✅ 网页文件:.html, .css
**AI 不能创建**:
- ❌ 二进制文件:.exe, .dll, .so
- ❌ 需要特殊工具的文件:.psd, .ai
### Q2:AI 会在哪里创建文件?
**默认位置**:当前工作目录(workspace)
**指定位置**:可以在请求中说明路径
**示例**:
在 docs/ 目录下创建 README.md
### Q3:AI 修改文件会覆盖原内容吗?
**看情况**:
- 如果是"添加内容"→ 追加到末尾
- 如果是"修改某处"→ 只改指定位置
- 如果是"重写"→ 覆盖全部内容
**建议**:明确说明你的需求
**示例**:
在文件末尾添加... 把第 3 行改成... 重写整个文件...
### Q4:文件写错了怎么办?
**解决方案**:
- 让 AI 撤销修改(如果有版本控制)
- 让 AI 重新写入正确内容
- 手动恢复备份
**建议**:重要文件先备份,再让 AI 修改
---
## ✅ 你已解锁能力
| 能力 | 状态 |
|------|------|
| 让 AI 创建新文件 | ✅ 已掌握 |
| 让 AI 创建代码文件 | ✅ 已掌握 |
| 让 AI 修改现有文件 | ✅ 已掌握 |
| 让 AI 批量创建文件 | ✅ 已掌握 |
---
## 📊 自测题(3 题)
### 1. 如何让 AI 在指定目录创建文件?
**答案**:在请求中说明路径,如"在 docs/ 目录下创建 README.md"
### 2. AI 修改文件时,如何避免覆盖原内容?
**答案**:明确说明"添加内容"或"修改某处",而不是"重写"
### 3. 如果想批量创建多个文件,应该怎么问?
**答案**:列出所有需要创建的文件,如"创建 App.js、index.js 和 index.html"
---
## 🎯 下一章预告
第 4 章:让它执行命令
你将学会:
- 让 AI 执行 shell 命令
- 查看命令输出
- 理解命令执行的安全限制
**提前试试**:
执行 ls -la 命令,看看当前目录有哪些文件
> 本文由郭峰主导,基于 GPT-5.4、OpenClaw Agent 完成,并经人工审校定稿。
---
> **课后练习**(可选)
> 1. 让 AI 创建一个简单的文本文件
> 2. 让 AI 创建一个代码文件
> 3. 让 AI 修改刚才创建的文件
>
> 有任何问题,随时在群里提问! 🚀