Skip to main content

Lightweight agent loop and context manager (standalone)

Project description

nimbie

nimbie is a terminal-first coding assistant shell.

This repository now contains two main parts:

  • nimbie (root package): REPL/UI, command tools, shell execution flow, session UX
  • oturn (sub-package): standalone async orchestration/runtime core for agent turns

Repository Layout

  • src/nimbie: CLI app and terminal UI
  • oturn/src/oturn: reusable orchestration package
  • chron: chronml package used for message/config templating
  • flash: shell runtime bridge and executor components

Requirements

  • Python >=3.11
  • uv (recommended)

Install (Root CLI)

uv sync
uv pip install -e .

Run:

nimbie --help
uv run nimbie --help

Install (oturn only)

If you only want the orchestration package:

cd oturn
uv sync
uv pip install -e .

Build

Root package:

uv build

oturn package:

cd oturn
uv build

Config

The CLI loads config from (first match wins by runtime path logic):

  • ~/.nimbie/config.py
  • ~/.nimbie/config.json
  • ~/.openclaw/openclaw.json
  • .nimbie_config.py
  • .nimbie_config.json

Provider profiles may also opt into fake Claude Code request headers for Anthropic-compatible APIs:

CONFIG = {
    "models": {
        "providers": {
            "anthropic_like": {
                "api": "anthropic-messages",
                "baseUrl": "https://example.invalid/anthropic",
                "models": [{"id": "claude-test"}],
            }
        }
    },
    "auth": {
        "profiles": {
            "demo": {
                "provider": "anthropic_like",
                "apiKey": "sk-...",
                "apiKeyHeader": "authorization_bearer",
                "fakeClaudeCode": True,
            }
        }
    },
}

When enabled, nimbie adds Claude Code style headers such as x-app, User-Agent, and X-Claude-Code-Session-Id. You can override the generated values with:

  • NIMBIE_CLAUDE_CODE_SESSION_ID
  • NIMBIE_CLAUDE_CODE_USER_AGENT
  • CLAUDE_CODE_CONTAINER_ID
  • CLAUDE_CODE_REMOTE_SESSION_ID
  • CLAUDE_AGENT_SDK_CLIENT_APP
  • CLAUDE_CODE_ADDITIONAL_PROTECTION

You can also force query params onto the provider base URL:

"extraQueryParams": {
    "beta": "true"
}

This is merged onto api_base before the LiteLLM request is sent.

Debug Environment Variables

For shell-tool debugging, nimbie also reads these environment variables:

  • NIMBIE_SHELL_DEBUG=1 Emit lifecycle/debug lines for execute_shell_command.
  • NIMBIE_SHELL_STREAM_QUEUE_MAX=1024 Override the max in-memory streamed shell event queue size.
  • NIMBIE_SHELL_DEBUG_EVENT_SAMPLE_EVERY=1000 When debug is enabled, print a sample log every N streamed events/drops.
  • NIMBIE_SHELL_THREAD_JOIN_MS=50 Override the polling/join interval used while waiting for streamed shell execution.

Example:

NIMBIE_SHELL_DEBUG=1 \
NIMBIE_SHELL_STREAM_QUEUE_MAX=256 \
NIMBIE_SHELL_DEBUG_EVENT_SAMPLE_EVERY=200 \
nimbie --ui-version v2 --debug-tool-calls --debug-loop

Session and History

  • Session artifacts are stored under .nimbie/ in the workspace/global locations used by CLI.
  • The UI supports continue/list/export workflows via CLI flags and REPL commands.

Notes

  • Flash runtime is expected for shell parsing/execution flow.
  • oturn does not use global auto tool registry; tools are injected explicitly at runtime.

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

nimbie_shell-0.0.3.dev27.tar.gz (143.5 kB view details)

Uploaded Source

Built Distribution

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

nimbie_shell-0.0.3.dev27-py3-none-any.whl (171.9 kB view details)

Uploaded Python 3

File details

Details for the file nimbie_shell-0.0.3.dev27.tar.gz.

File metadata

  • Download URL: nimbie_shell-0.0.3.dev27.tar.gz
  • Upload date:
  • Size: 143.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nimbie_shell-0.0.3.dev27.tar.gz
Algorithm Hash digest
SHA256 2265de98b9143ed6034e1919c05e6b92819bbe1a224e2d6b83d7ac2e21b1d683
MD5 12d764d6070e7ff5ea09c7ac44de5a4d
BLAKE2b-256 48a058de957d5f508aedf36423560f678fbdd40cc2a651e0a57baa15b89f93d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for nimbie_shell-0.0.3.dev27.tar.gz:

Publisher: publish-nimbie-shell.yml on draplater/nimbie

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nimbie_shell-0.0.3.dev27-py3-none-any.whl.

File metadata

File hashes

Hashes for nimbie_shell-0.0.3.dev27-py3-none-any.whl
Algorithm Hash digest
SHA256 077b9b50029d4d6b850d4ff7edf106bbe81e670fa4faadc3647da9bc1f292122
MD5 eececf830ca486cc9d115090df972d03
BLAKE2b-256 ccdb8631ef9b6cb9c4719b5c2f86463848997ff6072e51ebbd35562ca8ab2fe7

See more details on using hashes here.

Provenance

The following attestation bundles were made for nimbie_shell-0.0.3.dev27-py3-none-any.whl:

Publisher: publish-nimbie-shell.yml on draplater/nimbie

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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