Based on "Master-Tool" Agent pattern, this bot provides Concurrent Search and Daily News Curation directly in Feishu (Lark).
Note: This is a pure Python implementation (FastAPI + LangChain/OpenAI SDK).
- 🔍 Concurrent Search: Paralleled search execution for "Tech", "Business", and "Policy" dimensions using Tavily API.
- 🧠 AI Curation: DeepSeek powered summarization and report generation.
- 📅 Subscription System: Users can subscribe to topics, manage push times, and get daily reports via Feishu Cards.
- ⚡ Interactive Cards:
- Edit Time: Form-based subscription time management.
- Loading State: Immediate feedback with loading cards during long AI tasks.
- Core: Python 3.10+, FastAPI
- LLM: DeepSeek V3 (via OpenAI SDK)
- Search: Tavily API
- Deployment: Docker & Docker Compose
- Platform: Feishu Open Platform (Event Subscription + Robot)
- Docker Installed
- Feishu App Created (with Robot & Bot capabilities)
- API Keys: DeepSeek, Tavily, Feishu App ID/Secret
Copy .env.example (create one based on code) or set env vars directly.
# .env
FEISHU_APP_ID=cli_xxx
FEISHU_APP_SECRET=xxx
FEISHU_VERIFICATION_TOKEN=xxx
FEISHU_ENCRYPT_KEY= (Optional)
DEEPSEEK_API_KEY=sk-xxx
TAVILY_API_KEY=tvly-xxxdocker-compose up --build -dThe service will listen on port 8000.
Configure your Feishu Event Subscription Request URL to: http://<your-server>/
.
├── main.py # Entry point & FastAPI app
├── src/
│ ├── agent/ # LLM Planning & Curation logic
│ ├── delivery/ # Feishu Card construction & sending
│ ├── tools/ # Search & Database tools
│ └── test_pipeline.py # Integration tests
├── tests/ # Unit tests
├── Dockerfile
└── docker-compose.yml
MIT