GitHub·· 7 天前AI 评分22
Octavus 发布 JavaScript SDK,用于构建 AI 智能体应用
octavus-ai/agent-sdk
AI 导读
Octavus AI 开源官方 JavaScript/TypeScript SDK,用于构建 Octavus AI 智能体应用,包含 @octavus/core、@octavus/server-sdk、@octavus/client-sdk、@octavus/react、@octavus/cli 和 @octavus/docs 六个包。
正文
Octavus JavaScript SDK
Official JavaScript/TypeScript SDKs for building applications with Octavus AI agents.
Packages
| Package | Description | npm |
|---|---|---|
@octavus/core |
Shared types and utilities | |
@octavus/server-sdk |
Server SDK for backend integration | |
@octavus/client-sdk |
Framework-agnostic client SDK | |
@octavus/react |
React hooks and bindings | |
@octavus/cli |
CLI for agent management | |
@octavus/docs |
Documentation content |
Quick Start
Server-Side (Node.js)
npm install @octavus/server-sdk
import { OctavusClient } from '@octavus/server-sdk'; const client = new OctavusClient({ apiKey: process.env.OCTAVUS_API_KEY, }); // Create a session const { sessionId } = await client.agentSessions.create('your-agent-id', { COMPANY_NAME: 'Acme Inc', }); // Attach to session and trigger const session = client.session(sessionId, { tools: { 'get-user-account': async ({ userId }) => { return { name: 'John Doe', email: 'john@example.com' }; }, }, }); // Execute a trigger and stream the response const stream = await session.trigger('user-message', { USER_MESSAGE: 'Hello!', }); for await (const event of stream) { if (event.type === 'text-delta') { process.stdout.write(event.delta); } }
Client-Side (React)
npm install @octavus/react
import { useOctavusChat, createHttpTransport } from '@octavus/react'; function Chat({ sessionId }) { const transport = useMemo( () => createHttpTransport({ triggerRequest: (triggerName, input) => fetch('/api/trigger', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ sessionId, triggerName, input }), }), }), [sessionId], ); const { messages, status, send } = useOctavusChat({ transport }); return ( <div> {messages.map((msg) => ( <div key={msg.id}>{/* Render message parts */}</div> ))} <button onClick={() => send('user-message', { USER_MESSAGE: 'Hello' })}>Send</button> </div> ); }
Documentation
Full documentation is available at octavus.ai/docs.
Development
Prerequisites
Setup
# Install dependencies pnpm install # Build all packages pnpm build # Run linting pnpm lint # Run type checking pnpm type-check # Format code pnpm format
Package Structure
packages/
├── core/ # Shared types for client/server communication
├── server-sdk/ # Server SDK for backend integration
├── client-sdk/ # Framework-agnostic client SDK
├── react/ # React bindings (hooks)
├── cli/ # CLI for agent management
└── docs/ # Documentation content
Contributing
We welcome contributions! Please see our Contributing Guide for details.
License
MIT © Octavus AI
来源:GitHub · github.com