Skip to main content

Modern Agent Management & State Persistence Framework

Project description

🌠 AgentComet

Version Python License UAF v2

Build once. Run anywhere. Resume anytime.
Stateful. Portable. Composable AI agents.

Official Website: ac.defaultloop.com


⚡ The Problem

Every AI team ends up rebuilding the same agents.

Same logic. Same tools. Different environment. New framework.

And the worst part? All the memory, context, and progress is lost. Agents today are stateless, fragile, and non-portable.


🚀 Introducing AgentComet

AgentComet is a modern agent framework designed to make agents:

  • Stateful by default
  • Portable across environments
  • Resumable at any point in time

Instead of treating agents like scripts, AgentComet treats them like artifacts.


🎯 What makes AgentComet different?

AgentComet introduces a new primitive: Portable, Stateful Agent Artifacts (.uaf)

You don't just write agents. You package, move, version, and resume them.


🚀 Quick Start

Installation

pip install agentcomet

Build an Agent

Create an agent, assign it custom tools, and let it handle the heavy lifting.

from agentcomet import Agent, tool
from agentcomet.models import Ollama

@tool
def greet(name: str) -> str:
    return f"Hello, {name}!"

class GreeterAgent(Agent):
    def setup(self):
        self.name = "greeter"
        self.add_tools(greet)

# Instantiate and chat
agent = GreeterAgent(llm=Ollama(model="llama3"))
print(agent.run("Say hello to Alice!"))

✨ Core Capabilities

🧠 Persistent Memory

Every agent comes with a highly flexible key-value memory store (self.memory). Conversational history is auto-saved without any manual boilerplate.

agent.memory.save("user_preferences", {"theme": "dark"})
print(agent.memory.get("messages"))

💾 State Checkpoints

Save and restore exact agent timelines. Need to rollback a prompt mistake? Just load the state.

agent.save_state("checkpoint-1")
agent.load_state("checkpoint-1")

📦 Portable Agents with .uaf

Stop writing boilerplate to serialize agent code. Export your entire agent—along with its memory, history, LLM config, and tools—into a portable .uaf archive.

agent.export("assistant.uaf")

from agentcomet import load_agent
agent = load_agent("assistant.uaf")

☁️ Registry & Hub (Push & Pull)

Sync your agents with either a locally hosted AgentComet Studio registry or the public cloud registry AgentComet Hub.

🏢 1. AgentComet Studio (Local Registry)

Sync your agents locally across your team.

A. Start AgentComet Studio
docker pull vaibhavhaswani/agentcomet-studio:latest

docker run -p 3451:3451 \
  -v $(pwd)/data:/app/data \
  vaibhavhaswani/agentcomet-studio:latest

Windows (PowerShell):

docker run -p 3451:3451 -v ${PWD}/data:/app/data vaibhavhaswani/agentcomet-studio:latest
B. Configure and Push/Pull
from agentcomet import Settings, Agent

# Configure SDK
Settings.init(
    AGENTCOMET_URL="http://localhost:3451",
    AGENTCOMET_KEY="your-local-key"
)

# Push — auto-increments version
agent.push(repo="assistant")

# Pull — latest or specific version
agent = Agent.pull(repo="assistant", version="latest")

🌌 2. AgentComet Hub (Cloud Registry)

Publish and distribute your agents on the official public registry at ac.defaultloop.com.

A. Configure the SDK
from agentcomet import Settings, Agent

# Configure SDK to target the cloud registry
Settings.init(
    AGENTCOMET_URL="https://ac.defaultloop.com",
    AGENTCOMET_KEY="your-hub-api-token"
)
B. Push & Pull
# Push to the cloud registry — auto-increments version and creates if it doesn't exist
agent.push(repo="username/assistant", create=True)

# Pull from the cloud registry
agent = Agent.pull(repo="username/assistant", version="latest")

🔌 Multi-Provider LLM Support

Switching your backend is as simple as defining a new class.

from agentcomet.models import OpenAIChat, Gemini, Anthropic, Ollama

agent.use_llm(OpenAIChat(model="gpt-4o"))

🧠 Why this matters

We believe the future of AI is not just models. It's agents that evolve over time.

Agents that:

  • Learn
  • Persist
  • Move
  • Continue

AgentComet is a step toward that future.


🛣️ Vision

This is just the beginning.

AgentComet is part of a larger vision to build:

  • A universal agent format
  • A global agent registry
  • A composable ecosystem of agents

Where agents are not rewritten, but shared, reused, and extended.


📚 Documentation & Website


🤝 Contributing

  • ⭐ Star the repo
  • 🛠️ Break things
  • 🚀 Open PRs

All contributions are welcome.


📄 License & Legal

  • License: Apache License 2.0
  • Patent: Indian Provisional Patent Application No. 202611013684
  • Branding: "AgentComet" is a trademark. See BRANDING.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentcomet-0.6.0.tar.gz (29.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentcomet-0.6.0-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

Details for the file agentcomet-0.6.0.tar.gz.

File metadata

  • Download URL: agentcomet-0.6.0.tar.gz
  • Upload date:
  • Size: 29.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for agentcomet-0.6.0.tar.gz
Algorithm Hash digest
SHA256 2b8ad1cf4873703f0d1238308feb32d7553fe9cff0ca426e6703d145f3a3fa9c
MD5 b0b1a423908ea07b4f9019b617e2aaca
BLAKE2b-256 243b8b562eae25e320d6b250f8f135af69f931dfb474d87173d07346df25c4e6

See more details on using hashes here.

File details

Details for the file agentcomet-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: agentcomet-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 29.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for agentcomet-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b9f0376df51c7fa84d09c82e0cc8423cc8f744d90aaf2ffdafffa19e33b7299
MD5 1a99c5762bbb2bbe297406e9c799496b
BLAKE2b-256 957cd8c4e5376077889702cd00a78555576870d247723986706bd1ddb3c51008

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page