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.3.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.3-py3-none-any.whl (235.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: klisk-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 060a27d5d50e433ca8c0466d9d91ec9b5f1fc51c4925a2377656e03490809052
MD5 351bbeaf6f732651cd4a2cec7f1a433a
BLAKE2b-256 24a3aa2424f639d9ca06a16438015aa7bd740897c73d9d1c781336fc4f1d8793

See more details on using hashes here.

File details

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

File metadata

  • Download URL: klisk-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cb26733f8c58325591237cac35b237721ef5094d3eba415300f4089bd120b393
MD5 24d53e313ef9dff3f74e341326aa3e55
BLAKE2b-256 cdcca6bb6bb330c6c2d8829c77ca4439f2ef8741540f8bc40645476345ae9756

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