AI Intent Recognition and Advertising Recommendation Engine development assistant
这是一个帮助开发者在 Project Heimdall(AI意图识别与广告推荐引擎原型)代码库中工作的技能。
Project Heimdall 是一个开源的、模块化的 AI 意图识别与广告推荐引擎原型。它是广告投放系统的核心"大脑",使用 FastAPI 构建,集成通义千问(Qwen)LLM。
1. **API 层** (`src/heimdall/api/`) - FastAPI 路由和端点
2. **核心基础设施** (`src/heimdall/core/`) - 数据库、配置、安全、日志
3. **服务层** (`src/heimdall/services/`) - 业务逻辑和 LLM 集成
4. **工具系统** (`src/heimdall/tools/`) - 动态工具注册和执行
```bash
python -m venv .venv
.venv\Scripts\activate
source .venv/bin/activate
pip install -r requirements.txt
pip install -e ".[dev,test,mcp]"
```
```bash
start.bat
set PYTHONPATH=src
python run_server.py
stop.bat
```
```bash
black src/ tests/
ruff check src/ tests/
mypy src/
black src/ tests/ && ruff check src/ tests/ && mypy src/
```
```bash
pytest
pytest --cov=src
pytest tests/test_endpoints.py
pytest -v
```
```bash
psql -d heimdall_db -f sql/001_initial_schema.sql
```
按照以下步骤添加新的 API 端点:
1. 在 `src/heimdall/api/endpoints/` 创建路由文件
2. 使用 Pydantic 定义请求/响应模型
3. 在服务层实现业务逻辑 (`src/heimdall/services/`)
4. 在 `main.py` 中注册路由
5. 在 `tests/` 中添加测试用例
按照以下步骤添加新的工具函数:
1. 在 `src/heimdall/tools/` 实现工具函数
2. 在 `tools/registry.py` 注册工具
3. 添加工具参数的 schema 定义
4. 通过 `/api/v1/tools/call` 端点测试
按照以下步骤修改数据库:
1. 在 `sql/` 更新迁移文件
2. 修改 `models/db_models.py` 中的 SQLAlchemy 模型
3. 如需要,更新 Pydantic schemas
4. 为新功能添加测试
必需的环境变量(参见 `.env.template`):
**重要**: 本项目要求所有代码注释和日志消息使用中文。
#### 代码注释规范
#### 日志记录规范
#### 示例代码
```python
class UserService:
"""
用户服务类,提供用户管理相关的业务功能
包括用户创建、查询、更新、删除等操作
"""
async def get_user_by_id(self, user_id: int) -> Optional[User]:
"""
根据用户ID获取用户信息
Args:
user_id: 用户ID
Returns:
Optional[User]: 用户对象,如果不存在返回None
"""
try:
logger.info(f"正在获取用户信息,用户ID: {user_id}")
# 查询数据库获取用户信息
user = await self.user_repository.get_by_id(user_id)
if user:
logger.info(f"成功获取用户信息,用户ID: {user_id}")
return user
else:
logger.warning(f"用户不存在,用户ID: {user_id}")
return None
except Exception as e:
logger.error(f"获取用户信息失败,用户ID: {user_id},错误: {str(e)}")
raise
```
当在 Project Heimdall 代码库中工作时,Claude Code 将:
1. 遵循中文注释和日志的编码规范
2. 使用提供的开发命令和工作流
3. 遵守分层架构模式
4. 实施适当的错误处理和日志记录
5. 为所有新功能编写测试
6. 遵循异步/等待模式
7. 使用 FastAPI 依赖注入
8. 保持代码风格一致(black + ruff)
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/project-heimdall-development/raw