From dd545cfb9729563995469e0c596d451440472b9b Mon Sep 17 00:00:00 2001 From: Henry Li Date: Wed, 14 Jan 2026 07:09:20 +0800 Subject: [PATCH] chore: init --- .dockerignore | 53 ++++++++++++++++++++++++++++++++++++ .gitignore | 25 +++++++++++++++++ LICENSE | 21 +++++++++++++++ README.md | 31 +++++++++++++++++++++ config.example.yaml | 66 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 196 insertions(+) create mode 100644 .dockerignore create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 config.example.yaml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..3faf7a1 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,53 @@ +.env +Dockerfile +.dockerignore +.git +.gitignore + +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +.venv/ + +# Web +node_modules +npm-debug.log +.next + +# IDE +.idea/ +.vscode/ +*.swp +*.swo + +# OS +.DS_Store +Thumbs.db + +# Project specific +conf.yaml +web/ +docs/ +examples/ +assets/ +tests/ +*.log diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d1e21e8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# OS generated files +.DS_Store +*.local +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# Virtual environments +.venv +venv/ + +# Environment variables +.env + +# Configuration files +config.yaml + +# IDE +.idea/ + +# Coverage report +coverage.xml +coverage/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5208ec4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Bytedance Ltd. and/or its affiliates + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..2ee85c9 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# 🦌 DeerFlow - v2 + +> Originated from Open Source, give back to Open Source. + +## License + +This project is open source and available under the [MIT License](./LICENSE). + +## Acknowledgments + +DeerFlow is built upon the incredible work of the open-source community. We are deeply grateful to all the projects and contributors whose efforts have made DeerFlow possible. Truly, we stand on the shoulders of giants. + +We would like to extend our sincere appreciation to the following projects for their invaluable contributions: + +- **[LangChain](https://github.com/langchain-ai/langchain)**: Their exceptional framework powers our LLM interactions and chains, enabling seamless integration and functionality. +- **[LangGraph](https://github.com/langchain-ai/langgraph)**: Their innovative approach to multi-agent orchestration has been instrumental in enabling DeerFlow's sophisticated workflows. + +These projects exemplify the transformative power of open-source collaboration, and we are proud to build upon their foundations. + +### Key Contributors + +A heartfelt thank you goes out to the core authors of `DeerFlow`, whose vision, passion, and dedication have brought this project to life: + +- **[Daniel Walnut](https://github.com/hetaoBackend/)** +- **[Henry Li](https://github.com/magiccube/)** + +Your unwavering commitment and expertise have been the driving force behind DeerFlow's success. We are honored to have you at the helm of this journey. + +## Star History + +[![Star History Chart](https://api.star-history.com/svg?repos=bytedance/deer-flow&type=Date)](https://star-history.com/#bytedance/deer-flow&Date) diff --git a/config.example.yaml b/config.example.yaml new file mode 100644 index 0000000..1a38204 --- /dev/null +++ b/config.example.yaml @@ -0,0 +1,66 @@ +# Configuration for the DeerFlow application +# +# Guidelines: +# - The default path of this configuration file is `config.yaml` in the CWD (Current Working Directory) or the parent directory of the CWD. +# How ever you can change it using the `DEER_FLOW_CONFIG_PATH` environment variable. +# - Environment variables are available for all field values. Example: `api_key: $OPENAI_API_KEY` +# - Provider path is a string that looks like "package_name.sub_package_name.module_name:class_name/variable_name". + +models: + - name: doubao-seed-1.8 + display_name: Doubao 1.8 + use: langchain_deepseek:ChatDeepSeek + model: doubao-seed-1-8-251228 + api_base: https://ark.cn-beijing.volces.com/api/v3 + api_key: $ARK_API_KEY + supports_thinking: true + when_thinking_enabled: + extra_body: + thinking: + type: enabled + - name: gpt-5 + display_name: GPT-5 + use: langchain_openai:ChatOpenAI + model: gpt-5-251228 + api_base: https://api.openai.com/v1 + api_key: $OPENAI_API_KEY + supports_thinking: true + +tool_groups: + - name: web + - name: file:read + - name: file:write + - name: bash + +tools: + - name: web_search + group: web + use: src.community.tavily.tools:web_search_tool + max_results: 5 + + - name: web_fetch + group: web + use: src.community.jina_ai.tools:web_fetch_tool + timeout: 10 + + - name: ls + group: file:read + use: src.sandbox.tools:ls_tool + + - name: read_file + group: file:read + use: src.sandbox.tools:read_file_tool + + - name: write_file + group: file:write + use: src.sandbox.tools:write_file_tool + + - name: str_replace + group: file:write + use: src.sandbox.tools:str_replace_tool + + - name: bash + group: bash + use: src.sandbox.tools:bash_tool +sandbox: + use: src.sandbox.local:LocalSandboxProvider