Slugai

slugai是一个AI增强的slugify

2024

Slug在seo中的角色还是挺重要的,它是网址链接中可读的那一部分,例如

https://blog.000777.xyz/articles/be-guided-by-beauty

《以美为导向》这篇文章的slug即是be-guided-by-beauty,在Soinna中经slugify处理,但比较大的问题是它不支持中文,后来写了一个简单的功能来调用OpenAI接口,通过提示词来根据标题的语义重写slug,以求对多语言的支持,以及更加友好的链接文字。

为了方便使用,打包了一下。逻辑上较为简单,由OpenAI API格式的接口返回优化后的英文内容后,再交由slugify处理,因此支持原有的slugify设置,另外增加了四个选项用于AI功能的设置:

# slugify options
replacement: '-',
remove: undefined,
lower: false,
strict: false,
locale: 'vi',
trim: true,
# ai options
ai: false,
model: 'gpt-4o',
apikey: '',
baseurl: 'api.openai.com'

提示词是关键所在,这里写了一段:

[user]: Rewrite the following text in English to be more SEO-friendly and semantic, focusing on the main topic and key concepts. Keep it concise. Do not provide any explanations or text apart from the rewrite. Original text: …

在测试中使用了llama-3.1-70b和glm-flash,后者对中文的支持和输出质量更好,基本可以达到日常使用的目的,但对于无明确意义的标题(短标题尤甚),还是仍会出现一些问题,需要留心一下。

NPM

GITHUB

更新了一个轻量化的版本(无依赖,直接使用提示词输出Slug):

slugai-lite