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.2.tar.gz (285.9 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.2-py3-none-any.whl (235.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: klisk-0.1.2.tar.gz
  • Upload date:
  • Size: 285.9 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.2.tar.gz
Algorithm Hash digest
SHA256 3525a8bc67d5805631c8addfda32fe37ad073dc9bbf18b4c763745e2d6886f24
MD5 474f7a335633f9cda6d9560794e1f125
BLAKE2b-256 8444716e45ca7abc2a8fe85c6467ae034f35eee9e968626ea6ef50e055bde465

See more details on using hashes here.

File details

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

File metadata

  • Download URL: klisk-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 235.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1aea1904981e13c4f8dad60ba14c847a8179073622236be3e033a6ca7db1fd75
MD5 6aa112beaffa8d575e964a2e52b6d8f0
BLAKE2b-256 1b7e64e8074b5e3e89b92f3e8ecf66be11fba04de1a1d0a08a2301185ac59604

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