跳到主要内容

基本使用

本教程介绍 OpenHuman 的基础功能使用。

创建 Agent

简单 Agent

import { OpenHuman } from 'openhuman-sdk';

const client = new OpenHuman({
apiKey: process.env.OPENHUMAN_API_KEY,
});

// 创建一个简单的问答 Agent
const agent = await client.agents.create({
name: '问答助手',
description: '回答用户问题',
instructions: '你是一个友好的助手,简洁回答用户问题。',
});

console.log('Agent 创建成功:', agent.id);

带工具的 Agent

const agent = await client.agents.create({
name: '研究助手',
description: '帮助用户进行研究',
instructions: '你是一个研究助手,帮助用户搜索和分析信息。',
tools: ['web-search', 'calculator'],
});

运行 Agent

同步调用

const response = await client.agents.run(agent.id, {
message: '你好,请介绍一下你自己',
});

console.log('响应:', response.message);

流式调用

const stream = await client.agents.runStream(agent.id, {
message: '讲一个关于程序员的故事',
});

for await (const chunk of stream) {
process.stdout.write(chunk.delta);
}

带上下文的调用

const response = await client.agents.run(agent.id, {
message: '继续',
context: {
sessionId: 'session_123',
history: [
{ role: 'user', content: '你好' },
{ role: 'assistant', content: '你好!有什么可以帮助你的吗?' },
],
},
});

管理会话

创建会话

const session = await client.sessions.create({
agentId: agent.id,
metadata: {
userId: 'user_123',
source: 'web',
},
});

console.log('Session ID:', session.id);

发送消息

await client.sessions.sendMessage(session.id, {
content: '我想了解 OpenHuman 的价格',
});

获取历史

const messages = await client.sessions.getMessages(session.id, {
limit: 50,
before: null,
});

messages.forEach(msg => {
console.log(`${msg.role}: ${msg.content}`);
});

管理知识库

添加文档

await client.knowledge.addDocuments({
agentId: agent.id,
documents: [
{
title: '产品介绍',
content: 'OpenHuman 是一个 AI Agent 平台...',
metadata: { category: 'product' },
},
],
});

搜索知识库

const results = await client.knowledge.search({
agentId: agent.id,
query: 'OpenHuman 的特点',
limit: 5,
});

results.forEach(doc => {
console.log(doc.title, doc.score);
});

下一步