返回

AiChat-为Typecho博客添加AI聊天功能

一个为 Typecho 博客系统设计的 AI 对话插件,适用于所有 Typecho 主题。支持创建独立 AI 对话页面和在文章/页面中使用短代码嵌入聊天窗口。
本插件基于Xuan's blog改善,适用了所用Typecho主题,原项目地址见:https://blog.ybyq.wang/archives/836.html

✨ 功能特性

  • 🔌 全主题通用:不依赖任何特定主题,兼容所有 Typecho 主题
  • 📝 两种使用方式:独立页面模板 + 文章短代码嵌入
  • 🤖 多模型支持:支持所有 OpenAI 兼容格式的 API
  • 💾 对话历史:登录用户云端同步,游客本地存储
  • 📱 响应式设计:完美适配桌面和移动端
  • 🎨 独立样式:自带美观的聊天界面,不与主题样式冲突
  • 🚀 零依赖:移除 jQuery 依赖,纯原生 JavaScript
  • ⚙️ 丰富配置:系统提示词、窗口高度、嵌入方式等可自定义

插件下载:
https://github.com/chenyuwebwawa/AiChat/

🚀 安装方法

1. 上传插件

将整个 AiChat 文件夹上传到 Typecho 的 usr/plugins/ 目录下。

2. 激活插件

  1. 登录 Typecho 后台
  2. 进入"控制台" → "插件管理"
  3. 找到"AiChat"插件,点击"激活"

3. 配置插件

在插件设置页面配置以下参数:

参数说明默认值
AI API接口地址OpenAI 兼容格式的 API 地址https://api.deepseek.com/v1/chat/completions
AI API Key您的 API 密钥-
AI 模型使用的模型名称deepseek-chat
温度参数控制回复随机性 0.0-1.00.7
最大回复长度单次回复最大 token 数2000
系统提示词设置 AI 的角色和行为-
嵌入方式选择插件的使用方式同时支持
聊天窗口高度聊天区域高度(像素)450

📖 使用方法

方法一:创建独立对话页面(推荐)

  1. 在 Typecho 后台进入 管理 → 独立页面
  2. 点击 新增页面
  3. 在右侧 自定义模板 下拉框中选择 "AI Chat Plugin (通用版)"
  4. 填写页面标题(如:"AI助手")
  5. 发布页面即可

方法二:在文章/页面中嵌入聊天窗口

在任何文章或页面的内容中,使用短代码:

[aichat]

即可在文章内容中嵌入聊天窗口!

示例:

## 欢迎与我对话

如果您有任何问题,欢迎使用下方的 AI 助手:

[aichat]

感谢您的访问!

方法三:若以上方法都不适用

开启插件后访问:您的域名/ai-chat

🔌 支持的 API 服务

插件支持所有 OpenAI Chat API 兼容格式的服务,包括但不限于:

服务商API 地址模型示例
DeepSeekhttps://api.deepseek.com/v1/chat/completionsdeepseek-chat
OpenAIhttps://api.openai.com/v1/chat/completionsgpt-3.5-turbo, gpt-4
Kimihttps://api.moonshot.cn/v1/chat/completionsmoonshot-v1-8k
通义千问https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completionsqwen-turbo
文心一言https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshopernie-bot
其他任意兼容 OpenAI 格式的接口-

📋 系统要求

  • Typecho 1.2+
  • PHP 7.2+ (推荐 7.4+)
  • 服务器支持 cURL 扩展
  • MySQL 5.6+ / MariaDB 10.1+

🔧 故障排除

问题1:自定义模板不显示

解决方案:

  • 重新激活插件
  • 清除浏览器缓存后刷新后台页面

问题2:短代码不生效

解决方案:

  • 确保短代码拼写正确:[aichat] (小写,无空格)
  • 在插件设置中确认"嵌入方式"设置为"短代码嵌入"或"同时支持"

问题3:API 请求失败

解决方案:

  • 检查 API Key 是否正确
  • 确认服务器可以访问外网
  • 检查 cURL 扩展是否启用
  • 查看 PHP 错误日志获取详细信息

问题4:聊天窗口样式异常

解决方案:

  • 这是新版 v2.0 的重点优化!现在应该不会出现了
  • 如仍有问题,请在插件设置中调整聊天窗口高度

问题5:对话历史无法保存

解决方案:

  • 游客:检查浏览器是否禁用了 localStorage
  • 登录用户:检查数据库表是否创建成功

🆚 v2.0 改进说明

相比旧版本,v2.0 通用版做了以下重大改进:

  1. 主题兼容性:彻底移除 Handsome 主题依赖,适用于 所有 Typecho 主题
  2. 两种嵌入方式

    • 独立页面模板(原方式)
    • [aichat] 短代码,可嵌入任意文章/页面
  3. 技术优化

    • 移除 jQuery 依赖,使用纯原生 JS
    • 独立的 CSS 命名空间,避免样式冲突
    • 自动注入 CSS 和 JS,无需修改主题
  4. 新增配置项

    • 系统提示词配置
    • 聊天窗口高度自定义
    • 嵌入方式选择
  5. 代码优化:更规范、更高效、更易维护

📄 更新日志

