{"id":26688414,"url":"https://github.com/ai-zerolab/floword","last_synced_at":"2025-04-12T19:07:29.880Z","repository":{"id":280928489,"uuid":"940972823","full_name":"ai-zerolab/Floword","owner":"ai-zerolab","description":"Building workflow with natural language.","archived":false,"fork":false,"pushed_at":"2025-04-07T18:01:01.000Z","size":844,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-12T19:07:21.465Z","etag":null,"topics":["chatbot","llm","mcp","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ai-zerolab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-01T07:06:33.000Z","updated_at":"2025-03-18T06:18:10.000Z","dependencies_parsed_at":"2025-03-06T04:24:18.697Z","dependency_job_id":"0af9544c-5ed0-4e2b-af7d-20bb5a58d8c7","html_url":"https://github.com/ai-zerolab/Floword","commit_stats":null,"previous_names":["ai-zerolab/floword"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai-zerolab%2FFloword","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai-zerolab%2FFloword/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai-zerolab%2FFloword/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai-zerolab%2FFloword/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ai-zerolab","download_url":"https://codeload.github.com/ai-zerolab/Floword/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248618276,"owners_count":21134200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","llm","mcp","python"],"created_at":"2025-03-26T13:19:04.775Z","updated_at":"2025-04-12T19:07:29.828Z","avatar_url":"https://github.com/ai-zerolab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# floword\n\n[![Release](https://img.shields.io/github/v/release/ai-zerolab/floword)](https://img.shields.io/github/v/release/ai-zerolab/floword)\n[![Build status](https://img.shields.io/github/actions/workflow/status/ai-zerolab/floword/main.yml?branch=main)](https://github.com/ai-zerolab/floword/actions/workflows/main.yml?query=branch%3Amain)\n[![codecov](https://codecov.io/gh/ai-zerolab/floword/branch/main/graph/badge.svg)](https://codecov.io/gh/ai-zerolab/floword)\n[![Commit activity](https://img.shields.io/github/commit-activity/m/ai-zerolab/floword)](https://img.shields.io/github/commit-activity/m/ai-zerolab/floword)\n[![License](https://img.shields.io/github/license/ai-zerolab/floword)](https://img.shields.io/github/license/ai-zerolab/floword)\n\nBackend implementation for building workflow with natural language\n\n- **Github repository**: \u003chttps://github.com/ai-zerolab/floword/\u003e\n- (WIP)**Documentation** \u003chttps://ai-zerolab.github.io/floword/\u003e\n\n## Installation\n\nWe recommend using [uv](https://github.com/astral-sh/uv) to manage your environment.\n\n```bash\n# Install uv\ncurl -LsSf https://astral.sh/uv/install.sh | sh  # For macOS/Linux\n# or\npowershell -ExecutionPolicy ByPass -c \"irm https://astral.sh/uv/install.ps1 | iex\"  # For Windows\n```\n\nThen you can use `uvx floword@latest strat` as commands for running the floword server.\n\nDocker is also supported. You can use `docker pull ghcr.io/ai-zerolab/floword:latest` to pull the image from Github Container Registry.\n\n(WIP) You can found deployment instructions in [deploy](./deploy) directory.\n\n## Configuration\n\n### Via Environment Variables\n\nYou can use `.env` file or environment variables to configure floword. All environment variables should be prefixed with `FLOWORD_` (case-insensitive).\n\nAvailable options:\n\n#### Authentication\n\n- `FLOWORD_JWT_SECRET_TOKEN`: Secret token for JWT authentication. Default: `None`\n- `FLOWORD_ALLOW_ANONYMOUS`: Allow anonymous access. Default: `True`\n\n#### Database Configuration\n\n- `FLOWORD_SQLITE_FILE_PATH`: Path to SQLite database file. Default: `./floword.sqlite` (in current working directory)\n- `FLOWORD_USE_POSTGRES`: Use PostgreSQL instead of SQLite. Default: `False`\n- `FLOWORD_PG_USER`: PostgreSQL username. Default: `postgres`\n- `FLOWORD_PG_PASSWORD`: PostgreSQL password. Default: `postgres`\n- `FLOWORD_PG_HOST`: PostgreSQL host. Default: `localhost`\n- `FLOWORD_PG_PORT`: PostgreSQL port. Default: `5432`\n- `FLOWORD_PG_DATABASE`: PostgreSQL database name. Default: `floword`\n\n#### Streamer Configuration\n\n- `FLOWORD_REDIS_URL`: Redis URL for streaming messages in distributed mode. Default: `None`\n\n#### Model Configuration\n\n- `FLOWORD_DEFAULT_MODEL_PROVIDER`: Default LLM provider. Default: `openai`\n- `FLOWORD_DEFAULT_MODEL_NAME`: Default model name. Default: `None`\n- `FLOWORD_DEFAULT_MODEL_KWARGS`: Additional arguments for the model (as JSON string). Default: `None`\n- `FLOWORD_DEFAULT_CONVERSATION_SYSTEM_PROMPT`: Default system prompt for conversations. Default: Content from `floword/prompts/system-conversation.md`\n- `FLOWORD_DEFAULT_WORKFLOW_SYSTEM_PROMPT`: Default system prompt for workflows. Default: Content from `floword/prompts/system-workflow.md`\n\n### Config MCP Server\n\nUse `FLOWORD_MCP_CONFIG_PATH` to specify the path to the MCP configuration file. Default: `./mcp.json` (in current working directory)\n\nThe MCP configuration file should be a json file with the following structure:\n\n```json\n{\n  \"mcpServers\": {\n    \"zerolab-toolbox\": {\n      \"args\": [\"mcp-toolbox@latest\", \"stdio\"],\n      \"command\": \"uvx\",\n      \"env\": {\n        \"FIGMA_API_KEY\": \"your-figma-api-key\"\n      }\n    },\n    \"sse-server\": {\n      \"url\": \"http://localhost:8000\",\n      \"headers\": {},\n      \"timeout\": 5,\n      \"sse_read_timeout\": 300\n    }\n  }\n}\n```\n\n## Development\n\n### Local Setup\n\nFork the repository and clone it to your local machine.\n\n```bash\n# Install in development mode\nmake install\n# Activate a virtual environment\nsource .venv/bin/activate  # For macOS/Linux\n# or\n.venv\\Scripts\\activate  # For Windows\n```\n\n### Running Tests\n\n```bash\nmake test\n```\n\n### Running Checks\n\n```bash\nmake check\n```\n\n### Building Documentation\n\n```bash\nmake docs\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n1. Create a feature branch (`git checkout -b feature/amazing-feature`)\n1. Commit your changes (`git commit -m 'Add some amazing feature'`)\n1. Push to the branch (`git push origin feature/amazing-feature`)\n1. Open a Pull Request\n\n## License\n\nThis project is licensed under the terms of the license included in the repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fai-zerolab%2Ffloword","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fai-zerolab%2Ffloword","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fai-zerolab%2Ffloword/lists"}