@subhajit60/aiagent
v1.0.1
Published
A TypeScript AI Agent Framework
Maintainers
Readme
AI Agent Framework (@subhajit60/aiagent)
A modular, extensible, and clean-architecture TypeScript framework designed to build autonomous agents equipped with planners, LLM providers, conversation memory, and custom tools.
Features
- Decoupled Architecture: Built around interfaces allowing you to easily swap any module (LLM Provider, Memory, Tools, Planner, etc.).
- Planners: Autonomous plan-generation support that decomposes high-level goals into step-by-step actions.
- LLM Providers: Ready-to-use providers for:
- Google Gemini (via
@google/genai) - OpenAI (Skeleton structure, easily expandable)
- Ollama (Local models)
- Google Gemini (via
- Memory Systems:
ConversationMemory(In-memory conversational message stack)VectorMemory(With keyword fallback search and mock vectors for semantic search integrations)
- Extensible Tools: Includes built-in support for:
- File Operations (
FileTool) - Command Execution (
TerminalTool) - Browser Control (
BrowserTool)
- File Operations (
- Robust Execution Loop: Prevents infinite loops, gracefully processes unstructured LLM output, and parses tool/answer structure.
Installation
npm install @subhajit60/aiagentQuick Start
Here is a simple example showing how to initialize an LLM Provider, a local Conversation Memory store, a custom tool, and execute the Agent loop:
import {
Agent,
GeminiProvider,
ConversationMemory,
ToolRegistry,
FileTool
} from '@subhajit60/aiagent';
// 1. Initialize the LLM provider (mocked by default, or connects to external endpoints)
const provider = new GeminiProvider({
apiKey: process.env.GEMINI_API_KEY
});
// 2. Initialize memory to track the conversation flow
const memory = new ConversationMemory();
// 3. Register tools that the agent can execute
const tools = new ToolRegistry([
new FileTool()
]);
// 4. Instantiate the Agent
const agent = new Agent({
name: 'DemoAgent',
provider,
memory,
tools
});
// 5. Run the agent execution loop
const finalResult = await agent.run('List the files in the directory and summarize the project.');
console.log('Result:', finalResult);Running the Built-in Demo
Clone this repository and run:
npm install
npm run build
npm startThis runs the example demo using a mock fallback for Google Gemini, allowing you to trace the execution cycle of reasoning and tool use.
License
MIT License. See LICENSE for more information.