v2.0.0 🌟 通用版重大更新

  • 全主题通用:移除对 Handsome 主题的依赖,兼容所有 Typecho 主题
  • 短代码支持:新增 [aichat] 短代码,可在文章中嵌入聊天窗口
  • 移除 jQuery:纯原生 JavaScript 实现,减少依赖
  • 自动注入:CSS 和 JS 自动注入页面,无需手动修改主题
  • 系统提示词:新增自定义系统角色配置
  • 独立命名空间:所有 CSS 类加前缀,避免样式冲突
  • 新增配置:聊天窗口高度自定义、嵌入方式选择
  • 🔧 代码重构:优化代码结构,提升可维护性

v1.3.1

  • 优化 PJAX 兼容性(Handsome 主题专用)
  • 重构前后端分离架构

v1.0.0

  • 初始版本发布

📞 技术支持

如遇到问题,请:

  1. 检查插件配置是否正确
  2. 查看浏览器控制台(F12)是否有错误
  3. 检查 PHP 错误日志
  4. 确认 API 服务可正常访问

享受您的 AI 对话之旅! 🎉

分享到
QQ 微信 微博 复制链接
微信分享二维码

微信扫一扫,分享给好友

本文来自投稿,不代表本站立场,如若转载,请注明出处:

发表评论

V注册会员 L评论等级
R2 条回复
  1. 2026-08-19     MacOS /    Chrome

    卧槽,刚看到这个插件,第一反应是 Typecho 终于也有人搞这玩意儿了。我之前一直在自己博客上折腾各种 AI 聊天,试过把 ChatGPT 的 iframe 直接嵌进去,丑得一批不说,每次加载还卡半天。你这个零依赖、纯原生 JS 倒是挺对我胃口,毕竟我那破主题加载个 jQuery 都嫌重。 不过话说回来,「适用于所有 Typecho 主题」这话我从不敢信。Typecho 主题圈有多野你又不是不知道,有些人写主题连标准的 `page.php` 模板都懒得做,直接一个 `index.php` 通吃所有页面。你那个独立页面模板「在右侧自定义模板下拉框里选」——好家伙,要是主题压根没定义自定义模板功能,下拉框直接没得选,咋整?你说方法三可以走 `/ai-chat` 路由,那这个路由是插件自己注册的吗?跟某些主题的伪静态规则撞了咋办?会不会直接 404 给用户看?你得把 fallback 逻辑写清楚一点啊。 再一个就是 API key 的安全问题。这个我必须得喷一下,你插件配置文件里直接明文存 API Key 对吧?Typecho 插件设置项都是塞数据库的,万一哪天博客被拖库或者后台密码泄露,key 直接就裸奔了。如果是像 wordpress 那个 AI 插件一样把 key 放环境变量或者单独一个 php 文件里,至少心理上能安全点。跑个题,我有个朋友之前就是把某个平台的 key 写进博客配置文件,后来发现被人盗刷了几百块,真是日了狗了。虽然你说支持所有 OpenAI 兼容格式的 API,但建议文档里加一个「建议使用环境变量或配置文件存储密钥」的提示,能救一个是一个。 还有一个细节,游客对话历史存 localStorage,这个我得说太拉了。且不说不换浏览器的问题,你知道有些用户(比如我)是开无痕模式的吗?关掉窗口记录全没了,下次继续对话的时候 AI 一脸懵,还得重新教它一遍背景。你还不如直接用 IndexedDB 做,或者干脆游客不存历史、省点空间,省得给了希望又让人失望。 不过说真的,你这插件有个小细节我挺喜欢——「窗口高度可配置」,默认 450 像素。这玩意儿听起来小,对强迫症博主来说真是救命稻草。我之前用别的插件,高度写死 600 像素,在手机上看聊天框占大半屏幕,往下滑都费劲。你现在写了响应式设计,那手机端高度是不是也自适应?还是说直接继承桌面端高度?有空的话可以在文档里补一句移动端的具体表现,不然装完了还得自己调半天 CSS。 最后说下原项目的事。你说基于 Xuan's blog 改善,还给了一个原项目地址。这个态度没毛病,开源就该这样。但你既然都改了,好歹列个 change log 吧?不然别人根本不知道你改了个啥。是加了多模型支持,还是重写了前端?我打开你 GitHub 仓库也只看到 README 里一堆功能特性,没看到和新版本的比较。你让后来者怎么选?直接闭眼装你的版本吗?万一人家原版的某些功能恰恰是你砍掉的,那不蛋疼了。 不过整体而言,如果这玩意儿真能像你说的那样,在任意主题下都能跑得起来,那对我来说已经够香了。我那个破 Typecho 博客,主题是好多年前买的,作者早跑路了,到现在啥插件都兼容不上。反正先装下来试试,要是出问题我再回来喷你,别跑。

    回复
  2. 2026-08-19     Android /    UC浏览器

    又要填API key又要配模型,折腾半天不如直接挂个链接,真服了。

    回复
没有更多评论了

作者信息

辰语技术
辰语技术账号,分享技术内容。Github:https://github.com/chenyuwebwawa
TA的最新作品
    请配置好页面缩略名选项

推荐话题

关于本站

来跟我聊聊吧~