使用说明
Git聊天日志
以开发人员为中心的工具,利用Git作为后端来管理会议记录和后台日志。通过模型上下文协议(MCP)和LangChain,您可以与LLM结合使用自然语言自动执行文档管理任务。
🚀 主要功能
📋 后台管理
- 创建/修改/删除:管理backlog物品的整个生命周期
- 状态跟踪:待办事项、正在进行中、审核、已完成、已阻止、已取消
- 优先级管理:1-5级优先级系统
- 分配联系人:指定和跟踪工作联系人
- 标记系统:灵活的分类体系
- 管理截止日期:设置截止日期和超时通知
📝 管理会议记录
- 结构化会议记录:对参与者、案件、笔记等进行系统管理
- 自动生成文件名:基于日期的自动命名
- Git版本管理:跟踪所有更改
🔍 高级搜索功能
- 全文搜索:在标题和说明中搜索关键字
- 多重过滤:状态、联系人、优先级、标签等
- 搜索日期范围:创建日期、修改日期、截止日期
- 排序选项:可按各种字段排序
- 分页:高效处理大量数据
- 统计信息:提供实时聚合数据
- 矢量搜索:使用ChromaDB进行基于语义的搜索
🤖 AI集成
- MCP服务器:实现基于FastAPI的MCP协议
- LangChain代理:处理自然语言命令
- 自动摘要:通过LLM的文本摘要
- 智能搜索:基于语义的backlog搜索
🛠️ 技术堆栈
- 后端:Python、FastAPI
- Git集成:GitPython
- LLM集成:LangChain、LangChain mcp适配器
- 矢量数据库:ChromaDB
- 调度程序:APScheduler
- MCP支持:fastapi mcp
📦 安装
1.存储库克隆
git clone https://github.com/yourusername/git-chat-log.git
cd git-chat-log
2.设置虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
3.安装依赖性
pip install -r requirements.txt
4.设置环境变量
.env 创建文件并设置以下内容:
# Git 설정
GIT_REPO_PATH=./git_repo
GIT_USER_NAME=Your Name
GIT_USER_EMAIL=your.email@example.com
# OpenAI API (선택사항)
OPENAI_API_KEY=your-api-key
# ChromaDB
CHROMA_PERSIST_PATH=./chroma_db
CHROMA_COLLECTION_NAME=backlogs
# 알림 설정 (선택사항)
SLACK_WEBHOOK_URL=your-slack-webhook
DISCORD_WEBHOOK_URL=your-discord-webhook
🚀 执行
FastAPI-MCP服务器运行
python fastapi_mcp_server.py
服务器 http://localhost:8001在中运行。
- API文档:http://localhost:8001/docs
- MCP SSE:http://localhost:8001/mcp/sse
- MCP HTTP:http://localhost:8001/mcp
📖 API使用示例
创建备份日志
curl -X POST http://localhost:8001/backlogs/create \
-H "Content-Type: application/json" \
-d '{
"title": "새로운 기능 구현",
"description": "사용자 인증 시스템 추가",
"priority": 2,
"assignee": "developer1",
"tags": ["feature", "security"]
}'
后台搜索(高级查询)
# GET 방식
curl "http://localhost:8001/backlogs/query?status=todo&priority_min=1&priority_max=3&sort_by=priority"
# POST 방식 (더 복잡한 쿼리)
curl -X POST http://localhost:8001/backlogs/query \
-H "Content-Type: application/json" \
-d '{
"full_text": "security",
"status": ["todo", "in_progress"],
"tags": ["security"],
"sort_by": "updated_at",
"sort_order": "desc",
"include_stats": true
}'
备份日志更新
curl -X PUT http://localhost:8001/backlogs/update \
-H "Content-Type: application/json" \
-d '{
"item_id": "your-backlog-id",
"title": "업데이트된 제목",
"status": "in_progress",
"priority": 1
}'
只更改backlog状态
curl -X PUT http://localhost:8001/backlogs/status \
-H "Content-Type: application/json" \
-d '{
"item_id": "your-backlog-id",
"status": "done"
}'
删除备份日志
# 아카이브 후 삭제 (기본값)
curl -X DELETE http://localhost:8001/backlogs/your-backlog-id
# 영구 삭제
curl -X DELETE http://localhost:8001/backlogs/your-backlog-id?archive=false
🔍 查询参数选项
搜索文本
full_text-在标题和说明中搜索title_contains-仅在标题中搜索description_contains-仅在说明中搜索
过滤
status-状态过滤器(可以有多个)assignee-联系人筛选器priority_min,priority_max-优先级范围tags-标签过滤器(匹配任何一个)tags_all-标签筛选器(全部匹配)
日期筛选器
created_after,created_before-创建日期范围updated_after,updated_before-修改日期范围due_after,due_before-截止日期范围has_due_date-是否存在截止日期
排序和分页
sort_by- 정렬 필드 (created_at、updated_at、优先级、标题、状态)sort_order-对齐方向(asc,desc)limit-最大结果数(1-100)offset-跳过的结果数
其他选项
include_stats-包括统计信息include_archived-包括已存档的项目
📁 项目结构
git-chat-log/
├── src/
│ ├── models/ # 데이터 모델
│ │ ├── backlog.py
│ │ └── meeting.py
│ ├── services/ # 비즈니스 로직
│ │ ├── git_service.py
│ │ ├── vector_service.py
│ │ ├── scheduler_service.py
│ │ └── notification_service.py
│ └── api/ # API 엔드포인트
│ └── mcp_tools.py
├── config/ # 설정 파일
│ └── settings.py
├── git_repo/ # Git 저장소 (자동 생성)
│ ├── meetings/ # 회의록
│ ├── backlogs/ # 백로그
│ └── archives/ # 아카이브
├── chroma_db/ # 벡터 데이터베이스
├── fastapi_mcp_server.py # 메인 서버
├── requirements.txt # 의존성
└── README.md # 문서
🔧 开发状态
已完成的功能
- Git后端系统
- 后台CRUD操作
- 管理会议记录
- 高级搜索和过滤
- 实施MCP协议
- ChromaDB矢量搜索
- 日程表管理系统
- 通知系统基础
🚧 正在开发
- Slack/Discord机器人集成
- Web UI界面
- 更多LLM集成
📝 许可证
MIT许可证
🤝 贡献
欢迎您的贡献!请发送Pull Request。
📧 询问
请通过GitHub Issues留下问题或疑问。
