FlowLLM 是一个配置驱动的 LLM 应用框架:配置定义 Service、Component 和 Job;Job 顺序执行 Step;Service 把 Job 暴露给 CLI、HTTP 或 MCP。
FlowLLM 要求 Python 3.11+。
git clone https://github.com/flowllm-ai/flowllm.git
cd flowllm
pip install -e ".[dev]"需要 Claude Code wrapper 时再安装:
pip install -e ".[claude-code]"flowllm start默认服务地址是 127.0.0.1:2333,默认 workspace 是 .flowllm/。可以用 dot notation 覆盖配置:
flowllm start service.port=8181 enable_logo=false
flowllm start workspace_dir=/tmp/flowllm-demo service.host=127.0.0.1 service.port=8181启动时会自动创建:
.flowllm/
├── metadata/
└── session/
服务启动后,CLI 的非 start 命令会调用服务端 Job:
flowllm version
flowllm health_check
flowllm help
flowllm demo query="Hello FlowLLM" min_score=0.8
flowllm add a=1 b=2HTTP 入口是 POST /<job_name>:
curl -s http://127.0.0.1:2333/add \
-H 'Content-Type: application/json' \
-d '{"a":1,"b":2}'流式 Job 返回 SSE:
flowllm stream_demo query="Hi" repeat=3 interval=0.05
curl -N http://127.0.0.1:2333/stream_demo \
-H 'Content-Type: application/json' \
-d '{"query":"Hi","repeat":3,"interval":0.05}'默认配置在 flowllm/config/default.yaml。可通过 .env 覆盖 LLM、embedding 等变量:
cat > .env <<'EOF'
LLM_BACKEND=openai
LLM_MODEL_NAME=qwen3.7-plus
LLM_API_KEY=your_api_key
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
EMBEDDING_BACKEND=openai
EMBEDDING_MODEL_NAME=text-embedding-v4
EMBEDDING_API_KEY=your_api_key
EMBEDDING_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
EOF也可以指定 YAML/JSON:
flowllm start config=/path/to/app.yaml最小 Job 配置:
service:
backend: http
jobs:
add:
backend: base
description: "add two numbers"
steps:
- backend: add_step常用 Job backend:
| backend | 说明 |
|---|---|
base |
返回 JSON Response |
stream |
返回 SSE 流 |
background |
后台循环任务 |
cron |
定时任务 |
更多实现细节见 代码框架。