AI 开发助手
填一次模型地址和密钥,之后用说话的方式写插件、改模板、修漏洞。含五条命令、安全边界与常见错误处理。
约 6 分钟
扩展
代码块右上角可一键复制
作用:不会写 PHP 也能加功能 —— 说清楚要什么,它把代码写好给你确认。
出错 → 看 排错手册。
怎么装#
- 登录后台
- 左侧点「插件」
- 找到「AI 开发助手」
- 点「安装」,再点「启用」
怎么填模型#
- 左侧点「AI 开发助手」
- 点右上角「模型设置」
- 只填三项:
| 项 | 填什么 | 例子 |
|---|---|---|
| 接口地址 | 服务商给的 API 地址 | https://api.deepseek.com/v1 |
| API 密钥 | 服务商给的密钥 | sk-xxxxxxxx |
| 模型名称 | 要用的模型 | deepseek-chat |
- 点「测试连通」
- 看到成功提示 → 点「保存」
支持哪些? 任何兼容 OpenAI Chat Completions 协议的服务: DeepSeek、通义、智谱、Kimi、火山、OpenAI、本地 Ollama / vLLM 都能用。 用 Claude 官方接口的选 Anthropic 协议。
换模型只改上面三行,不用改代码。
怎么用命令#
回到工作台,在输入框里打字。想指定任务类型就用命令开头:
| 命令 | 干什么 | 例子 |
|---|---|---|
/plugin | 生成一个能直接安装的插件 | /plugin 名称=seo-tools |
/template | 写 / 改前台模板 | /template 主题=default 页面=node |
/fix | 定位并修复问题 | /fix 文件=plugin/xxx/src/Xxx.php |
/audit | 按安全基线审代码 | /audit 文件=plugin/xxx/src/Xxx.php |
/explain | 解释某段代码 | /explain 文件=core/Plugin/PluginManager.php |
命令后面换行写需求:
/plugin 名称=seo-tools
需求:内容保存时自动按正文首段生成 description不想记命令? 工作台右上角的下拉框能切换模式,/命令 只是更快。
怎么带上文件一起问#
带上原文,答案准确率会高很多。
- 点输入框左边的文件选择框
- 挑 1-6 个站点文件(比如要改的那个)
- 再输入需求,发送
配置文件和密钥是禁区,选不到,也读不走。
看服务器与数据库#
不用你填写任何服务器信息——助手自动知道这些(都写进了提示词):
- 服务器:PHP 版本、运行模式、操作系统、站点根目录
- 数据库:驱动、库名、表前缀
找"数据在哪张表":文件选择框第一项是 db/schema.md(数据库表结构),
勾上它再提问,AI 就能看到全部数据表的字段、类型、索引和行数
(只有表结构元数据,不含任何行数据,也不含数据库口令)。
比如问"题库在哪张表",勾上它,AI 会直接告诉你表名和字段含义。
它凭什么写得对#
系统提示词里写死了这套 CMS 的规矩:
| 规矩 | 内容 |
|---|---|
| PHP 7.2 红线 | 禁类型属性 / 箭头函数 / match / 枚举 / ?->,数组用 array() |
| 插件结构 | 目录、plugin.json 字段、全部注册方法 |
| 真实钩子清单 | 只给它存在的钩子名,不让它编 |
| 后台权限 | 控制器必须挂 AdminAuth |
| 模板坑 | {loop} 自带 endif、{if} 不保护未定义、标签不支持算术 |
| 安全基线 | 输出转义、SQL 绑定、CSRF、越权、上传校验 |
外加当站实况:版本、PHP、数据库驱动、已启用插件、已装主题、内容模型。
改了核心规范 → 记得同步 plugin/ai/src/PromptLibrary.php。
怎么固化团队约定#
作用:让 AI 每次都遵守你的规矩(例如"插件必须带 uninstall.php")。
- 「AI 开发助手」→「模型设置」
- 拉到最下面,找「附加规则」
- 写上你的约定
- 保存
这里的文字会作为优先级最高的指令一起发给模型。
它不会乱写#
以下限制写死在代码里,不因配置放宽:
| 环节 | 措施 |
|---|---|
| 谁能用 | 后台登录 + 超级管理员(编辑组进不来) |
| 谁能写 | 必须带一次性表单令牌 |
| 写到哪 | 只有 plugin/{插件名}/** 和 view/{主题}/**(仅 html/css/js)** |
| 不能写哪 | core/、app/、config/、data/、runtime/、plugin/ai/ 自身 |
| 写什么 | eval/system/assert 等直接拒绝 |
| 写完能跑吗 | 先跑语法检查,不过就一个字节都不写 |
| 写错了 | 自动备份到 runtime/backup/ai/{日期}/,可逐条回滚 |
| 密钥 | AES 加密落库,页面只回显末尾 4 位 |
想让它只给代码、不碰文件? 后台 → 插件 → AI 助手 → 配置,把 allow_write 关掉。
出问题怎么办#
| 现象 | 原因 / 怎么处理 |
|---|---|
| 一直转圈 | 生成整个插件要几十秒。设置页把「超时」调到 120 秒,或换个快点的模型 |
| 提示「产出 0 个文件」 | 模型没按格式返回。再发一次,或把需求拆小(一次只写一个插件) |
| 写入被拒 | 看文件卡片下方的红色原因:路径不在白名单 / 代码里有高危函数 / 写入开关关了 |
| 改完前台没变化 | 后台 → 缓存 → 清理缓存 |
怎么自测(给开发者)#
php tests/ai_plugin_selfcheck.php # 179 项:白名单、拦截、备份回滚、密钥加密、解析
php tests/ai_admin_smoke.php # 25 项:后台页面与接口的 HTTP 冒烟(需先起服)
php tests/ai_e2e_mock.php # 20 项:设置→对话→落盘→回滚 全链路(用假接口)相关章节#
- 手工写插件 → 插件开发
- 改完不生效 → 缓存怎么清、缓存名怎么改
没找到答案?
在后台「缓存与维护 → 系统体检」里看环境是否正常;仍无解就打开
server_debug.php 复现一次,页面会直接告诉你异常文件与行号。