Home

Awesome

Installation

npm i opencopilot-sdk

Usage

Copilot APIs

To create a new copilot instance, follow these steps:

  1. 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');
    
  2. Create a Copilot:

    let copilot = await sdk.copilot.createCopilot({
        name: 'My Copilot',
    });
    
  3. 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',
    });
    

Managing Copilots

You can perform various operations such as retrieving all copilots, listing conversations, and managing chat sessions.

Sending and Receiving Messages

To interact with a copilot through chat:

Cleanup

After testing or when a copilot is no longer needed:


Actions APIs

  1. 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
    
  2. List Actions for the Copilot:

    const actions = await sdk.action.getActions({
        chatbot_id: copilot.id
    });
    

Chat APIs

Initializing Chat

To begin a chat session with a copilot, follow these steps:

  1. 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);
    
  2. 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", 
});