Skip to main content

AbstractCode

Durable terminal TUI for agentic coding on the AbstractFramework stack (AbstractAgent + AbstractRuntime + AbstractCore).

Status: pre-alpha (APIs and UX may change).

Next: docs/getting-started.md.

AbstractFramework ecosystem

AbstractCode is part of AbstractFramework:

Features

  • Interactive TUI (abstractcode) with durable runs (resume/pause/cancel), snapshots, and logs
  • Approval-gated tools by default (with an allowlist you can configure)
  • Built-in agents: react, memact, codeact (from abstractagent)
  • Plan + Review modes (--plan, --review; /plan, /review)
  • VisualFlow workflows:
    • run locally: abstractcode flow ... (optional extra)
    • run as an agent: abstractcode --agent <flow_ref>
  • Remote tool execution via MCP (/mcp, /executor)
  • Optional gateway-first Web UI in web/

How it fits together (diagram)

flowchart LR
  U[User] --> AC[AbstractCode\n(TUI/CLI host)]
  AC --> AA[AbstractAgent\n(agent logic)]
  AC --> AR[AbstractRuntime\n(durable execution)]
  AR --> CORE[AbstractCore\n(LLM providers + tools)]

  AC -->|approve| TOOLS[Local tools]
  AC <--> MCP[MCP servers\n(remote tools)]

  WEB[web/\n(browser host)] <--> GW[AbstractGateway\n(/api/gateway/*)]
  AC -. optional .-> GW

Install

Python: 3.10+

pip install abstractcode

Optional (run VisualFlow locally via abstractcode flow ...):

pip install "abstractcode[flow]"

From source (development):

pip install -e ".[dev]"

Quickstart (TUI)

Ollama (default provider):

abstractcode --provider ollama --model qwen3:1.7b-q4_K_M

OpenAI-compatible server (e.g. LM Studio):

abstractcode --provider openai --base-url http://127.0.0.1:1234/v1 --model qwen/qwen3-next-80b

Inside the app:

  • /help shows the authoritative command list
  • type a task (or use /task ...)
  • tool approvals: /auto-accept (or start with --auto-approve)
  • attach files with @path/to/file in your prompt

Prompt caching (best-effort)

AbstractCode defaults to --prompt-cache auto, which enables prompt caching when the runtime LLM client reports prompt-cache support via the AbstractCore capability contract (reduces repeated prefill work and can improve time-to-first-token).

Toggle:

  • CLI: --prompt-cache auto|on|off (or ABSTRACTCODE_PROMPT_CACHE=auto|on|off)
  • TUI: /cache auto|on|off

Provider notes:

  • mlx: full in-process KV caching with a 3-compartment cache: system | tools | history.
  • huggingface + GGUF (llama.cpp): same 3-compartment cache when AbstractCore can render the model's llama.cpp chat format exactly for caching (currently chatml-function-calling and llama-3); otherwise it falls back to stable keyed LlamaRAMCache reuse.
  • Remote APIs: prompt_cache_key is forwarded where applicable (server-managed; semantics vary by provider).

Details: docs/architecture.md and docs/faq.md.

Persistence (durable runs)

Default paths:

  • state file: ~/.abstractcode/state.json
  • durable stores: ~/.abstractcode/state.d/
  • saved settings: ~/.abstractcode/state.config.json

Disable persistence:

abstractcode --no-state

Workflows

  • Local runs: abstractcode flow run <flow_id_or_path> ... (requires abstractcode[flow])
  • Workflow agent: abstractcode --agent /path/to/workflow.json ...
  • Remote control-plane: abstractcode gateway --help
  • Bundle management on a gateway: abstractcode workflow --help

Details: docs/workflows.md.

Web UI

The web host lives in web/ and connects to an AbstractGateway at /api/gateway/*.

Start here:

Documentation

Development

pip install -e ".[dev]"
pytest -q
ruff check .
black .

Project

License

MIT. See LICENSE.

Metadata

Release files for abstractcode 0.3.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for abstractcode 0.3.8
File Size Uploaded
abstractcode-0.3.8.tar.gz 196.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for abstractcode 0.3.8
File Interpreter ABI Platform
abstractcode-0.3.8-py3-none-any.whl Python 3 none any Details

Total release size: 366.5 kB

Release files / abstractcode-0.3.8.tar.gz

Download URL abstractcode-0.3.8.tar.gz
Size 196.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c5c221ee169ce04966b25ce7485d9d4e7f2e56500e2b66d405331d73db33220c
BLAKE2b-256 checksum
How to use checksums
e9b6621181d93c73ade5daf6e54a5204008a80e451507281a75868c32d81843e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 31, 2026.

Transparency log

Release files / abstractcode-0.3.8-py3-none-any.whl

Download URL abstractcode-0.3.8-py3-none-any.whl
Size 169.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
58013a24c9460aea40c41c218f03a6ff6fb1d1598d6b32fb947f4fa97d25940d
BLAKE2b-256 checksum
How to use checksums
6efecef40fe72acf82876b88f45558c8c3d3d90d0acef38882a8e6c066640bc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 31, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.8 This release

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page