优化skill调用,生成相关文档说明
This commit is contained in:
67
.kiro/steering/tech.md
Normal file
67
.kiro/steering/tech.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# Tech Stack & Build
|
||||
|
||||
## Language & Runtime
|
||||
|
||||
- Python 3.11+
|
||||
|
||||
## Core Frameworks & Libraries
|
||||
|
||||
| Layer | Technology |
|
||||
|---|---|
|
||||
| Web framework | Flask 3.x + Flask-CORS |
|
||||
| ORM / Database | SQLAlchemy 2.x (MySQL via PyMySQL, SQLite for dev) |
|
||||
| Real-time comms | `websockets` library (standalone server on port 8765) |
|
||||
| Caching | Redis 5.x client + hiredis |
|
||||
| LLM integration | OpenAI-compatible API (default provider: Qwen/通义千问 via DashScope) |
|
||||
| Embedding | `sentence-transformers` with `BAAI/bge-small-zh-v1.5` (local, optional) |
|
||||
| NLP | jieba (Chinese word segmentation), scikit-learn (TF-IDF) |
|
||||
| Feishu SDK | `lark-oapi` 1.3.x (event subscription 2.0, long-connection mode) |
|
||||
| Data validation | pydantic 2.x, marshmallow |
|
||||
| Auth | JWT (`pyjwt`), SHA-256 password hashing |
|
||||
| Monitoring | psutil (in-process), Prometheus + Grafana (Docker) |
|
||||
|
||||
## Configuration
|
||||
|
||||
- All config loaded from environment variables via `python-dotenv` → `src/config/unified_config.py`
|
||||
- Singleton `UnifiedConfig` with typed dataclasses (`DatabaseConfig`, `LLMConfig`, `ServerConfig`, etc.)
|
||||
- `.env` file at project root (see `.env.example` for all keys)
|
||||
|
||||
## Common Commands
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
pip install -r requirements.txt
|
||||
|
||||
# Initialize / migrate database
|
||||
python init_database.py
|
||||
|
||||
# Start the full application (Flask + WebSocket + Feishu long-conn)
|
||||
python start_dashboard.py
|
||||
|
||||
# Start only the Feishu bot long-connection client
|
||||
python start_feishu_bot.py
|
||||
|
||||
# Run tests
|
||||
pytest
|
||||
|
||||
# Code formatting
|
||||
black .
|
||||
isort .
|
||||
|
||||
# Linting
|
||||
flake8
|
||||
mypy .
|
||||
```
|
||||
|
||||
## Deployment
|
||||
|
||||
- Docker + docker-compose (MySQL 8, Redis 7, Nginx, Prometheus, Grafana)
|
||||
- Nginx reverse proxy in front of Flask (port 80/443 → 5000)
|
||||
- Default ports: Flask 5000, WebSocket 8765, Redis 6379, MySQL 3306
|
||||
|
||||
## Code Quality Tools
|
||||
|
||||
- `black` for formatting (PEP 8)
|
||||
- `isort` for import sorting
|
||||
- `flake8` for linting
|
||||
- `mypy` for type checking
|
||||
Reference in New Issue
Block a user