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 UXoturn(sub-package): standalone async orchestration/runtime core for agent turns
Repository Layout
src/nimbie: CLI app and terminal UIoturn/src/oturn: reusable orchestration packagechron: chronml package used for message/config templatingflash: 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_IDNIMBIE_CLAUDE_CODE_USER_AGENTCLAUDE_CODE_CONTAINER_IDCLAUDE_CODE_REMOTE_SESSION_IDCLAUDE_AGENT_SDK_CLIENT_APPCLAUDE_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=1Emit lifecycle/debug lines forexecute_shell_command.NIMBIE_SHELL_STREAM_QUEUE_MAX=1024Override the max in-memory streamed shell event queue size.NIMBIE_SHELL_DEBUG_EVENT_SAMPLE_EVERY=1000When debug is enabled, print a sample log every N streamed events/drops.NIMBIE_SHELL_THREAD_JOIN_MS=50Override 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.
oturndoes not use global auto tool registry; tools are injected explicitly at runtime.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2265de98b9143ed6034e1919c05e6b92819bbe1a224e2d6b83d7ac2e21b1d683
|
|
| MD5 |
12d764d6070e7ff5ea09c7ac44de5a4d
|
|
| BLAKE2b-256 |
48a058de957d5f508aedf36423560f678fbdd40cc2a651e0a57baa15b89f93d2
|
Provenance
The following attestation bundles were made for nimbie_shell-0.0.3.dev27.tar.gz:
Publisher:
publish-nimbie-shell.yml on draplater/nimbie
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nimbie_shell-0.0.3.dev27.tar.gz -
Subject digest:
2265de98b9143ed6034e1919c05e6b92819bbe1a224e2d6b83d7ac2e21b1d683 - Sigstore transparency entry: 1361404559
- Sigstore integration time:
-
Permalink:
draplater/nimbie@2d6d6d9c86c8b19554f4c7e395981c9391728cbf -
Branch / Tag:
refs/tags/nimbie-shell-v0.0.3.dev27 - Owner: https://github.com/draplater
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-nimbie-shell.yml@2d6d6d9c86c8b19554f4c7e395981c9391728cbf -
Trigger Event:
push
-
Statement type:
File details
Details for the file nimbie_shell-0.0.3.dev27-py3-none-any.whl.
File metadata
- Download URL: nimbie_shell-0.0.3.dev27-py3-none-any.whl
- Upload date:
- Size: 171.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
077b9b50029d4d6b850d4ff7edf106bbe81e670fa4faadc3647da9bc1f292122
|
|
| MD5 |
eececf830ca486cc9d115090df972d03
|
|
| BLAKE2b-256 |
ccdb8631ef9b6cb9c4719b5c2f86463848997ff6072e51ebbd35562ca8ab2fe7
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nimbie_shell-0.0.3.dev27-py3-none-any.whl -
Subject digest:
077b9b50029d4d6b850d4ff7edf106bbe81e670fa4faadc3647da9bc1f292122 - Sigstore transparency entry: 1361404562
- Sigstore integration time:
-
Permalink:
draplater/nimbie@2d6d6d9c86c8b19554f4c7e395981c9391728cbf -
Branch / Tag:
refs/tags/nimbie-shell-v0.0.3.dev27 - Owner: https://github.com/draplater
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-nimbie-shell.yml@2d6d6d9c86c8b19554f4c7e395981c9391728cbf -
Trigger Event:
push
-
Statement type: