系统集成
本文档介绍如何将 OpenHuman 集成到其他系统中。
JavaScript/TypeScript SDK
安装
npm install openhuman-sdk
初始化
import { OpenHuman } from 'openhuman-sdk';
const client = new OpenHuman({
apiKey: process.env.OPENHUMAN_API_KEY,
});
Python SDK
安装
pip install openhuman-python
初始化
from openhuman import OpenHuman
client = OpenHuman(api_key=os.getenv("OPENHUMAN_API_KEY"))
REST API
认证
所有 API 请求需要包含 API 密钥:
curl -H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
https://api.openhuman.ai/v1/agents
创建 Agent
curl -X POST https://api.openhuman.ai/v1/agents \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "我的 Agent",
"description": "描述",
"instructions": "指令"
}'
运行 Agent
curl -X POST https://api.openhuman.ai/v1/agents/{agentId}/run \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "你好"
}'
与 LangChain 集成
import { OpenHuman } from 'openhuman-sdk';
import { LangChainAdapter } from 'langchain/adapters';
const openhuman = new OpenHuman({
apiKey: process.env.OPENHUMAN_API_KEY,
});
const adapter = new LangChainAdapter(openhuman);
// 使用 LangChain 的链式调用
const chain = new Chain({...});
const result = await chain.run('输入内容');
与 Next.js 集成
// app/api/chat/route.ts
import { NextResponse } from 'next/server';
import { OpenHuman } from 'openhuman-sdk';
const client = new OpenHuman({
apiKey: process.env.OPENHUMAN_API_KEY,
});
export async function POST(request) {
const { message } = await request.json();
const response = await client.agents.run(agentId, {
message,
});
return NextResponse.json(response);
}
与 Vue.js 集成
// composables/useOpenHuman.ts
import { ref } from 'vue';
import { OpenHuman } from 'openhuman-sdk';
const client = new OpenHuman({
apiKey: import.meta.env.VITE_OPENHUMAN_API_KEY,
});
export function useOpenHuman() {
const response = ref(null);
const loading = ref(false);
async function sendMessage(message) {
loading.value = true;
try {
response.value = await client.agents.run(agentId, { message });
} finally {
loading.value = false;
}
}
return { response, loading, sendMessage };
}
与 Discord 集成
import { Client, GatewayIntentBits } from 'discord.js';
import { OpenHuman } from 'openhuman-sdk';
const client = new OpenHuman({ apiKey: process.env.OPENHUMAN_API_KEY });
const discord = new Client({
intents: [GatewayIntentBits.DirectMessages],
});
discord.on('messageCreate', async (message) => {
if (message.author.bot) return;
const response = await openhuman.agents.run(agentId, {
message: message.content,
});
message.reply(response.message);
});
discord.login(process.env.DISCORD_BOT_TOKEN);
与 Slack 集成
import { App } from '@slack/bolt';
import { OpenHuman } from 'openhuman-sdk';
const slack = new App({
token: process.env.SLACK_BOT_TOKEN,
signingSecret: process.env.SLACK_SIGNING_SECRET,
});
const openhuman = new OpenHuman({
apiKey: process.env.OPENHUMAN_API_KEY,
});
slack.event('message', async ({ event, say }) => {
const response = await openhuman.agents.run(agentId, {
message: event.text,
});
await say(response.message);
});