# tsr-test **Repository Path**: tsrmy/tsr-test ## Basic Information - **Project Name**: tsr-test - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-13 - **Last Updated**: 2026-03-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TSR-Test: Skill Agent with LangChain 一个基于 LangChain 和 Anthropic/Ollama 的智能技能代理系统,支持通过 Web 界面进行交互。 ## 项目结构 ``` tsr-test/ ├── tsr_test/ # 主包目录 │ ├── __init__.py │ ├── skill_loader.py # Skill 加载器 │ ├── skill_agent.py # Anthropic Agent 实现 │ ├── skill_agent_ollama.py # Ollama Agent 实现 │ ├── demo.py # 演示脚本 │ └── example_usage.py # 使用示例 │ ├── tests/ # 测试目录 │ ├── __init__.py │ ├── test_skill_agent.py │ ├── test_basic.py │ ├── test_skill_logic.py │ └── test_web.py │ ├── web/ # Web 相关 │ ├── __init__.py │ ├── backend.py # FastAPI 后端 │ └── index.html # 前端页面 │ ├── scripts/ # 脚本目录 │ ├── chat_validate.py # 交互式验证工具 │ ├── auto_test_ollama.py # 自动化测试 │ ├── quick_validate.py # 快速验证 │ └── simple_example.py # 简单示例 │ ├── skills/ # Skills 目录 │ └── skill-creator/ # 技能创建器 │ ├── docs/ # 文档目录 │ ├── IMPLEMENTATION.md │ ├── README_SKILL_AGENT.md │ ├── CHAT_VALIDATE_GUIDE.md │ ├── CHAT_VALIDATE_SUMMARY.md │ ├── WEB_GUIDE.md │ ├── WEB_SUMMARY.md │ ├── TEST_RESULTS.md │ └── SUMMARY.md │ ├── pyproject.toml ├── requirements.txt ├── .env.example ├── .gitignore └── README.md ``` ## 功能特性 - ✅ 支持 Anthropic API 和本地 Ollama 模型 - ✅ 自动技能加载和匹配 - ✅ Web 界面交互 - ✅ RESTful API 接口 - ✅ 对话历史管理 - ✅ 完整的测试套件 ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置环境变量 复制 `.env.example` 到 `.env` 并配置: ```bash cp .env.example .env ``` 编辑 `.env` 文件: ```env # Anthropic API Key(可选) ANTHROPIC_API_KEY=your_api_key_here # Ollama 配置(本地使用) OLLAMA_BASE_URL=http://localhost:11434 OLLAMA_MODEL=llama3.1 ``` ### 3. 启动 Web 应用 ```bash python -m web.backend ``` 访问 `http://localhost:8000` 使用 Web 界面。 ### 4. 运行测试 ```bash # 运行所有测试 python -m pytest tests/ # 运行特定测试 python tests/test_basic.py python tests/test_web.py ``` ## 使用示例 ### Web 界面 1. 启动服务器:`python -m web.backend` 2. 打开浏览器访问:`http://localhost:8000` 3. 选择模型提供商(Ollama 或 Anthropic) 4. 开始对话 ### 脚本使用 ```bash # 交互式验证 python scripts/chat_validate.py # 自动化测试 python scripts/auto_test_ollama.py # 快速验证 python scripts/quick_validate.py # 简单示例 python scripts/simple_example.py ``` ## API 文档 启动服务器后访问: - Swagger UI: `http://localhost:8000/docs` - ReDoc: `http://localhost:8000/redoc` ## 主要 API 端点 - `GET /` - Web 界面 - `GET /api/skills` - 列出所有技能 - `GET /api/skills/{skill_name}` - 获取技能详情 - `POST /api/chat` - 聊天对话 - `GET /api/health` - 健康检查 ## 技术栈 - **后端**: FastAPI, Uvicorn, Pydantic - **前端**: 原生 JavaScript, HTML5, CSS3 - **AI 框架**: LangChain, LangGraph - **模型提供商**: Anthropic, Ollama ## 文档 详细文档请查看 [docs/](docs/) 目录: - [Web 使用指南](docs/WEB_GUIDE.md) - [实现总结](docs/WEB_SUMMARY.md) - [测试结果](docs/TEST_RESULTS.md) ## 开发 ### 添加新技能 1. 在 `skills/` 目录下创建新技能目录 2. 添加 `SKILL.md` 文件定义技能 3. 重启服务器自动加载 ### 运行开发服务器 ```bash python -m web.backend ``` 服务器会自动重新加载代码更改。 ## 许可证 MIT License ## 贡献 欢迎提交 Issue 和 Pull Request!