内容
# NSIP 插件
[](https://opensource.org/licenses/MIT)
[](https://github.com/anthropics/claude-code)
[](https://github.com/zircote/nsip/actions/workflows/ci.yml)
[](https://github.com/zircote/nsip/releases)
通过 Claude Code 访问 NSIP(国家绵羊改进计划)绵羊育种数据,支持一键安装。
## 功能特点
- **9 个 MCP 工具**,用于访问绵羊育种数据
- **10 个斜杠命令**,用于快速工作流
- **1 个专家代理**(牧羊人),用于育种咨询
- **14 个自动钩子**,用于增强功能
- 通过 `uvx` 自动安装软件包
- 无需手动设置
## 安装
### 从 GitHub 安装
```bash
claude plugin install zircote/nsip
```
### 手动安装
克隆并添加到 Claude Code:
```bash
git clone https://github.com/zircote/nsip.git
claude --plugin-dir /path/to/nsip
```
## 验证安装
安装后,验证 MCP 工具和命令是否正常工作:
```bash
# 测试 API 连接性
/nsip:test-api
# 获取数据库信息(应显示最后更新日期)
/nsip:discover
# 验证 MCP 工具是否可用
"使用 nsip_list_breeds 显示可用的绵羊品种"
```
## 命令
| 命令 | 目的 | 示例 |
|---------|---------|---------|
| `/nsip:consult` | 专家育种咨询(使用牧羊人代理) | `/nsip:consult 我需要一个终端种公` |
| `/nsip:discover` | 显示数据库信息、品种、状态 | `/nsip:discover` |
| `/nsip:lookup` | 按 LPN ID 获取动物详细信息 | `/nsip:lookup 6####92020###249` |
| `/nsip:profile` | 完整的动物配置文件 | `/nsip:profile 6####92020###249` |
| `/nsip:health` | 服务器性能指标 | `/nsip:health` |
| `/nsip:test-api` | 验证 API 连接性 | `/nsip:test-api` |
| `/nsip:search` | 按筛选条件搜索动物 | `/nsip:search` |
| `/nsip:traits` | 获取品种的特征范围 | `/nsip:traits 486` |
| `/nsip:lineage` | 获取家谱树 | `/nsip:lineage 6####92020###249` |
| `/nsip:progeny` | 列出后代 | `/nsip:progeny 6####92020###249` |
## 专家代理
**`/nsip:consult`** 调用 `nsip:shepherd` 专家代理,提供:
- 基于 NSIP 数据分析的育种决策支持
- 健康诊断和治疗建议
- 营养计划,涵盖生产阶段
- 群体管理和淘汰指导
- 遗传特征解读和选择策略
## MCP 工具
直接要求 Claude 使用这些工具:
- `nsip_get_last_update`:数据库更新日期
- `nsip_list_breeds`:可用的品种分组
- `nsip_get_statuses`:按品种划分的动物状态
- `nsip_get_trait_ranges`:品种的特征范围
- `nsip_search_animals`:分页搜索
- `nsip_get_animal`:详细的动物信息
- `nsip_get_lineage`:家谱树
- `nsip_get_progeny`:后代列表
- `nsip_search_by_lpn`:完整的动物配置文件
## 增强功能(钩子)
插件包含 14 个智能钩子,自动增强您的工作流:
### 钩子类别
**错误恢复(3 个钩子)**
- 指数级回退的自动重试
- 失败时回退到缓存数据
- 重复错误跟踪警报
**上下文增强(2 个钩子)**
- 品种特定特征注入
- 全面的特征定义
**数据导出(2 个钩子)**
- 家谱树可视化
- 育种分析报告
**工作流智能(2 个钩子)**
- 智能 LPN ID 检测在提示中
- 比较分析建议
**核心操作(5 个钩子)**
- API 健康监测
- LPN 格式验证
- 查询日志记录
- 结果缓存
- CSV 导出
参见 [hooks/README.md](./hooks/README.md) 获取详细文档。
## 钩子数据位置
**日志**:`~/.claude-code/nsip-logs/`
**缓存**:`~/.claude-code/nsip-cache/`(60 分钟 TTL)
**导出**:`~/.claude-code/nsip-exports/`
## 文件结构
```
nsip/
├── .claude-plugin/
│ └── plugin.json
├── agents/
│ └── shepherd.md
├── commands/
│ ├── consult.md
│ ├── discover.md
│ ├── health.md
│ ├── lineage.md
│ ├── lookup.md
│ ├── profile.md
│ ├── progeny.md
│ ├── search.md
│ ├── test-api.md
│ └── traits.md
├── hooks/
│ ├── hooks.json
│ ├── README.md
│ └── scripts/
│ ├── api_health_check.py
│ ├── auto_retry.py
│ ├── breed_context_injector.py
│ ├── breeding_report.py
│ ├── comparative_analyzer.py
│ ├── csv_exporter.py
│ ├── error_notifier.py
│ ├── fallback_cache.py
│ ├── lpn_validator.py
│ ├── pedigree_visualizer.py
│ ├── query_logger.py
│ ├── result_cache.py
│ ├── smart_search_detector.py
│ └── trait_dictionary.py
├── tests/
│ ├── unit/
│ ├── integration/
│ └── fixtures/
├── nsip.mcp.json
├── CHANGELOG.md
├── LICENSE
└── README.md
```
## 先决条件
- Claude Code CLI 或 VS Code 扩展
- `uv` 包管理器(从 https://docs.astral.sh/uv/ 安装)
- 互联网连接(用于首次包下载)
## 工作原理
插件使用 `uvx` 从 GitHub 自动安装 `nsip-client` 包:
1. Claude Code 读取 `.claude-plugin/plugin.json`
2. 查找 MCP 服务器配置
3. 运行:`uvx --from git+https://github.com/epicpast/nsip-api-client.git nsip-mcp-server`
4. MCP 服务器启动并连接
5. 所有工具均可用
6. 钩子自动激活
## 故障排除
### MCP 服务器无法连接
1. **检查 uv 安装:**
```bash
uv --version
uvx --version
```
2. **手动测试 MCP 服务器命令:**
```bash
uvx --from git+https://github.com/epicpast/nsip-api-client.git nsip-mcp-server
```
3. **重新启用插件:**
```bash
claude /plugin disable nsip
claude /plugin enable nsip
```
### API 连接错误
NSIP API 是公开的,不需要身份验证。
```bash
# 直接测试 API
curl http://nsipsearch.nsip.org/api/GetLastUpdate
```
## 平台支持
在以下平台上运行相同:
- Claude Code CLI(终端)
- Claude Code VS Code 扩展
## 贡献
1. 分叉仓库
2. 创建功能分支
3. 进行更改
4. 提交拉取请求
## 支持
- **MCP 客户端仓库**:https://github.com/epicpast/nsip-api-client
- **钩子文档**:[hooks/README.md](./hooks/README.md)
## 许可证
MIT