floword
Backend implementation for building workflow with natural language
- Github repository: https://github.com/ai-zerolab/floword/
- (WIP)Documentation https://ai-zerolab.github.io/floword/
Installation
We recommend using uv to manage your environment.
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh # For macOS/Linux
# or
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" # For Windows
Then you can use uvx floword@latest strat as commands for running the floword server.
Docker is also supported. You can use docker pull ghcr.io/ai-zerolab/floword:latest to pull the image from Github Container Registry.
(WIP) You can found deployment instructions in deploy directory.
Configuration
Via Environment Variables
You can use .env file or environment variables to configure floword. All environment variables should be prefixed with FLOWORD_ (case-insensitive).
Available options:
Authentication
FLOWORD_JWT_SECRET_TOKEN: Secret token for JWT authentication. Default:NoneFLOWORD_ALLOW_ANONYMOUS: Allow anonymous access. Default:True
Database Configuration
FLOWORD_SQLITE_FILE_PATH: Path to SQLite database file. Default:./floword.sqlite(in current working directory)FLOWORD_USE_POSTGRES: Use PostgreSQL instead of SQLite. Default:FalseFLOWORD_PG_USER: PostgreSQL username. Default:postgresFLOWORD_PG_PASSWORD: PostgreSQL password. Default:postgresFLOWORD_PG_HOST: PostgreSQL host. Default:localhostFLOWORD_PG_PORT: PostgreSQL port. Default:5432FLOWORD_PG_DATABASE: PostgreSQL database name. Default:floword
Streamer Configuration
FLOWORD_REDIS_URL: Redis URL for streaming messages in distributed mode. Default:None
Model Configuration
FLOWORD_DEFAULT_MODEL_PROVIDER: Default LLM provider. Default:openaiFLOWORD_DEFAULT_MODEL_NAME: Default model name. Default:NoneFLOWORD_DEFAULT_MODEL_KWARGS: Additional arguments for the model (as JSON string). Default:NoneFLOWORD_DEFAULT_CONVERSATION_SYSTEM_PROMPT: Default system prompt for conversations. Default: Content fromfloword/prompts/system-conversation.mdFLOWORD_DEFAULT_WORKFLOW_SYSTEM_PROMPT: Default system prompt for workflows. Default: Content fromfloword/prompts/system-workflow.md
Config MCP Server
Use FLOWORD_MCP_CONFIG_PATH to specify the path to the MCP configuration file. Default: ./mcp.json (in current working directory)
The MCP configuration file should be a json file with the following structure:
{
"mcpServers": {
"zerolab-toolbox": {
"args": ["mcp-toolbox@latest", "stdio"],
"command": "uvx",
"env": {
"FIGMA_API_KEY": "your-figma-api-key"
}
},
"sse-server": {
"url": "http://localhost:8000",
"headers": {},
"timeout": 5,
"sse_read_timeout": 300
}
}
}
Development
Local Setup
Fork the repository and clone it to your local machine.
# Install in development mode
make install
# Activate a virtual environment
source .venv/bin/activate # For macOS/Linux
# or
.venv\Scripts\activate # For Windows
Running Tests
make test
Running Checks
make check
Building Documentation
make docs
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the terms of the license included in the repository.
Metadata
Release files for floword 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| floword-0.0.4.tar.gz | 197.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| floword-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 260.5 kB
Release files / floword-0.0.4.tar.gz
| Download URL | floword-0.0.4.tar.gz |
|---|---|
| Size | 197.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
10c44e1130acc80edea63774950b5615459918153227579834601454d2a20f57
|
|
BLAKE2b-256 checksum How to use checksums |
b791ad37de07dce6d59950005e45ccadf2d57b58f5f76f96654a2aefcd7778dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.2
|
Release files / floword-0.0.4-py3-none-any.whl
| Download URL | floword-0.0.4-py3-none-any.whl |
|---|---|
| Size | 63.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
57e705347e1e209bbc5fe8d864417a6d1deb15032d7a37e760c2a9280efa0673
|
|
BLAKE2b-256 checksum How to use checksums |
3df63335da47f458b030df2792ab222fe0b2e21803c9db54e0a4dfd1038ff727
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.2
|
Security for floword 0.0.4
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.