Skip to main content

FlowJet

PyPI version Python versions License: MIT

FlowJet is a coding agent you can run two ways:

  • fj — ask a question in your terminal, get an answer. No UI, no context-switching.
  • flowjet-server — the same agent as a service: ACP over WebSocket and an OpenAI-compatible HTTP API, so any OpenAI SDK can drive it.

It runs on soothe-nano — tools, skills, MCP, subagents — with SQLite persistence, so every conversation is resumable.


Install

pip install flowjet              # CLI
pip install 'flowjet[server]'    # CLI + HTTP service

Requires Python 3.11+. The server is an optional extra — installing just flowjet pulls a single runtime dependency.

Configure

fj setup                         # guided: pick a local or hosted model
# or, with no config file at all:
export OPENAI_API_KEY=sk-...
fj summarize README.md

fj setup writes $FLOWJET_HOME/config/nano.yml (default ~/.flowjet/config/nano.yml). Without it, FlowJet falls back to OPENAI_API_KEY or ANTHROPIC_API_KEY.

Not sure your machine is ready? fj doctor (add --deep, --live-llm).

Backends

Two runtimes can build the agent; they are switched independently per surface:

Env var Surface Default Values
FLOWJET_BACKEND CLI (fj) soothe soothe, nano
FLOWJET_SERVER_BACKEND flowjet-server / fj serve nano soothe, nano

soothe is the host runtime (extra middleware and tools over the same soothe-nano engine). The server defaults to nano because it needs a dual-mode agent — AGENT and ASK graphs selected per request — which soothe does not expose yet; on soothe the server builds one host agent per mode instead.


CLI

fj explain this repo
fj -f and now add tests          # continue this project's latest conversation
fjf what did we decide?          # short alias of fj -f
fj -l                            # list recent conversations
Flag Meaning
-f / --follow Continue the latest thread in this project
-t ID / --thread Continue (or pin) a specific thread — overrides -f
-l / --list List recent threads (newest first)
-n NUM How many threads -l shows (0 = all)
-a / --ask Read-only: answer without touching files
-v / --verbose Mirror tool calls on stderr
-c PATH / -w DIR Alternate nano.yml / workspace root

-f is scoped to your current project, so work in other checkouts never hijacks your thread.

Enable shell completion (predicts full queries, not just flags):

eval "$(fj completion zsh)"      # or: fj completion bash

Server

flowjet-server                   # host :: (dual-stack), port 8618
fj serve --port 8618             # same, from the CLI
from openai import OpenAI

client = OpenAI(api_key="local", base_url="http://127.0.0.1:8618/v1")
print(client.responses.create(model="default", input="Hello"))
Endpoint Purpose
POST /v1/responses Create a response (stream=true → SSE)
GET / DELETE /v1/responses/{id} Retrieve / cancel
POST /v1/chat/completions Chat Completions (non-stream + SSE)
GET /v1/models Model ids
GET /health Liveness
WS /acp Agent Client Protocol

Per-request options go in extra_body.flowjet:

Field Values Meaning
session string Isolates workspace + conversation thread
interaction_mode agent (default) | ask ask is hard read-only
projection report | progress | developer How much SSE detail to expose

Full configuration, environment variables and the security model: docs/server.md · deployment: deploy/README.md.


Extend

Add skills and MCP servers in nano.yml:

skills:
  - ~/.soothe/skills/my-reviewer

mcp_servers:
  - name: filesystem
    transport: stdio
    command: npx
    args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]

Skills are SKILL.md files loaded on demand; MCP tools activate on demand by default (defer: true).


Development

git clone https://github.com/caesar0301/flowjet.git
cd flowjet
make sync-dev && make test && make lint

Upgrading from 1.x

Version 2.0 merges the former flowjet-server project into this one. The distribution is now flowjet and import paths changed. See docs/upgrade.md.

License

MIT

Metadata

Release files for flowjet 2.1.6

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

Source distribution (sdist)

Source distribution for flowjet 2.1.6
File Size Uploaded Provenance
flowjet-2.1.6.tar.gz 285.9 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 601.2 kB

Release files / flowjet-2.1.6.tar.gz

Download URL flowjet-2.1.6.tar.gz
Size 285.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c80ad2d82e972ebdacacfc70aaa35b4e87188d3437a2544fd7351b73922cef84
BLAKE2b-256 checksum
How to use checksums
c7c92e54f68cdba8a048a8eb3e5156c6afe929b94fa191647fae715214829510
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / flowjet-2.1.6-py3-none-any.whl

Download URL flowjet-2.1.6-py3-none-any.whl
Size 315.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
91e7575e1c9dfc7d0ae2a304f52211c4f7b1e39c737c35067e3c297147c32dba
BLAKE2b-256 checksum
How to use checksums
54d965b818ba2d6ad33952e475d15b55fe4b75435b3b0dbe23e4313c9aaef32f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for flowjet 2.1.6

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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