--- name: poetry description: 中国古诗词展示和检索工具。当用户想要展示、检索、查找中国古诗词(包括唐诗、宋词、宋诗及其他朝代诗歌)时使用此 skill。用户可能提到"诗歌"、"古诗"、"诗词"、"唐诗"、"宋词"、"展示诗篇"、"找一首诗"等相关表达,或指定具体的诗人、诗名、诗句关键词。此 skill 负责从数据库中检索诗歌并按照特定格式展示,包括诗歌内容和作者简介。 metadata: version: "1.1.0" --- # Poetry Skill - 中国古诗词展示工具 本 skill 帮助用户检索和展示中国古诗词,按照规范的格式输出诗歌内容。 ## 功能概述 - 从 chinese-poetry 数据库检索诗歌(支持唐诗、宋词、宋诗及其他朝代) - 按照指定格式展示诗歌内容 - 提供作者简介和创作背景信息 ## 诗歌展示格式 严格按照以下格式输出诗歌: ### 诗歌主体 1. **标题**:独占一行,居中显示 2. **作者**:独占一行,居中显示(与标题对齐) 3. **诗句**:以 `。` 或 `;` 为断点,每句独占一行 示例: ``` 静夜思 李白 床前明月光 疑是地上霜 举头望明月 低头思故乡 ``` ### 作者简介 在诗歌内容后隔两行,提供作者简介和创作背景。 **要求**: - 字数控制在 200-300 字之间 - 包含以下信息(按优先级): 1. 生卒年份 2. 字号、籍贯 3. 文学成就和代表作品 4. 本诗创作时的历史背景和诗人处境 示例: ``` 李白(701-762),字太白,号青莲居士,祖籍陇西成纪(今甘肃天水)。唐代伟大的浪漫主义诗人,被后人誉为"诗仙"。其诗风豪放飘逸,想象丰富,语言流转自然,音律和谐多变。代表作有《将进酒》《蜀道难》《望庐山瀑布》等。《静夜思》作于唐玄宗开元十四年(726年),当时李白客居扬州旅舍,在一个月夜,诗人因思念故乡而作此诗,表达了浓浓的思乡之情。 ``` ## 使用流程 ### 1. 理解用户需求 分析用户的查询,识别以下关键信息: - **检索条件**:诗人姓名、诗歌标题、诗句关键词、朝代、体裁等 - **输出要求**:单首诗歌、多首诗歌、按条件筛选等 ### 2. 检索诗歌 使用 `scripts/poetry_loader.py` 脚本从数据库检索诗歌: ```bash python scripts/poetry_loader.py --query <检索条件> ``` 支持的查询方式: - 按作者:`--author "李白"` - 按标题:`--title "静夜思"` - 按关键词:`--keyword "明月"` - 按朝代:`--dynasty "唐"` - 按体裁:`--type "五言绝句"` 组合查询示例: ```bash python scripts/poetry_loader.py --author "李白" --type "七言绝句" ``` ### 3. 格式化输出 使用检索到的诗歌数据,按照上述格式规则输出诗歌内容。 ### 4. 补充作者简介 从 `references/authors.json` 获取作者简介信息。如果该作者的信息不存在: - 使用通用知识编写简介(200-300字) - 包含生卒年份、字号籍贯、文学成就、创作背景 - 确保信息准确可靠 ## 数据访问脚本 ### poetry_loader.py 功能 脚本位置:`scripts/poetry_loader.py` 主要功能: - 从 chinese-poetry 数据库下载和解析 JSON 数据 - 支持多种查询条件(作者、标题、关键词等) - 返回格式化的诗歌数据 脚本使用方法: ```bash # 基本查询 python scripts/poetry_loader.py --author "李白" # 组合查询 python scripts/poetry_loader.py --author "苏轼" --type "宋词" # 关键词搜索 python scripts/poetry_loader.py --keyword "明月" # 限制返回数量 python scripts/poetry_loader.py --author "杜甫" --limit 5 ``` 输出格式(JSON): ```json { "poems": [ { "title": "静夜思", "author": "李白", "contents": ["床前明月光", "疑是地上霜", "举头望明月", "低头思故乡"], "strains": "五言绝句", "dynasty": "唐" } ] } ``` ## 注意事项 1. **格式规范**:严格遵守诗歌展示格式,标题和作者必须居中,诗句必须按断点分行 2. **字数控制**:作者简介严格控制在 200-300 字之间 3. **信息准确**:确保作者简介信息准确,必要时验证多个来源 4. **数据缓存**:首次运行 poetry_loader.py 会下载数据库,后续使用缓存 5. **多首诗歌**:如果检索到多首诗歌,优先展示最著名或最符合查询意图的诗歌 6. **无结果处理**:如果未找到匹配的诗歌,告知用户并建议调整查询条件 ## 常见使用场景 ### 场景 1:按作者检索 用户:`找一首李白的诗` 操作:使用 `--author "李白"` 查询,展示李白的代表作 ### 场景 2:按标题检索 用户:`展示《静夜思》` 操作:使用 `--title "静夜思"` 查询,展示完整诗歌和作者简介 ### 场景 3:关键词搜索 用户:`找一首关于明月的诗` 操作:使用 `--keyword "明月"` 查询,展示相关诗歌 ### 场景 4:特定体裁 用户:`找一首苏轼的宋词` 操作:使用 `--author "苏轼" --type "宋词"` 查询 ## 扩展功能 如果用户需要更高级的功能: - 按朝代筛选:`--dynasty "唐"` 或 `--dynasty "宋"` - 按体裁筛选:`--type "五言律诗"`、`--type "七言绝句"`、`--type "宋词"` - 批量检索:使用 `--limit` 控制返回数量 - 组合查询:同时使用多个条件进行精确检索