npm install注意: 由于 @openai/agents 与 zod@3.25.68+ 的兼容性问题,安装时使用了 --legacy-peer-deps 选项。
export OPENAI_API_KEY=sk-your_api_key_here创建或编辑 ~/.closer-code/config.json:
{
"ai": {
"provider": "openai",
"openai": {
"apiKey": "sk-your_api_key_here",
"baseURL": "https://api.openai.com/v1",
"model": "gpt-4o",
"maxTokens": 8192
}
}
}# 启动 CLI
closer
# 或者
node dist/index.jsimport { createAIClient } from './src/ai-client.js';
const config = {
ai: {
provider: 'openai',
openai: {
apiKey: 'sk-your_api_key_here',
model: 'gpt-4o',
maxTokens: 8192
}
}
};
const client = createAIClient(config);
// 简单对话
const response = await client.chat(
[{ role: 'user', content: 'Hello, OpenAI!' }],
{ temperature: 0.7 }
);
console.log(response.content);import { bashTool, readFileTool } from './src/tools.js';
const result = await client.chatWithTools(
[{ role: 'user', content: 'List files in current directory' }],
[bashTool, readFileTool],
{ temperature: 0.7 }
);await client.chatStream(
[{ role: 'user', content: 'Tell me a story' }],
{},
(chunk) => {
if (chunk.type === 'text') {
process.stdout.write(chunk.delta);
}
}
);# 运行测试
export OPENAI_API_KEY=your_key
node test/test-openai-client.js在配置文件中更改 provider 字段即可在 Anthropic 和 OpenAI 之间切换:
{
"ai": {
"provider": "anthropic", // 或 "openai"
"anthropic": {
"apiKey": "sk-ant-..."
},
"openai": {
"apiKey": "sk-..."
}
}
}gpt-4o(推荐)gpt-4o-minigpt-4-turbogpt-3.5-turbo
claude-sonnet-4-5-20250929(推荐)claude-opus-4-5-20251101claude-haiku-4-5-20251101
如果遇到 zod 版本冲突,使用:
npm install --legacy-peer-deps确保设置了正确的环境变量或配置文件中的 API 密钥。
检查配置文件中的 model 字段是否为您有权限访问的模型。