AutoClaw 是一款专为无界面系统(Headless Systems)设计的稳定、高工程化、易规模化的 AI Agent 框架。相比依赖视觉解析的 Agent,AutoClaw 采用纯指令驱动,具有更强的工程化属性和极高的稳定性,非常适合在服务器、CI/CD 流水线或容器环境中运行。
本文将详细介绍如何为 AutoClaw 配置 LLM API,并重点推荐使用 Defapi 平台实现半价调用。
简介
AutoClaw 基于 Node.js 和 TypeScript 开发,使用 OpenAI SDK 与各种 LLM 进行交互。默认情况下,它使用 OpenAI 官方 API,但通过简单的配置,你可以切换到任何兼容 OpenAI ChatCompletions 接口的 LLM 提供商。
相关资源
- GitHub 仓库: https://github.com/tsingliuwin/autoclaw
- 官方文档: 支持通过
baseUrl配置自定义 API 端点 - 技术栈: Node.js, TypeScript, OpenAI SDK, Commander.js
方法一:Defapi(推荐 - 半价优惠)
Defapi 是一个提供 OpenAI 兼容接口的 AI API 聚合平台,其最大优势是价格仅为官方的半价。对于需要大规模调用 AI 的自动化场景,这可以显著降低成本。
为什么选择 Defapi?
- 价格优势: 官方价格的 50%,大幅降低使用成本
- 完全兼容: 提供标准的
v1/chat/completions接口 - 多模型支持: 支持 GPT-4o、GPT-4o-mini 等多种模型
- 稳定可靠: 具备高可用性和低延迟特性
配置步骤
1. 获取 Defapi API Key
访问 https://defapi.org 注册账号并获取 API Key。
2. 配置文件方式
在项目根目录创建 .autoclaw/setting.json 文件:
{
"apiKey": "your-defapi-key",
"baseUrl": "https://api.defapi.org/v1",
"model": "openai/gpt-4o"
}
或者创建全局配置文件 ~/.autoclaw/setting.json:
mkdir -p ~/.autoclaw
{
"apiKey": "your-defapi-key",
"baseUrl": "https://api.defapi.org/v1",
"model": "openai/gpt-4o"
}
3. 环境变量方式
你也可以通过环境变量配置:
export OPENAI_API_KEY="your-defapi-key"
export OPENAI_BASE_URL="https://api.defapi.org/v1"
export OPENAI_MODEL="openai/gpt-4o"
4. 交互式配置
运行 setup 向导进行交互式配置:
autoclaw setup
按照提示输入:
- API Key: 你的 Defapi API Key
- Base URL:
https://api.defapi.org/v1 - Model:
openai/gpt-4o
方法二:OpenAI 官方 API
如果你已经有 OpenAI 官方 API Key,可以直接使用。
配置方式
配置文件 .autoclaw/setting.json:
{
"apiKey": "sk-...",
"baseUrl": "https://api.openai.com/v1",
"model": "gpt-4o"
}
环境变量:
export OPENAI_API_KEY="sk-..."
export OPENAI_BASE_URL="https://api.openai.com/v1"
export OPENAI_MODEL="gpt-4o"
方法三:OpenRouter
OpenRouter 是一个支持多个 LLM 的聚合平台,可以通过统一的接口访问数百种模型。
配置方式
配置文件 .autoclaw/setting.json:
{
"apiKey": "sk-or-v1-...",
"baseUrl": "https://openrouter.ai/api/v1",
"model": "openai/gpt-4o"
}
支持的模型示例
{
"model": "openai/gpt-4o"
}
{
"model": "anthropic/claude-3.5-sonnet"
}
{
"model": "google/gemini-pro"
}
方法四:DeepSeek
DeepSeek 是国产的大语言模型提供商,性价比高。
配置方式
配置文件 .autoclaw/setting.json:
{
"apiKey": "sk-...",
"baseUrl": "https://api.deepseek.com/v1",
"model": "deepseek-chat"
}
方法五:Ollama(本地模型)
如果你希望在本地运行模型,可以使用 Ollama。
配置方式
配置文件 .autoclaw/setting.json:
{
"apiKey": "ollama",
"baseUrl": "http://localhost:11434/v1",
"model": "llama3"
}
支持的模型
Ollama 支持多种本地模型,包括:
llama3mistralcodellamaphi3
验证是否正常工作
配置完成后,运行以下命令验证:
交互模式测试
autoclaw
输入测试消息:
Hello, can you hear me?
如果一切正常,AutoClaw 会回复消息。
无头模式测试
autoclaw "List all files in current directory" --no-interactive
内部机制讲解
AutoClaw 的工作原理
AutoClaw 的核心是一个基于 OpenAI SDK 的 Agent,以下是关键机制:
1. 客户端初始化
在 src/agent.ts 中,AutoClaw 使用 OpenAI SDK 初始化客户端:
this.client = new OpenAI({
apiKey: apiKey,
baseURL: baseURL
});
这里的 baseURL 是灵活的,这正是 AutoClaw 能够支持多种 LLM 提供商的关键所在。任何提供 OpenAI 兼容接口的服务商都可以无缝接入。
2. Chat Completions 调用
每次用户输入,AutoClaw 都会调用 v1/chat/completions 接口:
const response = await this.client.chat.completions.create({
model: this.model,
messages: this.messages,
tools: getToolDefinitions() as any,
tool_choice: "auto"
});
3. 配置优先级
AutoClaw 使用层级配置系统,优先级从高到低:
- CLI 参数(如
-m gpt-4o) - 环境变量(
OPENAI_API_KEY等) - 项目配置(
./.autoclaw/setting.json) - 全局配置(
~/.autoclaw/setting.json)
这种设计非常适合在不同环境(开发、测试、生产)使用不同的 API 配置。
4. 工具调用机制
AutoClaw 支持 Function Calling,能够调用各种内置工具:
- Shell 命令执行
- 文件读写
- 网页搜索
- 截图
- 邮件发送
- 通知推送
常见用例
1. CI/CD 自动化
在 CI/CD 流水线中使用 AutoClaw 进行代码审查、自动化测试:
autoclaw "Review the changes in this PR" -y --no-interactive
2. 批量文件处理
自动化处理大量文件:
autoclaw "Convert all .md files to .txt files" --no-interactive
3. 数据采集与报告
定时采集数据并生成报告:
autoclaw "Generate a summary report of server logs" --no-interactive
4. 容器化批量任务
在 Kubernetes 中运行大量并行的 AutoClaw 实例:
# k8s deployment 示例
apiVersion: apps/v1
kind: Deployment
metadata:
name: autoclaw-worker
spec:
replicas: 10
template:
spec:
containers:
- name: autoclaw
image: autoclaw:latest
env:
- name: OPENAI_API_KEY
valueFrom:
secretKeyRef:
name: autoclaw-secret
key: api-key
5. 定时运维任务
结合 cron 实现定时运维:
0 9 * * * autoclaw "Check disk usage and notify if >80%" -y