AgentsKit

Frameworks & SDKs 💻 TypeScript ⚖️ MIT 🟢 Actively maintained
25 stars

AgentsKit is a modular JavaScript toolkit for building AI agents, offering a small core with zero dependencies and a set of composable packages for adapters, runtime, tools, memory, RAG, and more. It solves the problem of cobbling together incompatible libraries by providing formal contracts and a unified architecture. It is for developers who want to build production-grade agents in plain JavaScript or TypeScript without framework lock-in.

AgentsKit demo
🎞️ Demo from the project README

✨ Key features

  • 10 KB gzipped core with zero runtime dependencies
  • 22 focused packages for adapters, runtime, tools, memory, RAG, UI, and more
  • Six formal contracts make every component substitutable
  • One-line provider swap across OpenAI, Anthropic, Gemini, Ollama, and others
  • Multi-agent delegation via planner, researcher, and coder skills
  • Framework bindings for React, Vue, Svelte, Solid, Angular, and React Native

🎯 Use cases

  • Build a streaming chat UI in React or other frameworks
  • Create a headless autonomous agent with tools and skills
  • Implement RAG over your own documents
  • Expose tools as an MCP server for Claude Desktop or Cursor
  • Run terminal-based agents with CLI and Ink

📦 Installation

🧰 Requirements: Requires Node.js and npm; no API keys needed for the local demo, but provider keys are needed for real LLM calls.

npm install @agentskit/core @agentskit/runtime tsx

🚀 Usage

import type { AdapterFactory } from '@agentskit/core'
import { createRuntime } from '@agentskit/runtime'

const localAdapter: AdapterFactory = {
  createSource(request) {
    const task = request.messages.at(-1)?.content ?? 'your task'
    return {
      async *stream() {
        yield { type: 'text' as const, content: `Agent ready. I received: ${task}` }
        yield { type: 'done' as const }
      },
      abort() {},
    }
  },
}

async function main() {
  const runtime = createRuntime({ adapter: localAdapter })
  const result = await runtime.run('Plan my first production agent')
  console.log(result.content)
}

void main()

Run with npx tsx agent.ts.

⚠️ Good to know

AgentsKit is JavaScript-first, so Python developers should use a Python framework; the observability layer is young and not yet as mature as LangSmith or Arize; and while @agentskit/core is stable, many packages are still in beta.

❓ FAQ

What is the core size and dependency footprint?

The core is under 10 KB gzipped and has zero runtime dependencies, enforced by CI.

Can I swap LLM providers easily?

Yes, you can change providers in one line by using different adapter imports, such as openai, anthropic, or ollama.

Does AgentsKit support multi-agent delegation?

Yes, the runtime supports delegation using skills like planner, researcher, and coder, where the planner decomposes tasks and delegates to sub-agents.

Is there a way to run agents without an API key?

Yes, the quick start uses a local adapter that echoes input, requiring no account or network request.

📊 Repository

Stars★ 25
Forks🍴 1
Open issues🐛 31
Last commit🕒 Sep 3, 2026
Created📅 Apr 2026
Language💻 TypeScript
License⚖️ MIT

🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.