基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
技术实践2026-10-30 05:28

用原生 JS 与 PHP 搭建站内知识助手

dev.to · AI#网站助手#知识 grounding#密钥管理
Editor brief · 编辑速览

文章以 HeshBot 展示轻量网站助手:原生 JavaScript 提供聊天界面,PHP 端点在服务端调用模型并保管密钥。Python 构建脚本把公开页面整理为知识文件,网站更新后需重新生成上下文。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

网站聊天机器人最让人头疼的,是它把营业时间、服务范围和政策答错,还表现得很有把握。HeshBot 作者给出的方案很克制:用自己的网站内容建立知识文件,让助手据此回答,找不到依据就承认不知道,并引导访客联系真人。

这套实现用原生 JavaScript、一个 PHP 7.4 接口和 Python 构建脚本串起流程,适合拿来理解小型网站助手的基本结构。不过,「要求模型只按资料回答」和「确保它不会编造」,中间还有需要验证的距离。

一个小型网站助手,需要哪些部件

HeshBot 的前端只有聊天按钮和面板,使用原生 JavaScript,没有框架,也没有接入第三方聊天平台。它负责展示交互,把问题发送到自有托管环境中的一个接口。

后端是单个 PHP 7.4 端点,运行在普通共享主机上。处理流程也很直接:接收问题,补充网站内容作为上下文,调用模型,再把答案返回给前端。

这个拆分对前端开发者很有参考价值。聊天面板负责交互,服务器负责访问模型和处理资料,不需要先搭一整套复杂系统。

API key 留在服务器上,并存放于 Web 根目录之外,也就是浏览器无法通过网站路径直接访问的位置。模型调用需要的密钥,不应该随前端代码一起发给访客。

网站内容怎样变成回答依据

作者用 Python 构建脚本读取网站公开页面,再将内容整理成知识文件。网站更新后,重新执行脚本,助手使用的资料也随之更新。

知识文件可以理解为给助手准备的一份站内参考资料。它的价值不只是让模型知道网站提供什么服务,还在于划定回答范围:

  • 文件中有依据,才回答。
  • 文件中没有答案,就明确说明。
  • 无法回答时,提供联系方式,让访客继续找人确认。

这里容易忽略的是更新流程。模型不会因为网页改了就自动获得新内容。按照作者描述,必须重新运行构建脚本;原文没有说明这个动作是否已经接入部署流水线。

另外,原文只说接口会加入合适的上下文,没有交代如何检索、如何切分文档,也没有说明是整份文件传入,还是只选取相关片段。因此,不能直接把它当成一套已经说明完整的检索增强生成(RAG)方案。

模型可以替换,公开接口必须设限

HeshBot 使用作者自行构建和微调的 HeshLLM:20B。作者也承认,其他项目可能更适合使用托管的前沿 LLM API。

他的主张是:让回答有内容依据,比单纯追求模型规模更重要。对营业时间、服务介绍这类问题,这个方向合理,因为模型再大,也不能代替网站提供准确资料。

但作者进一步提出,有充分内容约束的微调模型,胜过允许自由编造的大模型。这是经验判断。原文没有提供对照测试、准确率或错误样本,不能据此得出普遍的性能结论。

公开聊天框还会带来接口滥用问题。HeshBot 设置了按 IP 限流、消息长度上限、对话规模上限,以及同源检查,避免其他网站借用接口;API key 则继续保存在 Web 根目录之外。

作者将这些设计归因于 25+ 年技术支持经历和 Google Cybersecurity 证书培训。不过,原文没有公开具体阈值,也没有提供安全测试结果。

我的判断

最值得借鉴的是它把任务收得很窄:回答站内服务和项目信息,资料不足就交给真人。相比让通用聊天机器人自由回答,这样更容易检查答案,也更容易确定哪些问题不该答。

需要打问号的是「只根据知识文件回答,所以不会编造」这个推论。提示规则提供了约束,但原文没有展示程序如何核验答案,也没有给出面对诱导提问时的测试结果。内容有依据是必要条件,回答是否守住依据仍需测试。

同源检查也有边界。它可以作为限制其他网页调用的措施,却不能单独承担接口鉴权;直接请求接口的脚本仍需要限流等措施约束。

技术选型则要看现有环境。原生 JavaScript 加单个 PHP 接口适合作者的共享主机场景;已有 Node 后端的团队可以沿用职责划分,不必为了复刻案例更换语言。代码以 MIT 许可证开源,便于参考,但原文没有交代成本、延迟和维护负担,尚不足以判断它是否适合更大规模的网站。

能拿来做什么

  • 给现有网站做助手时,先限定它能回答的问题,例如服务范围、项目介绍和 FAQ,再整理对应资料与无法回答时的联系入口。
  • 将知识文件生成加入网站发布流程,至少明确网页更新后由谁执行脚本,避免页面已经改动,助手仍引用旧政策。
  • 无论后端使用 PHP 还是 Node,都把模型调用和 API key 留在服务器,并为公开接口设置请求频率、消息长度和对话规模限制。
  • 上线前准备一组能查到答案、资料缺失和诱导编造的问题,分别检查回答是否准确、是否承认不知道,以及是否提供正确的联系方式。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
给 AI 代码设置凭证据放行的质量门禁
下一篇
用稳定接口构建游戏工单分类器

资讯速览

dev.to · AI · 2026-10-30 05:28

AI 评分 8.0 / 10

相关标签

#网站助手#知识 grounding#密钥管理

继续阅读

  • 语音 Agent 如何明确表达未知信息
  • 给 AI 代码设置凭证据放行的质量门禁
  • 用稳定接口构建游戏工单分类器
  • MCP 代理需分别测试令牌与业务授权
  • Agent 身份安全要验证授权绑定关系