AI 开发助手

填一次模型地址和密钥,之后用说话的方式写插件、改模板、修漏洞。含五条命令、安全边界与常见错误处理。

约 6 分钟 扩展 代码块右上角可一键复制
本页目录(6 分钟读完)

作用:不会写 PHP 也能加功能 —— 说清楚要什么,它把代码写好给你确认。

出错 → 看 排错手册。

怎么装#

  1. 登录后台
  2. 左侧点「插件」
  3. 找到「AI 开发助手」
  4. 点「安装」,再点「启用」

怎么填模型#

  1. 左侧点「AI 开发助手」
  2. 点右上角「模型设置」
  3. 只填三项:
项填什么例子
接口地址服务商给的 API 地址https://api.deepseek.com/v1
API 密钥服务商给的密钥sk-xxxxxxxx
模型名称要用的模型deepseek-chat
  1. 点「测试连通」
  2. 看到成功提示 → 点「保存」

支持哪些? 任何兼容 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

命令后面换行写需求:

code
/plugin 名称=seo-tools
需求:内容保存时自动按正文首段生成 description

不想记命令? 工作台右上角的下拉框能切换模式,/命令 只是更快。


怎么带上文件一起问#

带上原文,答案准确率会高很多。

  1. 点输入框左边的文件选择框
  2. 挑 1-6 个站点文件(比如要改的那个)
  3. 再输入需求,发送

配置文件和密钥是禁区,选不到,也读不走。

看服务器与数据库#

不用你填写任何服务器信息——助手自动知道这些(都写进了提示词):

  • 服务器: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")。

  1. 「AI 开发助手」→「模型设置」
  2. 拉到最下面,找「附加规则」
  3. 写上你的约定
  4. 保存

这里的文字会作为优先级最高的指令一起发给模型。


它不会乱写#

以下限制写死在代码里,不因配置放宽:

环节措施
谁能用后台登录 + 超级管理员(编辑组进不来)
谁能写必须带一次性表单令牌
写到哪只有 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 个文件」模型没按格式返回。再发一次,或把需求拆小(一次只写一个插件)
写入被拒看文件卡片下方的红色原因:路径不在白名单 / 代码里有高危函数 / 写入开关关了
改完前台没变化后台 → 缓存 → 清理缓存

怎么自测(给开发者)#

Shell
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 复现一次,页面会直接告诉你异常文件与行号。