npm i opencopilot-sdk
To create a new copilot instance, follow these steps:
-
Initialize the SDK:
import {OpenCopilotSdk} from "opencopilot-sdk"; // Replace 127.0.0.1 with your own OpenCopilot instance URL const sdk = new OpenCopilotSdk('http://127.0.0.1:8888/backend');
-
Create a Copilot:
let copilot = await sdk.copilot.createCopilot({ name: 'My Copilot', });
-
Update the Copilot: After creation, you can update the copilot's details such as name, prompt message, status, and website.
await sdk.copilot.updateCopilot(copilot.id, { name: 'copilot 2.0', promptMessage: 'Hello, I am your friendly Copilot!', status: 'published', website: 'http://jarvisworld.com', });
You can perform various operations such as retrieving all copilots, listing conversations, and managing chat sessions.
-
Get All Copilots:
const copilots = await sdk.copilot.getAllCopilots();
-
List Conversations and Sessions:
const conversations = await sdk.chat.listConversations("abc123"); const uniqueSessions = await sdk.chat.getUniqueSessions(jarvis.id); const messages = await sdk.chat.getMessagesPerConversation("abc123");
To interact with a copilot through chat:
- Send a Chat Message:
const chatMessageResult = await sdk.chat.sendChatMessage("abc123", copilot.token, { from: 'user', content: 'Greet me in less than 20 characters', id: copilot.id, headers: { 'X-Copilot': copilot.id, }, session_id: "abc123", });
After testing or when a copilot is no longer needed:
- Delete a Copilot:
const result = await sdk.copilot.deleteCopilot(copilot.id); console.log('Test: Delete Copilot - Passed', result);
-
Create an Action:
const action_ids = await sdk.action.addAction({ bot_id: copilot.id, api_endpoint: "http://127.0.0.1:8888", description: "This is a test action", name: "Test Action", payload: {}, request_type: "GET", status: "active" }); // Validate action creation
-
List Actions for the Copilot:
const actions = await sdk.action.getActions({ chatbot_id: copilot.id });
To begin a chat session with a copilot, follow these steps:
-
Initiate Chat Session (optional: to get some metadata): After creating a copilot, you can start a chat session using its token.
const result = await sdk.chat.initChat("abc1234", createdCopilot.token);
-
Send a Chat Message:
const chatMessageResult = await sdk.chat.sendChatMessage("abc123", jarvis.token, {
from: 'user',
content: 'Greet me in less than 20 characters',
id: copilot.id,
headers: {
'X-Copilot': copilot.id,
},
session_id: "abc123",
});