You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(lite): add FlowLLM Lite CLI runner with BaseFlow and BaseConfig
- Introduce flowllm.lite module with BaseConfig and BaseFlow classes
- Add CLI interface with 'fl' command for lightweight flow execution
- Implement flow registration system with @register decorator
- Create demo flow example showing config-driven execution
- Add comprehensive README documentation for FlowLLM Lite usage
- Register 'fl' command in pyproject.toml with claude-agent-sdk dependency
- Remove unused file I/O constants from flowllm/constants.py
- Update main README with minimal CLI flow section and improved formatting
Copy file name to clipboardExpand all lines: README.md
+48-33Lines changed: 48 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,20 +18,29 @@
18
18
<strong>FlowLLM: Build LLM applications with ease.</strong><br>
19
19
</p>
20
20
21
-
FlowLLM is a configuration-driven LLM application framework that organizes workflows, service entrypoints, and long-lived components with **Service, Job, Step, and Component**.
21
+
FlowLLM is a configuration-driven LLM application framework that organizes workflows, service entrypoints, and
22
+
long-lived components with **Service, Job, Step, and Component**.
22
23
23
-
## Core Features
24
+
## ✨ Core Features
24
25
25
26
-**Configuration-driven**: Starts from `flowllm/config/default.yaml`, with config files and dot-notation overrides.
|`version`|`base`| Returns the FlowLLM package version.|
128
+
|`health_check`|`base`| Returns a component health-check summary.|
129
+
|`help`|`base`| Lists registered Jobs and their metadata.|
130
+
|`demo`|`base`| Two-step echo example.|
131
+
|`add`|`base`| Adds two numbers.|
132
+
|`stream_demo`|`stream`| Streams the input text character by character. |
123
133
124
-
## Configuration
134
+
## ⚙️ Configuration
125
135
126
-
The default configuration is located at `flowllm/config/default.yaml`. Root configuration sections include application parameters, service, Jobs, and Components:
136
+
The default configuration is located at `flowllm/config/default.yaml`. Root configuration sections include application
137
+
parameters, service, Jobs, and Components:
127
138
128
139
```yaml
129
140
service:
@@ -159,24 +170,25 @@ You can also specify a YAML or JSON configuration file:
159
170
flowllm start config=/path/to/app.yaml
160
171
```
161
172
162
-
Configuration parsing supports `${VAR}`, `${VAR:-default}`, booleans, numbers, JSON lists and dictionaries, and automatic `null` conversion.
173
+
Configuration parsing supports `${VAR}`, `${VAR:-default}`, booleans, numbers, JSON lists and dictionaries, and
| `Application` | Loads configuration, creates the workspace, assembles Service, Components, and Jobs, and starts lifecycles in dependency order. |
175
-
| `Service` | Exposes servable Jobs as HTTP routes or MCP tools. |
176
-
| `Job` | Orchestrates externally callable capabilities or background processes by executing Steps in order. |
177
-
| `Step` | Atomic workflow operation that reads and writes `RuntimeContext`, `Response`, and streaming queues. |
178
-
| `Component` | Long-lived infrastructure such as LLMs, Embeddings, Embedding Stores, and Agent Wrappers. |
179
-
| `Registry` | Global registry `R`, which looks up implementations by `(component_type, backend_name)`. |
187
+
| `Service` | Exposes servable Jobs as HTTP routes or MCP tools. |
188
+
| `Job` | Orchestrates externally callable capabilities or background processes by executing Steps in order. |
189
+
| `Step` | Atomic workflow operation that reads and writes `RuntimeContext`, `Response`, and streaming queues. |
190
+
| `Component` | Long-lived infrastructure such as LLMs, Embeddings, Embedding Stores, and Agent Wrappers. |
191
+
| `Registry` | Global registry `R`, which looks up implementations by `(component_type, backend_name)`. |
180
192
181
193
Minimal example for adding a Step:
182
194
@@ -211,11 +223,13 @@ jobs:
211
223
- backend: reverse_step
212
224
```
213
225
214
-
After adding an implementation, make sure the module is imported in the package `__init__.py`; otherwise, the registration decorator will not run. See the [code framework](docs/en/framework.md) for details.
226
+
After adding an implementation, make sure the module is imported in the package `__init__.py`; otherwise, the
227
+
registration decorator will not run. See the [code framework](docs/en/framework.md) for details.
215
228
216
-
## MCP Service
229
+
## 🔌 MCP Service
217
230
218
-
When the service backend is set to `mcp`, FlowLLM exposes non-streaming Jobs with `enable_serve: true` as MCP tools. `StreamJob` is not exposed by MCP Service.
231
+
When the service backend is set to `mcp`, FlowLLM exposes non-streaming Jobs with `enable_serve: true` as MCP tools.
232
+
`StreamJob`is not exposed by MCP Service.
219
233
220
234
```yaml
221
235
service:
@@ -227,26 +241,27 @@ service:
227
241
228
242
MCP transport supports `stdio`, `sse`, and `streamable-http`.
229
243
230
-
## Documentation
244
+
## 📚 Documentation
231
245
232
246
- [Quick Start](docs/en/quick_start.md)
233
247
- [Code Framework](docs/en/framework.md)
234
248
- [Contributing](docs/en/contributing.md)
235
249
- [FlowLLM Development Skill](skills/flowllm_dev/SKILL.md)
236
250
237
-
## Open Source and Contributing
251
+
## 🤝 Open Source and Contributing
238
252
239
-
FlowLLM is licensed under Apache 2.0. Before contributing, read the [contribution guide](docs/en/contributing.md) and [development skill](skills/flowllm_dev/SKILL.md), then run:
253
+
FlowLLM is licensed under Apache 2.0. Before contributing, read the [contribution guide](docs/en/contributing.md)
254
+
and [development skill](skills/flowllm_dev/SKILL.md), then run:
240
255
241
256
```bash
242
257
pre-commit run --all-files
243
258
pytest
244
259
```
245
260
246
-
## License
261
+
## 📄 License
247
262
248
263
This project is open source under the Apache License 2.0. See [LICENSE](./LICENSE) for details.
249
264
250
-
## Star History
265
+
## ⭐ Star History
251
266
252
267
[](https://www.star-history.com/#flowllm-ai/flowllm&Date)
Lite flow is designed to be direct to read and easy to change:
70
+
71
+
- One flow class maps to one action.
72
+
- One step is a zero-argument method that reads from `self.config`.
73
+
- Steps pass intermediate values through `self.context`.
74
+
-`build_steps()` declares execution order explicitly.
75
+
-`output_keys` declares final output explicitly.
76
+
77
+
This implementation does not handle service startup, remote calls, plugin orchestration, complex dependency injection, or streaming protocols. Use the full FlowLLM framework when those capabilities are needed.
0 commit comments