Examples
CLI-based Agent
Create a simple command-line interface for interacting with your agent:
// src/example/cli.ts
import express from "express";
import { AgentFramework } from "../framework";
import { standardMiddleware } from "../middleware";
import { Character, InputSource, InputType } from "../types";
import { BaseAgent } from "../agent";
import readline from "readline";
// Define your agent
const assistant: Character = {
name: "Assistant",
agentId: "cli_assistant",
system: "You are a helpful CLI assistant.",
bio: ["A command-line AI assistant"],
lore: ["Created to help users through the terminal"],
messageExamples: [
[
{ user: "user1", content: { text: "Hello!" } },
{ user: "Assistant", content: { text: "Hi! How can I help?" } },
],
],
postExamples: [],
topics: ["general help", "cli", "terminal"],
style: {
all: ["helpful", "concise"],
chat: ["friendly"],
post: ["clear"],
},
adjectives: ["helpful", "efficient"],
routes: [],
};
// Initialize framework
const app = express();
app.use(express.json());
const framework = new AgentFramework();
standardMiddleware.forEach((middleware) => framework.use(middleware));
// Create agent instance
const agent = new BaseAgent(assistant);
// Add conversation route
agent.addRoute({
name: "conversation",
description: "Handle natural conversation",
handler: async (context, req, res) => {
const response = await llmUtils.getTextFromLLM(
context,
"anthropic/claude-3-sonnet"
);
await res.send(response);
},
});
// Set up CLI interface
async function startCLI() {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
console.log("\nCLI Assistant");
console.log("=============");
async function prompt() {
rl.question("\nYou: ", async (text) => {
try {
const response = await framework.process(
{
source: InputSource.NETWORK,
userId: "cli_user",
agentId: agent.getAgentId(),
roomId: "cli_session",
type: InputType.TEXT,
text: text,
},
agent
);
console.log("\nAssistant:", response);
prompt();
} catch (error) {
console.error("\nError:", error);
prompt();
}
});
}
prompt();
}
// Start server and CLI
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server running on http://localhost:${PORT}`);
startCLI();
});Twitter Bot
Create a Twitter bot that posts regularly and responds to mentions:
Memory-Aware Agent
Create an agent that uses conversation history for context:
Custom Middleware
Create custom middleware for specialized processing:
Last updated