跳到主要内容

系统集成

本文档介绍如何将 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);
});

下一步