
Write HTML. Render video. Built for agents.
Koog gives you a Kotlin and Java API for building AI agents with tools, memory, streaming, tracing, and workflow graphs. It is built as a multiplatform framework, so you can use the same core ideas across JVM, Android, iOS, JS, and WasmJS.
Builders who want to ship agent-based apps in Kotlin or Java across multiple runtimes.
You can build agent systems that are reusable, observable, and easier to run across different platforms.
Runs across JVM, JS, WasmJS, Android, and iOS targets with Kotlin Multiplatform.
Includes retries and agent state persistence so execution can resume from saved points.
Compresses long conversation history to save tokens while keeping context.
Lets you switch between providers like OpenAI, Anthropic, Google, OpenRouter, Ollama, and Bedrock.
Uses Model Context Protocol tools inside agents.
Supports Agent Client Protocol so agents can work with standard client apps.
Adds vector embeddings and RAG for knowledge stored across conversations.
Processes responses in real time and handles multiple tool calls at once.
dependencies {
implementation("ai.koog:koog-agents:1.2.0")
implementation("ai.koog:koog-agents-additions:1.2.0-beta")
}dependencies {
implementation 'ai.koog:koog-agents:1.2.0'
implementation 'ai.koog:koog-agents-additions:1.2.0-beta'
}Build status:
Useful links:
Koog is a Kotlin-based framework designed to build and run AI agents entirely in idiomatic Kotlin and Java API. It lets you create agents that can interact with tools, handle complex workflows, and communicate with users.
Key features of Koog include:
The LLM providers and platforms whose LLMs you can use to power your agent capabilities:
To help you get started with AI agents, here is a quick example:
fun main() = runBlocking {
// Before you run the example, assign a corresponding API key as an environment variable.
val apiKey = System.getenv("OPENAI_API_KEY") // or Anthropic, Google, OpenRouter, etc.
val agent = AIAgent(
promptExecutor = MultiLLMPromptExecutor(OpenAILLMClient(apiKey)), // or Anthropic, Google, OpenRouter, etc.
systemPrompt = "You are a helpful assistant. Answer user questions concisely.",
llmModel = OpenAIModels.Chat.GPT4o
)
val result = agent.run("Hello! How can you help me?")
println(result)
}
Currently, the framework supports the JVM, JS, WasmJS and iOS targets.
Add dependencies to the build.gradle.kts file:
dependencies {
implementation("ai.koog:koog-agents:1.2.0")
implementation("ai.koog:koog-agents-additions:1.2.0-beta")
}
Make sure that you have mavenCentral() in the list of repositories.
Add dependencies to the build.gradle file:
dependencies {
implementation 'ai.koog:koog-agents:1.2.0'
implementation 'ai.koog:koog-agents-additions:1.2.0-beta'
}
Make sure that you have mavenCentral() in the list of repositories.
Add dependencies to the pom.xml file:
<dependency>
<groupId>ai.koog</groupId>
<artifactId>koog-agents-jvm</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>ai.koog</groupId>
<artifactId>koog-agents-additions-jvm</artifactId>
<version>1.2.0-beta</version>
</dependency>
Make sure that you have mavenCentral in the list of repositories.
Koog framework is stable and follows semantic versioning. See VERSIONING.md for details.
Read the Contributing Guidelines.
This project and the corresponding community are governed by the JetBrains Open Source and Community Code of Conduct. Please make sure you read it.
Koog is licensed under the Apache 2.0 License.
Please feel free to ask any questions in our official Slack channel and to use Koog official YouTrack project for filing feature requests and bug reports.
Sign in to join the discussion.
No comments yet. Be the first to say what this is good for.

Write HTML. Render video. Built for agents.
Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps
SkillOpt is a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifacts.

Omnigent is an open-source AI agent framework and meta-harness: orchestrate Claude Code, Codex, Cursor, Pi, and custom agents — swap harnesses without rewriting, enforce policies and sandboxing, and collaborate in real time from any device.
A theoretical reconstruction of the Claude Mythos architecture, built from first principles using the available research literature.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!