Skip to main content

A framework for building AI agents programmatically

Project description

Klisk

The easiest way to build AI agents.

Klisk is a framework for building AI agents programmatically. Define agents and tools with a simple API, iterate with an interactive Studio, and deploy to production — all from the CLI.

Install

pip install klisk

Quick start

klisk create my-agent
cd my-agent

This scaffolds a ready-to-run project:

my-agent/
├── klisk.config.yaml
├── .env
└── src/
    ├── main.py
    └── tools/
        └── example.py

Define your agent in src/main.py:

from klisk import define_agent, get_tools

agent = define_agent(
    name="Assistant",
    instructions="You are a helpful assistant.",
    model="gpt-5.2",
    tools=get_tools("greet"),
)

Create tools in src/tools/:

from klisk import tool

@tool
async def greet(name: str) -> str:
    """Greet someone by name."""
    return f"Hello, {name}!"

Run it:

klisk run "Say hello to Juan"
klisk run -i  # Interactive chat mode

Studio

Launch the interactive development environment:

klisk dev my-agent

A visual Studio opens in your browser with:

  • Agent graph — see agents and their connected tools
  • Live chat — test your agent with file attachments, tool call inspection, and markdown rendering
  • Inline editing — modify agent instructions, model, and tools directly from the UI
  • Hot reload — changes to your code update the Studio instantly

Multi-provider

Use any LLM provider via LiteLLM. Just prefix the model name:

# OpenAI (default)
define_agent(name="Agent", model="gpt-5.2")

# Anthropic
define_agent(name="Agent", model="anthropic/claude-sonnet-4-5-20250929")

# Google
define_agent(name="Agent", model="gemini/gemini-2.5-flash")

Set the corresponding API key in your .env file (OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, etc.).

Builtin tools

OpenAI models support builtin tools out of the box:

define_agent(
    name="Researcher",
    model="gpt-5.2",
    builtin_tools=["web_search", "code_interpreter"],
)

Available: web_search, code_interpreter, file_search, image_generation.

Production

Serve your agent with a chat UI and REST API:

klisk serve my-agent

This starts a production server with:

  • Chat UI at http://localhost:8080
  • REST API at /api/chat (streaming supported)
  • WebSocket endpoint at /ws/chat
  • Embeddable widget via /widget.js
  • Optional API key auth via KLISK_API_KEY

Deploy

Deploy to Google Cloud Run in one command:

klisk deploy init    # Generate Dockerfile and config
klisk deploy         # Deploy to Cloud Run

CLI reference

Command Description
klisk create <name> Scaffold a new project
klisk dev [name] Start Studio with hot reload
klisk run [message] Run agent from terminal
klisk check [name] Validate project configuration
klisk list List workspace projects
klisk serve [name] Start production server
klisk deploy Deploy to Google Cloud Run

License

Elastic License 2.0 (ELv2) — free to use, cannot be offered as a managed service.

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

klisk-0.1.1.tar.gz (285.4 kB view details)

Uploaded Source

Built Distribution

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

klisk-0.1.1-py3-none-any.whl (235.1 kB view details)

Uploaded Python 3

File details

Details for the file klisk-0.1.1.tar.gz.

File metadata

  • Download URL: klisk-0.1.1.tar.gz
  • Upload date:
  • Size: 285.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for klisk-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d1672c56196076778ecbe3392f99f0a7eb60302a5533d27a73cfc5501a9a9939
MD5 e75990401b7f53384a40eac3b54323b4
BLAKE2b-256 d6aeb78954b4cb8ea0e6b0f8a8408abb0a0ad6a8e0de3093b622e3721d0b9444

See more details on using hashes here.

File details

Details for the file klisk-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: klisk-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 235.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for klisk-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 98a21bebc64447339c102416a7e33020d0166ae184585926747836c0a37605d3
MD5 18df0079b2ff923458c604b7a738cd4d
BLAKE2b-256 2015d459ab28a6a089bcaa094ca92dad35bb994fe34342fc015a62c8d21eaed1

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