AI 助手
官方 ai 插件(付费)把 AI 用在网站最常见的三件事上:编辑器里写作和做 SEO、把内容一键翻译成全部站点语言、在网站上回答访客的问题。插件随框架一起发布(plugins/ai)。
node node_modules/nuxtcms/scripts/plugin.mjs add ai
pnpm build:cf && pnpm deploy
支持的服务
在 后台 → 插件 → AI 助手 → 配置 中选择服务商并填写 API Key(也可以用环境变量 NUXT_AI_API_KEY、NUXT_AI_BASE_URL、NUXT_AI_MODEL):
| 服务商 | 默认模型 | 说明 |
|---|---|---|
| DeepSeek | deepseek-chat | 国内可直接访问,性价比高 |
| 通义千问(阿里云百炼) | qwen-plus | DashScope 兼容模式 |
| OpenAI | gpt-4o-mini | |
| Kimi(月之暗面) | moonshot-v1-8k | |
| 智谱 GLM | glm-4-flash | |
| 其他 OpenAI 兼容接口 | 自填 | OpenRouter、Ollama、企业网关等,填写接口地址 |
| Cloudflare Workers AI | @cf/meta/llama-3.1-8b-instruct | 站点在 Cloudflare 上时绑定 AI 即可(wrangler:[ai] binding = "AI"),否则填 Account ID 与 API Token |
在 后台 → AI 助手 可以测试连接、查看近 30 天按功能统计的调用次数和 tokens。API Key 不会出现在页面、日志或返回结果里。
编辑器写作与 SEO
文章、页面、产品编辑页右侧多一个「AI 助手」面板:
- 生成 SEO 信息:SEO 标题、描述、摘要、焦点关键词、标签、网址别名,逐项或一次全部填入表单(已有网址别名时不改,避免网址变化)。
- 标题建议:5 个标题,点一下即替换。
- 写作:根据标题写初稿、续写、改写、润色、精简、扩写;先预览,再选择替换正文或追加到末尾。
所有建议都只填进表单,保存后才生效。
一键翻译
在编辑页面板中勾选目标语言后点「开始翻译」,每种语言生成一篇草稿(与原文相同的网址别名),检查后再发布。已有该语言版本时会先询问是否覆盖:覆盖前自动保存历史版本,可在修订记录中恢复,原来的发布状态保持不变。正文中的链接、图片和 HTML 结构保持原样;长文分段翻译。AI 返回的 HTML 一律经过安全过滤后再保存。
网站智能问答
开启「网站智能问答」后,前台左下角出现问答按钮,AI 根据本站已发布的文章、页面和产品回答,并附上来源页面链接;找不到答案时会如实说明并建议联系你们,不会编造价格或参数。
- 每个访客每天的提问次数可设置(默认 20 次),另有每分钟的频率限制。
- 「额外说明」可以写联系方式、回答风格等。
- 「每次提问消耗积分」大于 0 时需要 SaaS 套件:访客须登录,积分只在回答成功后扣除,并记入积分明细。
- 在站点
app.config.ts中可以隐藏或调整:nuxtcms: { slots: { 'app:end': { AiChatWidget: false } } }。
在自己的接口中使用
export default defineEventHandler(async (event) => {
const cfg = await requireAi(event)
const user = await requireSaasApiUser(event) // 需要 SaaS 套件时
await spendSaasCredits(event, user.id, 1, 'ai.summary')
const r = await aiChat(event, cfg, {
feature: 'assist',
actor: `user:${user.id}`,
messages: [{ role: 'user', content: '用一句话总结:...' }],
})
return { text: r.text }
})
数据表 {前缀}ai_usage 在首次使用时自动创建。
测试
pnpm smoke:ai --base http://localhost:3192 --db .data/saas-demo.sqlite 会在本机启动一个模拟的 OpenAI 兼容服务,覆盖连接测试、SEO、写作(含恶意输出过滤)、翻译(草稿、覆盖确认、修订、链接保留)、问答(检索、来源、每日限制、积分扣费)和服务商出错的情况,不需要真实 Key。