palemoky/chinese-poetry-api

▲ 439 stars today★ 3,358⑂ 443

📜 诗泉:高性能中国古诗词 API 服务

About palemoky/chinese-poetry-api

palemoky/chinese-poetry-api is an open-source project on GitHub, mainly written in Go. 📜 诗泉:高性能中国古诗词 API 服务 It currently holds 3,358 stars and 443 forks with 6 open issues, and was last pushed on 2026-10-07 (repository created 2025-12-08).

Project Overview

Git Homed tracks it on the Today's Trending board.

GitHub Repository Details

Repository palemoky/chinese-poetry-api · default branch main · size 13242 KB · watchers 15 · source: GitHub REST API and repository README

README

https://github.com/palemoky/chinese-poetry-api/blob/HEAD/chinese-poetry

中国古诗词 API 服务

Docker Image Docker Image Size pre-commit License

基于 Go 语言的高性能中国古诗词 API 服务,支持 REST 和 GraphQL 接口,提供简体/繁体中文、爬虫练习场等功能。

在线版:https://poetry.palemoky.com

https://github.com/palemoky/chinese-poetry-api/blob/HEAD/palemoky%2Fchinese-poetry-api | Trendshift

特性

快速开始

使用 Docker(推荐)

docker run -d -p 1279:1279 palemoky/chinese-poetry-api:latest

完整配置参见 docker-compose.yml。

使用 Makefile

make help          # 查看所有可用命令
make build         # 构建项目
make process-data  # 处理数据
make run-server    # 启动服务

克隆仓库

本项目使用 Git Submodules 管理诗词数据,推荐使用以下命令快速克隆:

# 完整克隆(包含 submodules)
git clone --recurse-submodules --depth=1 https://github.com/palemoky/chinese-poetry-api.git

如果已经克隆了仓库,可以单独更新 submodules:

git submodule update --init --depth 1

API 使用

多语言支持

所有接口支持 lang 参数切换简繁体:

| 参数值 | 说明 | | :-------: | :--------------: | | zh-Hans | 简体中文(默认) | | zh-Hant | 繁体中文 |

REST API

# 健康检查
curl "http://localhost:1279/api/v1/health"

统计信息

curl "http://localhost:1279/api/v1/stats"

简体中文(默认)

curl "http://localhost:1279/api/v1/poems"

繁体中文

curl "http://localhost:1279/api/v1/poems?lang=zh-Hant"

诗词列表(带过滤,与 /poems/random 使用同一组参数)

curl "http://localhost:1279/api/v1/poems?dynasty=唐" curl "http://localhost:1279/api/v1/poems?author=李白&page=2&page_size=50" curl "http://localhost:1279/api/v1/poems?dynasty_id=1&type_id=11&type_id=12" # 多个 type_id 为「或」关系

游标翻页:把上一页 pagination.next_cursor 的值回传给 after。

curl "http://localhost:1279/api/v1/poems?page_size=50&after=cG9lbTo0MjA"

搜索诗词

curl "http://localhost:1279/api/v1/poems/search?q=静夜思"

随机诗词

curl "http://localhost:1279/api/v1/poems/random"

随机诗词(带过滤)

curl "http://localhost:1279/api/v1/poems/random?author=李白" curl "http://localhost:1279/api/v1/poems/random?type=五言绝句" curl "http://localhost:1279/api/v1/poems/random?char=春" # 飞花令等单字场景 curl "http://localhost:1279/api/v1/poems/random?author=李白&type=五言绝句" curl "http://localhost:1279/api/v1/poems/random?author=李白&type=五言绝句&dynasty=唐" curl "http://localhost:1279/api/v1/poems/random?author=李白&dynasty=唐&type=五言绝句&type=七言绝句&type=五言律诗"

作者列表

curl "http://localhost:1279/api/v1/authors?page=1&page_size=20"

作者详情

curl "http://localhost:1279/api/v1/authors/1"

朝代列表

curl "http://localhost:1279/api/v1/dynasties"

朝代详情

curl "http://localhost:1279/api/v1/dynasties/1"

诗词体裁列表

curl "http://localhost:1279/api/v1/types"

诗词体裁详情

curl "http://localhost:1279/api/v1/types/10"

GraphQL API

端点:http://localhost:1279/graphql

# 繁体中文查询
query {
  poems(lang: ZH_HANT, pageSize: 10) {
    edges {
      node {
        title
        content
        author {
          name
        }
      }
    }
    totalCount
  }
}

搜索诗词

query { searchPoems(query: "静夜思", searchType: TITLE) { edges { node { title author { name } } } } }

统计信息

query { statistics { totalPoems totalAuthors poemsByDynasty { dynasty { name } count } } }

搜索功能

| 类型 | 说明 | 示例 | | :-------: | :--------------: | :--------------------------: | | all | 全文搜索(默认) | ?q=月 | | title | 标题搜索 | ?q=静夜思&type=title | | content | 内容搜索 | ?q=床前明月光&type=content | | author | 作者搜索 | ?q=李白&type=author |

数据集

本项目基于 chinese-poetry 数据集,使用的是修正了错字、朝代与作者等问题的 palemoky/chinese-poetry(fix-typo 分支),包含:

| 分类 | 数量 | 分类 | 数量 | 分类 | 数量 | 分类 | 数量 | | :------: | :----: | :------: | :----: | :------: | :----: | :------: | :----: | | 五言绝句 | 16,860 | 七言绝句 | 82,744 | 五言律诗 | 59,681 | 七言律诗 | 68,696 | | 乐府诗 | 6,714 | 五代词 | 543 | 宋词 | 21,347 | 元曲 | 10,904 | | 诗经 | 305 | 楚辞 | 65 | 论语 | 20 | 四书五经 | 14 | | 其他 | 76,077 | | | | | | |

pie title 收录数据分布概览 (忽略极小值)
"七绝/七律" : 151440
"五绝/五律" : 76541
"宋词/五代词" : 21890
"元曲" : 10904
"乐府诗" : 6714
"其他" : 76077

致谢

GitHub Stars & Activity

3,358Stars
443Forks
6Open issues
GoLanguage

GitHub Popularity

GitHub stars3,358
Forks443
Open issues6
Primary languageGo
LicenseGPL-3.0
Stars gained today439
Created2025-12-08
Last pushed2026-10-07

Trending History

Weekly boardrank #66 · ▲ 439 stars

Related GitHub Projects

1

ollama / ollama

Go★ 182,882⑂ 18,238▲ 138 stars
→
2

gtsteffaniak / filebrowser

Go★ 8,677⑂ 472▲ 66 stars
→
3

Armur-Ai / Pentest-Swarm-AI

Go★ 2,858⑂ 528▲ 49 stars
→
4

public-apis / public-apis

Python★ 487,939⑂ 54,088▲ 428 stars
→
5

openclaw / openclaw

TypeScript★ 391,784⑂ 82,377▲ 182 stars
→
6

obra / superpowers

Shell★ 298,147⑂ 26,643▲ 643 stars
→
7

mattpocock / skills

Shell★ 287,775⑂ 24,151▲ 1,834 stars
→
8

affaan-m / ECC

JavaScript★ 277,793⑂ 41,424▲ 774 stars
→

More Trending Repositories