From 95fc27db43718a14cef6ec33140b37505ea4d57d Mon Sep 17 00:00:00 2001 From: chinadoiphin Date: Tue, 16 Dec 2025 20:42:54 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=AE=8C=E5=96=84=20README=20=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=89=A7=E8=A1=8C=E6=A8=A1=E5=BC=8F=E5=92=8C=20Tool?= =?UTF-8?q?=20Use=20=E5=8D=8F=E8=AE=AE=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.md | 1 - README.md | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 1 deletion(-) delete mode 100644 1.md diff --git a/1.md b/1.md deleted file mode 100644 index 7cc86ad..0000000 --- a/1.md +++ /dev/null @@ -1 +0,0 @@ -666 diff --git a/README.md b/README.md index 0bfe66c..85f335f 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,8 @@ - **OpenAI Chat API** - 支持 `/v1/chat/completions` 接口 - **流式响应** - 支持 SSE 流式输出 - **浏览器自动化** - 自动处理人机验证 +- **Tool Use 协议** - 支持 Anthropic 工具调用协议 +- **自动执行模式** - 当 AI 拒绝执行时自动提取并执行命令 ## 项目结构 @@ -120,11 +122,14 @@ browser: headless: true # 留空则自动检测或下载,也可手动指定路径 path: "" + # 自动执行模式(见下方说明) + auto_execute: true ``` 支持的环境变量: - `PORT` - 覆盖端口配置 - `BROWSER_PATH` - 覆盖浏览器路径 +- `AUTO_EXECUTE` - 开关自动执行模式 (`true`/`false`) ## API 接口 @@ -170,6 +175,82 @@ export ANTHROPIC_BASE_URL=http://localhost:3010 claude ``` +## 自动执行模式 + +由于 Cursor 文档页的 AI 被设计为只读模式,无法直接执行文件写入、命令执行等操作。本项目实现了**自动执行模式**来解决这个问题。 + +### 工作原理 + +1. AI 收到工具调用请求后,会拒绝执行并建议用户手动运行命令 +2. 系统检测到拒绝响应后,自动提取 AI 建议的命令 +3. 在本地自动执行该命令 +4. 将执行结果返回给客户端 + +### 配置开关 + +```yaml +# config.yaml +browser: + auto_execute: true # 开启自动执行(默认) + # auto_execute: false # 关闭自动执行 +``` + +或使用环境变量: + +```bash +# 关闭自动执行 +AUTO_EXECUTE=false ./cursor2api + +# 开启自动执行 +AUTO_EXECUTE=true ./cursor2api +``` + +### 支持的操作 + +| 操作 | 示例命令 | +|------|----------| +| 创建文件 | `echo "内容" > file.txt` | +| 读取文件 | `cat file.txt` | +| 列出目录 | `ls -la` | +| 创建目录 | `mkdir -p dir` | +| 删除文件 | `rm file.txt` | + +### 安全提示 + +⚠️ **自动执行模式会在本地执行命令,请注意以下安全事项:** + +- 仅在可信环境中开启此功能 +- AI 可能生成危险命令(如 `rm -rf`) +- 建议在沙箱或容器环境中运行 +- 生产环境建议关闭此功能 + +## Tool Use 协议支持 + +本项目实现了 Anthropic 的 Tool Use 协议,支持以下工具: + +| 工具名称 | 功能 | 参数 | +|----------|------|------| +| `bash` | 执行命令 | `command`, `cwd` | +| `read_file` | 读取文件 | `path` | +| `write_file` | 写入文件 | `path`, `content` | +| `list_dir` | 列出目录 | `path` | +| `edit` | 编辑文件 | `path`, `old_string`, `new_string` | + +### 工具接口 + +```bash +# 列出可用工具 +curl http://localhost:3010/tools + +# 直接执行工具(调试用) +curl http://localhost:3010/tools/execute \ + -H "Content-Type: application/json" \ + -d '{ + "tool_name": "bash", + "input": {"command": "ls -la"} + }' +``` + ## 支持的模型 | 请求模型 | 映射到 Cursor |