Skip to main content

stackai

CI PyPI

An interactive AI agent in your terminal — like Claude Code, for StackAI.

Installation

pip install stackai

This installs the stack command.

The interactive agent

Just run stack (or stack chat) to start an interactive session:

stack

On a real terminal this opens a full-screen app (scrolling transcript + anchored input, à la Claude Code). Piped/non-interactive input falls back to a line REPL automatically; force it with stack chat --classic.

You get a streaming chat loop with tool use — the agent can read files, list directories, and run shell commands (with your approval) to help answer your questions. Responses render as Markdown with syntax-highlighted code blocks; extended thinking is streamed inline.

› what does pyproject.toml configure?

stack ⚙ read_file pyproject.toml
      … reads the file, then explains it

Slash commands

Command Description
/help show available commands
/clear reset the conversation
/tools list the tools the agent can call
/compact summarize older turns to shrink context
/model [name] switch model (Claude/OpenAI); no name opens a picker
/backend <name> switch backend (anthropic | openai | stackai)
/exit, /quit leave

Models

Run /model for a picker across Claude (Opus 4.8, Fable 5, Sonnet 5, Haiku 4.5) and OpenAI (GPT-5 Codex, GPT-5, o4-mini), or /model <name> to switch directly — the backend is inferred from the id (gpt-*/o* → OpenAI, claude-* → Anthropic; or force with openai:<id>). Switching starts a fresh session. OpenAI needs OPENAI_API_KEY (or stack config set openai_api_key …).

Backends

The agent is backend-pluggable: Anthropic (Claude, default), OpenAI (GPT/Codex), or a deployed StackAI workflow.

Anthropic (default) — set a key and go:

export ANTHROPIC_API_KEY=sk-ant-...
stack                          # or: stack chat -b anthropic -m claude-opus-4-8

StackAI — call one of your deployed workflows:

stack config set backend stackai
stack config set stackai_url  https://api.stack-ai.com/inference/v0/run/<org>/<flow>
stack config set stackai_api_key <key>
stack

Config is stored at ~/.config/stackai/config.json. Relevant keys: backend, model, anthropic_api_key, stackai_url, stackai_api_key, stackai_input_field (default in-0), stackai_output_field (default outputs).

Context compaction

Long sessions are kept from overflowing the model's context window by auto-summarization. When the transcript grows past a threshold, the oldest turns are replaced by a single summary while the most recent turns are kept verbatim; run /compact to trigger it manually.

Compaction rewrites history rarely and in one batch, so the compacted prefix stays stable between compactions — friendly to prompt caching, unlike a rolling window that would change the prefix every turn. It only applies to backends that send the full history (currently Anthropic). Relevant config keys:

Key Default Meaning
compact true enable auto-summarization
compact_threshold_tokens 120000 compact once the transcript exceeds this
compact_keep_tokens 40000 recent tokens kept verbatim after compact
stack config set compact_threshold_tokens 80000
stack config set compact false        # disable auto-compaction

Other commands

stack --version
stack hello [name]
stack config set|get|list|path

Development

This project uses uv.

uv sync                   # install deps into a local venv
uv run stack              # run the agent from source
uv run pytest             # run the test suite

Building & publishing

uv build                  # produces wheel + sdist in dist/
uv publish                # upload to PyPI

License

MIT

Download files

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

Source Distribution

stackai-0.8.1.tar.gz (75.8 kB view details)

Uploaded Source

Built Distribution

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

stackai-0.8.1-py3-none-any.whl (35.0 kB view details)

Uploaded Python 3

File details

Details for the file stackai-0.8.1.tar.gz.

File metadata

  • Download URL: stackai-0.8.1.tar.gz
  • Upload date:
  • Size: 75.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for stackai-0.8.1.tar.gz
Algorithm Hash digest
SHA256 defbac362a037dafc24770778184471d5ea42a169cd05f9bca285ac53b61c199
MD5 7720becb5d6d2da76e6ff323c2a73aee
BLAKE2b-256 b3bd9f81c507f74f307c0c2384d75797a3831eba754720a4cfe3e54e373cea0e

See more details on using hashes here.

File details

Details for the file stackai-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: stackai-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 35.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for stackai-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e56fe4fbce54b5cff192dedf7eaab563f764f66847644a4d385ef60ddf876eac
MD5 e725d529f72d0a2b9973afa3268b5703
BLAKE2b-256 b3b0ce1d50f07ffb4a6ad9a622cad6d9af285f5ebd9740abc9cf6711d9dbf0d8

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