indusagi-ts
v0.1.1
Published
TypeScript agent framework with tools, memory, and multi-agent orchestration.
Readme
IndusAGI TypeScript
TypeScript agent framework with tools, memory, and multi-agent orchestration.
Install
npm install indusagi-ts
Quick Start
import { Agent, AgentConfig, registry, registerDefaultTools } from "indusagi-ts";
const config = AgentConfig.fromEnv();
const agent = new Agent({
name: "Helper",
role: "Helpful assistant",
config
});
registerDefaultTools();
agent.context = registry.context;
const response = await agent.processWithTools({
userInput: "What time is it and what is 25 * 4?",
tools: registry.schemas,
toolExecutor: registry
});
console.log(response);Multi-Agent Agency
import { createImprovedAgency, registry } from "indusagi-ts";
const agency = createImprovedAgency({
model: "gpt-4o",
provider: "openai"
});
const result = await agency.process({
userInput: "Plan and implement a small CLI tool",
useTools: true,
tools: agency.tools,
toolExecutor: registry
});
console.log(result.response);CLI
indusagi run "What is 25 * 4?"
indusagi interactive
indusagi list-tools
indusagi test-connection
indusagi agency-demo
indusagi tuiConfiguration
Set provider API keys in your environment:
- OPENAI_API_KEY
- ANTHROPIC_API_KEY
- GROQ_API_KEY
- OLLAMA_API_KEY
- GEMINI_API_KEY / GOOGLE_API_KEY
- MISTRAL_API_KEY
Optional:
- LLM_PROVIDER (openai, anthropic, groq, ollama, google, mistral)
- OPENAI_BASE_URL, ANTHROPIC_BASE_URL, GROQ_BASE_URL, OLLAMA_BASE_URL, GOOGLE_GENAI_USE_VERTEXAI
- MAX_TOKENS, TEMPERATURE, MAX_TURNS
TUI
The TUI uses a terminal UI powered by blessed. Run:
indusagi tuiUse key bindings shown in the footer (Ctrl+N, Ctrl+S, Ctrl+M, Ctrl+T, Ctrl+P, Ctrl+Q).
Development
npm run build
npm run typecheck
npm run testMCP Integration
MCP tooling is supported via optional configuration in code. Load tools from a mcp.json file with:
import { loadMcpJson, McpToolRouter } from "indusagi-ts";
const config = loadMcpJson("./mcp.json");
const router = new McpToolRouter({ config });
const tools = await router.listTools();