{
  "schema": 1,
  "generated_at": "2026-10-22",
  "scope": "亮剑AI插件使用指南",
  "plugins": [
    {
      "id": "ailiangzai_admin",
      "name": "亮仔AI工作台",
      "url": "https://docs.liangjianyun.com/ailiangzai_admin/"
    },
    {
      "id": "aigeo_model",
      "name": "模型广场",
      "url": "https://docs.liangjianyun.com/aigeo_model/"
    },
    {
      "id": "aigeo_knowledge",
      "name": "知识库",
      "url": "https://docs.liangjianyun.com/aigeo_knowledge/"
    },
    {
      "id": "aigeo_service",
      "name": "智能客服",
      "url": "https://docs.liangjianyun.com/aigeo_service/"
    },
    {
      "id": "aigeo_gallery",
      "name": "灯箱图库",
      "url": "https://docs.liangjianyun.com/aigeo_gallery/"
    },
    {
      "id": "aigeo_feedback",
      "name": "意见反馈",
      "url": "https://docs.liangjianyun.com/aigeo_feedback/"
    },
    {
      "id": "aigeo_livecode",
      "name": "智能活码",
      "url": "https://docs.liangjianyun.com/aigeo_livecode/"
    },
    {
      "id": "aigeo",
      "name": "收录引擎",
      "url": "https://docs.liangjianyun.com/aigeo/"
    },
    {
      "id": "aigeo_prompt",
      "name": "提示词平台",
      "url": "https://docs.liangjianyun.com/aigeo_prompt/"
    },
    {
      "id": "aigeo_accounts",
      "name": "马甲管理",
      "url": "https://docs.liangjianyun.com/aigeo_accounts/"
    },
    {
      "id": "aigeo_autopost",
      "name": "自动发帖",
      "url": "https://docs.liangjianyun.com/aigeo_autopost/"
    },
    {
      "id": "aigeo_autoreply",
      "name": "自动回贴",
      "url": "https://docs.liangjianyun.com/aigeo_autoreply/"
    },
    {
      "id": "aigeo_moderation",
      "name": "帖子审核",
      "url": "https://docs.liangjianyun.com/aigeo_moderation/"
    },
    {
      "id": "aigeo_sign",
      "name": "每日签到",
      "url": "https://docs.liangjianyun.com/aigeo_sign/"
    },
    {
      "id": "aigeo_tools",
      "name": "一键安装",
      "url": "https://docs.liangjianyun.com/aigeo_tools/"
    },
    {
      "id": "ailiangzai_trending",
      "name": "亮仔AI全网热榜",
      "url": "https://docs.liangjianyun.com/ailiangzai_trending/"
    }
  ],
  "guides": [
    {
      "id": "workspace-menus",
      "plugin_id": "ailiangzai_admin",
      "title": "工作台插件入口：排序、显示与功能菜单",
      "summary": "工作台按推荐顺序展示插件入口；管理员可调整插件位置、隐藏整组入口或单独隐藏功能。",
      "steps": [
        "打开亮仔AI工作台，在“插件与功能”区域查找已安装应用；左侧导航也会展示当前已启用且允许显示的插件入口。",
        "选择“菜单管理”。每张卡片代表一个插件，拖动卡片或使用“上移/下移”调整推荐顺序。新加入的亮仔AI插件默认靠前；已保存的自定义顺序继续保留。",
        "勾选“显示插件”控制整个插件是否出现在工作台导航；在“显示功能”中勾选具体菜单，控制该插件下面哪些后台入口可见。",
        "需要修改工作台显示名称时，在“菜单名称”中输入短而清楚的名称。排序、名称或显示状态调整完成后点击页面顶部“保存”。",
        "保存后检查左侧插件导航及插件菜单。全网热榜会出现在工作台导航的推荐前列，并提供数据源、采集任务、AI阅读、阅读设置、热点内容和采集日志入口。"
      ],
      "boundary": "菜单管理只改变亮仔AI工作台中的入口显示、名称和排序，不会安装、卸载或启停插件，也不改变 Discuz! 原有后台权限。隐藏插件或功能后，可回到菜单管理重新显示。",
      "sections": [
        {
          "heading": "查看工作台应用入口",
          "paragraphs": [
            "工作台总览展示可用插件卡片与快捷入口；已显示的插件也可从左侧导航打开。使用“插件与功能”区确认应用状态，再进入目标插件。"
          ],
          "steps": [
            "进入亮仔AI工作台首页。",
            "在左侧导航或“插件与功能”卡片中点开需要管理的插件；进入全网热榜后可从其后台菜单访问采集和阅读设置。"
          ],
          "settings": []
        },
        {
          "heading": "调整菜单顺序和显示范围",
          "paragraphs": [
            "菜单管理以插件为一级菜单、后台模块为二级菜单。全网热榜接入后会按推荐顺序靠前显示。站点之前保存的菜单顺序会继续生效；后续新安装的亮仔AI插件会自动排在未显式排序的项目之前。"
          ],
          "steps": [
            "进入“菜单管理”，使用搜索框定位插件或菜单。",
            "拖动插件卡片，或点“上移/下移”调整位置；取消“显示插件”可隐藏整组菜单。",
            "只想隐藏某个后台功能时，取消对应的“显示功能”勾选，其他功能仍可使用。",
            "若需要改名称，在“菜单名称”输入别名；确认后点右上方“保存”。"
          ],
          "settings": []
        },
        {
          "heading": "检查保存结果",
          "paragraphs": [
            "保存后回到工作台总览，确认全网热榜和其他插件显示在预期位置，并检查插件内部菜单是否符合勾选状态。"
          ],
          "steps": [
            "左侧导航检查一级插件入口和排序。",
            "进入插件后检查二级功能入口；需要恢复时重新勾选后保存。"
          ],
          "settings": []
        }
      ],
      "category": "使用教程",
      "tags": [
        "工作台",
        "菜单管理",
        "导航排序",
        "设置详解"
      ],
      "updated_at": "2026-10-22T09:58:19+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=workspace-menus",
      "images": [
        {
          "file": "workspace-home-20261022.webp",
          "section": 0,
          "caption": "工作台总览：在插件与功能区查找已安装应用"
        },
        {
          "file": "workspace-menus-20261022.webp",
          "section": 1,
          "caption": "菜单管理：显示插件、调整名称与功能入口"
        }
      ],
      "content_hash": "b041b946b702b1d239192fa247c9a696b77bfe7e55d0b5b752785e7ad0f74623"
    },
    {
      "id": "workspace-install",
      "plugin_id": "ailiangzai_admin",
      "title": "工作台插件管理：状态识别、入口、更新与卸载",
      "summary": "从插件卡片查看安装状态和功能入口，区分“应用中心有新版”与“本地包可更新”，再按顺序完成升级与检查。",
      "steps": [
        "在工作台“插件与功能”区找到目标卡片，先看标题旁的“已启用”“已关闭”或“未安装”状态。",
        "未安装的插件按页面提示安装；已关闭的插件可启用。卡片默认显示三个常用后台入口，点“展开更多”查看其余入口。",
        "“应用中心有新版”表示应用中心提供了较新的插件版本。展开“新版详情”，再点“查看详情并下载”查看或下载该版本；这条提示不代表新版安装包已经部署到本站。",
        "“本地包可更新”表示本站已部署安装包中的 XML 版本可用于升级。准备好新版安装包并部署到本站后，回到工作台点卡片“更新”；Discuz! 会按 XML 版本执行插件 upgrade.php。",
        "多个插件需要升级时，可在“批量操作”中使用“一键更新（N）”。它只处理检测到本地 XML 可升级的插件，不会替你从应用中心下载或部署安装包。",
        "查看进度弹窗中的逐项结果，回到卡片核对版本和启用状态，并打开主要功能入口确认工作正常。",
        "关闭只停止插件功能，不会卸载或删除数据。卸载会执行插件卸载脚本，可能删除该插件的数据；开始前先备份。"
      ],
      "boundary": "亮仔 AI 工作台自身受保护，不能从插件管理中关闭或卸载。关闭普通插件只影响功能运行，不删除插件或数据；卸载会执行插件的卸载脚本，可能删除数据，且无法从工作台撤销，操作前先备份。",
      "sections": [
        {
          "heading": "卡片状态与功能入口",
          "paragraphs": [
            "在“插件与功能”区找到目标卡片。标题旁的“已启用”“已关闭”或“未安装”说明当前状态；已启用时可从卡片打开插件后台入口。",
            "卡片默认显示三个常用入口。点击“展开更多”查看其余入口，展开后可点击“收起”恢复简洁视图。"
          ]
        },
        {
          "heading": "看懂两类版本提示",
          "paragraphs": [
            "两种提示来源不同，也可能同时出现。展开“新版详情”后，可分别查看应用中心发布的信息和本站安装包 XML 版本。"
          ],
          "items": [
            "应用中心有新版：应用中心已有较新版本。点击“查看详情并下载”前往应用中心查看或下载；这不表示新版安装包已经部署到本站。",
            "本地包可更新：本站当前安装目录中的 XML 版本可用于升级。卡片显示“待更新”时，可从工作台执行更新。",
            "新版详情：显示应用中心的版本号和发布日期，以及本站本地安装包的 XML 版本和日期；按来源核对后再操作。"
          ]
        },
        {
          "heading": "按顺序更新并检查结果",
          "steps": [
            "如果需要应用中心的新版本，先在应用中心查看更新说明并下载安装包，再按站点插件包流程将新版部署到本站插件目录。",
            "返回工作台并重新查看卡片。出现“本地包可更新”后，点该卡片的“更新”；多个插件可从“批量操作”里运行“一键更新（N）”。",
            "等待进度弹窗完成，逐项检查成功、失败或跳过结果。批量更新不处理仅有应用中心新版提示、但本站本地 XML 尚未更新的插件。",
            "回到卡片核对版本与启用状态，并进入插件主要页面检查功能。升级失败时先按弹窗结果排查，不要重复运行可能已经部分执行的升级脚本。"
          ]
        },
        {
          "heading": "安装、启用与卸载",
          "paragraphs": [
            "未安装的插件按卡片显示的安装入口处理；已关闭的插件可启用。使用批量安装、启用或关闭后，逐项查看操作结果。",
            "需要移除普通插件时，点“卸载”并阅读确认内容。工作台自身受保护，不能从这里关闭或卸载。"
          ],
          "items": [
            "关闭插件只停止功能运行，保留插件及其数据。",
            "卸载会调用插件自己的卸载脚本，可能删除插件设置和数据；操作前备份。"
          ]
        },
        {
          "heading": "遇到问题",
          "items": [
            "看到“应用中心有新版”但没有“本地包可更新”时，先确认新版安装包已部署到本站，再重新检查本地 XML 版本。",
            "没有“更新”按钮时，检查插件是否已安装，以及本站 XML 版本是否高于当前安装版本。",
            "批量操作部分失败时，查看每项结果后分别处理；不要重复操作已成功的插件。",
            "卸载后数据异常时先停止继续写入，再从卸载前的备份恢复。"
          ]
        }
      ],
      "category": "使用教程",
      "tags": [
        "亮仔 AI 工作台",
        "插件管理",
        "版本更新",
        "安装与卸载"
      ],
      "updated_at": "2026-10-22T09:58:19+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=workspace-install",
      "content_hash": "b543244513e7d820d566c84f06a654dc5f898d4f7d0b76f35466ec6486d58937",
      "images": [
        {
          "file": "workspace-install-summary.webp",
          "section": 0,
          "caption": "① 展开更多查看卡片中的其他入口；②、③ 分别标出本站安装包与应用中心版本提示。"
        },
        {
          "file": "workspace-install-details.webp",
          "section": 1,
          "caption": "新版详情已展开：① 展开入口；② 应用中心版本信息；③ 本地安装包版本和待更新状态。"
        }
      ]
    },
    {
      "id": "workspace-inbox",
      "plugin_id": "ailiangzai_admin",
      "title": "右上角消息数量表示什么",
      "summary": "角标统计登录管理员自己的未读消息。",
      "steps": [
        "点击右上角消息图标进入消息管理。",
        "用我的未读处理个人收到的通知和管理员群发消息。",
        "需要管理全站消息时再切换全站范围。"
      ],
      "boundary": "角标不统计其他用户未读和私人聊天；查看及标为已读会改变消息状态。",
      "sections": [
        {
          "paragraphs": [
            "角标统计登录管理员自己的未读消息。"
          ],
          "heading": "开始前"
        },
        {
          "steps": [
            "点击右上角消息图标进入消息管理。",
            "用我的未读处理个人收到的通知和管理员群发消息。",
            "需要管理全站消息时再切换全站范围。"
          ],
          "heading": "操作步骤"
        },
        {
          "paragraphs": [
            "核对所选范围、状态及执行结果，不能只依据入口可见或任务已入队判断完成。"
          ],
          "heading": "检查结果"
        },
        {
          "items": [
            "角标与全站列表不同是正常的，角标仅对应当前管理员。",
            "标读后有新消息到达，角标仍可能大于零。"
          ],
          "heading": "遇到问题"
        },
        {
          "paragraphs": [
            "角标不统计其他用户未读和私人聊天；查看及标为已读会改变消息状态。"
          ],
          "heading": "使用边界"
        }
      ],
      "category": "使用教程",
      "tags": [],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=workspace-inbox",
      "content_hash": "a7f4c0633b3d563b05c0e7c09ae642d1462e9d38731e1e77d9c36cd5898caa46",
      "images": [
        {
          "file": "workspace-home.jpg",
          "section": 1,
          "caption": "右上角消息图标显示当前管理员的未读数量"
        }
      ]
    },
    {
      "id": "workspace-basic-settings",
      "plugin_id": "ailiangzai_admin",
      "title": "用户、积分、消息与数据治理：常用流程边界",
      "summary": "用户、积分、消息与数据治理：常用流程边界",
      "steps": [
        "先查看插件自己的常用设置或设置页面。",
        "若没有原生基本设置入口，使用该插件专用设置页。",
        "缺少预期功能时，再核对安装和启用状态、菜单显示设置。"
      ],
      "boundary": "没有基本设置入口不代表插件不能配置；菜单隐藏与插件是否启用是两件事。",
      "sections": [
        {
          "heading": "个人未读与全站消息",
          "paragraphs": [
            "右上角消息数字是当前管理员UID的home_notification.new=1条数，加个人群发消息接收状态status=0条数。不是全站未读，也不是所有私人PM数量；合并通知按一条记录计数，不按from_num累加。",
            "读取/标已读要求管理员、POST及当前UID所有权。全站消息管理列表不应因为浏览就把别人消息标已读。并发新消息应保留未读，不能把用户总计直接清零。"
          ],
          "steps": [
            "右上角消息图标进入我的未读筛选，确认所属管理员。",
            "打开一个自己未读通知，检查详情与角标减少；重复读取不能再次扣除。",
            "切全站管理查另一用户消息，核对自己角标不受影响。",
            "全部已读仅处理当前捕获未读集合；操作期间的新消息不应误清除。"
          ],
          "settings": []
        },
        {
          "heading": "用户与积分业务",
          "paragraphs": [],
          "steps": [
            "用户管理按UID/用户名/邮箱查找；添加用户时填唯一用户名、可用邮箱、密码和确认密码及普通用户组。",
            "重复用户名/两次密码不同应在添加窗口提示，成功后列表出现新用户；不得把创建管理员作为教程默认。",
            "积分类型先确认对应Discuz积分编号，再改名称用途；积分日志核对用户、变动来源与余额，而不是只看保存成功。",
            "发送消息前先向自己发送一条，确认内容和显示效果，再选择需要通知的用户。"
          ],
          "settings": []
        },
        {
          "heading": "治理、备份与任务记录",
          "paragraphs": [
            "数据治理、备份历史、变更操作日志和数据任务记录是不同入口：先备份/预览，再执行允许操作，再从任务记录与日志核对结果。备份成功提示不等于已经演练恢复。"
          ],
          "steps": [
            "备份或导出前核对数据范围，下载文件查看格式与行数。",
            "治理先预览影响量；涉及清理不能使用全站数据做教程样例。",
            "查看变更日志的操作者/时间/目标，并查看任务失败原因；失败不能写成任务完成。"
          ],
          "settings": []
        }
      ],
      "category": "使用教程",
      "tags": [
        "设置详解",
        "前后台对应"
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=workspace-basic-settings",
      "content_hash": "bbc5b49f090a576036ed4748ad39dff73badaf8f73f5cfd4b6472da38b30a13c",
      "images": [
        {
          "file": "model-dialog.jpg",
          "section": 0,
          "caption": "模型广场使用常用设置；左侧不再显示空的基本设置"
        }
      ]
    },
    {
      "id": "model-settings",
      "plugin_id": "aigeo_model",
      "title": "配置模型广场的常用设置",
      "summary": "分别核对默认模型、故障转移、积分和连接限制。",
      "steps": [
        "进入“模型管理”，先确认至少有一个已启用的文本模型。",
        "打开“常用设置” → “对话与备用模型”，在“默认对话模型”中选择该模型；没有可选项时先处理模型管理。",
        "点击“保存设置”，重新打开页面确认选择保留。",
        "在前台对话输入示例“请用一句话介绍你能做什么”，检查是否收到回答。"
      ],
      "boundary": "保存设置不等于模型连接成功；实际模型选择还受模型目录默认标记和回退规则影响。",
      "sections": [
        {
          "heading": "对话模型与故障转移",
          "steps": [
            "先在模型管理建立并启用文本模型，确认连接测试正常；图片模型不会出现在文本默认候选中。",
            "在常用设置中选择默认对话模型并保存，重新打开页面与前台主页确认默认选项一致。",
            "备用模型选择已验证且可用的文本模型，首轮只设一个，避免多个无效端点造成连续等待。",
            "前台发送一条简短问题；再核对实际模型、内容、耗时和记录。故障转移用于可恢复的上游故障，已有输出后不会随意换模型。"
          ],
          "settings": [
            {
              "name": "默认对话模型",
              "default": "首个可用文本模型",
              "recommended": "选择连接已验证、性价比稳定的文本模型",
              "reason": "决定前台默认对话候选；保存时同步模型目录的默认标记",
              "frontend_effect": "主页进入聊天的默认模型"
            },
            {
              "name": "启用故障转移",
              "default": "1",
              "recommended": "已验证备用端点后启用",
              "reason": "没有备用或备用不可用时无法解决故障",
              "frontend_effect": "上游故障时的备用回答"
            },
            {
              "name": "备用模型",
              "default": "空",
              "recommended": "先一个稳定、费用不高于主模型的文本模型",
              "reason": "减少恢复等待并保持费用边界",
              "frontend_effect": "失败后的实际回答模型"
            },
            {
              "name": "请求超时",
              "default": "60",
              "recommended": "先60秒；慢模型按实际耗时调整10–600秒",
              "reason": "过短会中断正常请求，过长会拉长等待",
              "frontend_effect": "聊天等待及失败提示"
            }
          ]
        },
        {
          "heading": "前台标题显示在哪里",
          "settings": [
            {
              "name": "前台品牌标题",
              "default": "亮剑AI",
              "recommended": "填写站点对外品牌，最多60字",
              "reason": "让用户识别当前站服务",
              "frontend_effect": "前台导航品牌"
            },
            {
              "name": "前台页面标题",
              "default": "AI对话",
              "recommended": "清楚描述对话用途，最多60字",
              "reason": "便于用户识别页面与标签",
              "frontend_effect": "聊天页标题"
            },
            {
              "name": "积分不足提示",
              "default": "积分不足，无法使用AI对话功能。",
              "recommended": "说明如何获取本站对应积分，最多160字",
              "reason": "用户需要具体下一步",
              "frontend_effect": "付费请求前余额不足提示"
            }
          ],
          "steps": [
            "填写标题后保存，重新打开前台首页和聊天页检查文字位置。",
            "不要把管理员联系方式或内部API地址填到公开品牌标题里。"
          ]
        },
        {
          "heading": "连接安全选项与验证",
          "settings": [
            {
              "name": "SSL验证模式",
              "default": "off",
              "recommended": "线上建议system系统CA",
              "reason": "验证上游HTTPS证书；关闭验证只适合已定位证书问题的测试",
              "frontend_effect": "模型请求成功或连接失败，不直接改变前台样式"
            },
            {
              "name": "自定义CA路径",
              "default": "空",
              "recommended": "只有采用内部CA时选custom并填服务器绝对路径",
              "reason": "文件必须存在且可读；浏览器里的本地文件路径无效",
              "frontend_effect": "上游TLS握手"
            }
          ],
          "steps": [
            "先选系统CA并测试真实上游连接。",
            "保存报自定义CA不存在：核对PHP所在服务器路径和读取权限。",
            "保存成功只说明字段合格，不证明上游可连通；必须完成模型请求并读日志。"
          ]
        }
      ],
      "category": "使用教程",
      "tags": [],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=model-settings",
      "images": [
        {
          "file": "model-dialog.jpg",
          "section": 0,
          "caption": "常用设置：默认对话模型和备用模型",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "8a71b473dce7c4643a8046681a661a95b8e627d69c2bea8883b1c2b56240d687"
    },
    {
      "id": "model-billing",
      "plugin_id": "aigeo_model",
      "title": "固定扣分与用量计费：公式、预授权、结转和退款",
      "summary": "用具体数字核对后台设置、前台规则及最终扣费，区分预授权与实际结算。",
      "steps": [
        "在常用设置的积分与限流中选择积分类型和计费方式。",
        "固定计费核对固定费用；用量计费核对文本、图片和无用量返回时的费用。",
        "同时核对请求超时及每分钟请求限制，再保存。"
      ],
      "boundary": "模型服务是否返回用量会影响用量计费。修改前先了解站点积分规则，勿把显示费用当成每次请求的最终扣费结果。",
      "sections": [
        {
          "heading": "先确定积分与收费方式",
          "steps": [
            "选择网站实际使用的积分类型，例如“威望”；先在测试账号上验证余额和积分记录。",
            "首次验证建议选用量计费，文本费率先填1、图片费率先填1、无usage兜底填0、输出预授权保留2000。这些是便于验证的试运行值；正式费率应根据上游成本及本站每积分价值换算。",
            "教程为了便于观察，临时将文本设5、图片设3，保存后进入前台“积分记录”核对公开计费规则，完成后恢复原配置。"
          ],
          "settings": [
            {
              "name": "积分类型",
              "default": "1",
              "recommended": "本站用户能获取且允许扣减的积分",
              "reason": "扣分、预授权、余额及结转按此积分类型计算",
              "frontend_effect": "前台余额、积分记录和不足提示"
            },
            {
              "name": "计费方式",
              "default": "usage",
              "recommended": "需要按消耗收费选用量；旧站兼容选固定",
              "reason": "两种模式的计算公式不同，切换前告知用户",
              "frontend_effect": "积分记录顶部规则"
            },
            {
              "name": "文本每百万Token",
              "default": "1",
              "recommended": "测试1；示例5",
              "reason": "输入与输出合计，达到一百万才结算，余量继续累计",
              "frontend_effect": "文本对话账单与累计Token"
            },
            {
              "name": "图片每次生成",
              "default": "1",
              "recommended": "测试1；示例3",
              "reason": "按实际返回图片张数收费，不按图片尺寸收费",
              "frontend_effect": "生图结果与积分记录"
            },
            {
              "name": "无usage兜底扣分",
              "default": "0",
              "recommended": "先保留0",
              "reason": "仅上游缺少usage且内容无法估算时使用；0记未计量不扣分",
              "frontend_effect": "未计量状态"
            },
            {
              "name": "预授权输出Token",
              "default": "2000",
              "recommended": "先2000，再按常见输出长度调整",
              "reason": "调用前检查预计费用；不是最终输出长度上限",
              "frontend_effect": "发送前余额不足提示或临时余额冻结"
            },
            {
              "name": "旧版每次消耗积分",
              "default": "0",
              "recommended": "固定模式按本站定价；示例2",
              "reason": "用量模式不采用这个固定价",
              "frontend_effect": "固定请求扣费"
            },
            {
              "name": "每分钟请求限制",
              "default": "10",
              "recommended": "普通站先10，观察再调整",
              "reason": "最近60秒滚动计数；0不限，限制不等于计费",
              "frontend_effect": "前台连续发送时的限流提示"
            }
          ]
        },
        {
          "heading": "固定模式如何计算",
          "paragraphs": [
            "每次费用 = 模型管理中该模型的每次费用（大于0时）; 否则使用常用设置中的旧版每次费用。",
            "例如全局2、模型5，调用一次扣5；模型0则调用一次扣2。模型填0并不能覆盖正数全局费用成为免费模型。固定模式中只有模型费用与全局费用都不产生正数费用时才免费。",
            "实际请求前检查余额并扣分；请求失败走退款分支。重发是新请求，不能将连续点击视为同一次付费。"
          ],
          "steps": [
            "在模型管理中记录模型每次费用，再记录全局旧版费用。",
            "选择固定模式，保存，前台积分记录检查规则。",
            "用一个测试账号发一次成功请求，再核对账单中的扣分和余额变化；失败请求另行验证退款，避免仅凭显示价格判断。"
          ]
        },
        {
          "heading": "用量模式的文本累计公式",
          "paragraphs": [
            "本次Token = 输入Token + 输出Token；优先使用上游usage。没有usage时可按请求消息与返回内容估算，而不是立刻套用兜底费用。",
            "结算单位数 = floor((上次结转Token + 本次Token) / 1000000)。本次扣分 = 结算单位数 × 文本每百万Token费率；新结转Token = 两次Token之和对1000000取余。",
            "结转按用户和积分类型保存，同一用户使用不同文本模型仍可共用该积分类型的结转。未满一百万显示累计中，不能误认为用量丢失。"
          ],
          "items": [
            "费率5，首次60万Token：扣0，结转60万。",
            "再用50万：合计110万，扣5，结转10万。",
            "旧结转90万、本次220万：合计310万，扣15，结转10万。",
            "以上是调用实际计费函数的隔离计算测试，未向模型商发送百万Token付费请求。"
          ]
        },
        {
          "heading": "图片、预授权与失败处理",
          "paragraphs": [
            "图片费率3，成功返回2张则扣6；尺寸变化不参与积分公式。请求张数在预授权时限制为1至10，最终结算看实际返回数量。",
            "用量模式先按输入估算和预授权输出Token预扣，再用真实结果结算并返还差额。即使最后仍为累计中、实际扣0，也可能先要求具备最低一个收费单位的余额。",
            "无usage但能估算内容时用估算结果；完全无法计量时才用兜底值。上游失败归还预授权。结算异常、余额无法补足和未计量有独立状态，应核对账单状态而不是只看接口是否成功。"
          ]
        },
        {
          "heading": "计费设置示例与前台展示",
          "paragraphs": [
            "例如，文本费率设置为5、图片费率设置为3，积分类型选择威望。保存后，前台积分规则显示每百万 Token 5 威望、每张图片3威望。用户可在积分记录中查看实际扣费。"
          ]
        }
      ],
      "category": "使用教程",
      "tags": [],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=model-billing",
      "images": [
        {
          "file": "model-billing-correspondence.jpg",
          "section": 4,
          "caption": "同一组参数：后台文本5/图片3 → 前台公开规则；编号对应两处费率",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "5c94f895ad42c96144918e02d0d10925a7a2fc6d1b196e420b844c230d9ed6ed"
    },
    {
      "id": "model-tasks",
      "plugin_id": "aigeo_model",
      "title": "任务中心：统一启停、实例配置、测试与执行日志",
      "summary": "外层启用或停用会统一控制任务实例；单独调整某个实例，请在设置弹窗中操作。",
      "steps": [
        "登录 Discuz! 管理后台，打开模型广场 → 任务中心。用“全部、已启用、已停用、可安装”筛选任务，也可搜索任务名称或插件标识。",
        "先查看任务卡片的状态、所属插件和最近执行结果；点“启用任务”会打开该任务下全部未移除实例，点“停用任务”会关闭全部实例的自动调度，任务配置和历史记录会保留。",
        "点卡片上的“设置”打开配置弹窗。编辑实例名称和任务参数；“启用此实例”只控制当前实例。保存后回到卡片核对状态。若只想停用一个实例，不要停用外层任务。",
        "点“测试”先查看配置预检。预检通过只表示必要配置可用；隔离试运行的结果需要继续查看任务执行日志、模型响应和最终业务结果。",
        "“立即执行”会按当前配置正式运行一次，不依赖自动调度开关，也可能写入帖子或其他业务数据。先确认目标和配置，再使用此按钮。",
        "点“日志”在弹窗中查看执行记录、任务状态、结果和耗时。状态为 queued 或待处理表示仅入队；确认已完成并检查实际帖子、摘要或其他业务结果后，才算执行完成。",
        "自动运行还需检查模型广场 → 定时任务中的全局调度模式，以及各实例的运行间隔。任务中心的实例设置决定处理哪些对象、多久入队一次；调度模式决定由云端/URL 外部触发还是 Discuz! 计划任务触发。"
      ],
      "boundary": "外层“启用任务/停用任务”统一启停全部未移除实例；实例级开关只在设置弹窗里影响当前实例。手动执行与自动调度分开，即使任务已停用，点击“立即执行”仍会运行正式任务。排队不等于完成。",
      "sections": [
        {
          "heading": "找到任务并判断当前状态",
          "paragraphs": [
            "任务中心按组件显示任务及状态。应用中心已上架、但本地缺少组件文件时，目录可提供安装入口；开发站本地存在任务组件文件时，即使该组件尚未上架也会显示，便于调试。未上架且本地没有文件的固定项不显示。"
          ],
          "steps": [
            "用顶部状态按钮缩小范围，再用搜索框按任务名称或插件标识定位。",
            "先读卡片右上角状态和“最近执行”；最后一次显示 queued/待处理时，继续查执行日志，不能把入队当作成功。"
          ],
          "settings": []
        },
        {
          "heading": "统一启停与实例单独设置",
          "paragraphs": [
            "任务卡片上的外层按钮一次控制该任务下所有未移除实例。需要保留任务但暂停全部实例时点“停用任务”；只停用个别实例时打开“设置”，清除该实例的“启用此实例”并保存。"
          ],
          "steps": [
            "从任务卡片点“启用任务”或“停用任务”，阅读确认提示并查看更新后的状态。",
            "点“设置”后只修改目标实例。确认实例名称、模型、间隔和任务参数，再保存；不要通过关闭组件或删除任务来代替暂停实例。"
          ],
          "settings": []
        },
        {
          "heading": "测试、正式执行与日志",
          "paragraphs": [
            "“测试”提供配置预检和隔离试运行入口；预检的绿色状态不等于已完成真实业务动作。“立即执行”则正式运行一次，可能创建帖子、处理内容或写入其他业务数据。"
          ],
          "steps": [
            "先做预检，再按页面提示使用隔离试运行；查看每个阶段的结果和实际调用模型。",
            "需要正式执行时先核对目标版块、账号和输出设置。执行后在“日志”弹窗查看队列状态、最终结果和错误详情，并回到业务页面核验结果。"
          ],
          "settings": []
        },
        {
          "heading": "自动调度与重试排查",
          "paragraphs": [
            "自动调度依赖模型广场的全局触发设置。外部触发模式使用 HTTP 触发入口；Discuz! 计划任务模式由站点计划任务调用。若发现重复业务结果，应在日志中对照原任务与重试任务的入队、开始和完成时间，先确认原任务是否仍在执行，再检查重试与超时设置。"
          ],
          "steps": [
            "进入模型广场 → 定时任务检查当前全局调度模式和触发状态。",
            "回到任务中心检查任务开关、实例间隔和最近执行；发生超时后不要仅凭“待处理”再次手动执行，先看队列日志和业务结果。"
          ],
          "settings": []
        }
      ],
      "category": "使用教程",
      "tags": [
        "任务中心",
        "调度设置",
        "执行日志",
        "操作详解"
      ],
      "updated_at": "2026-10-22T09:37:10+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=model-tasks",
      "images": [
        {
          "file": "model-tasks-overview-20261022.webp",
          "section": 0,
          "caption": "任务中心卡片：状态、启停、设置、测试与日志入口"
        },
        {
          "file": "model-tasks-config-20261022.webp",
          "section": 1,
          "caption": "实例设置弹窗：单独控制当前实例的启停"
        }
      ],
      "content_hash": "8ce65166ed8130e8ac591edbb91807966598581453cc838f955215c1c8793f8e"
    },
    {
      "id": "knowledge-import",
      "plugin_id": "aigeo_knowledge",
      "title": "导入 Markdown 资料",
      "summary": "预览后导入，再检查状态和访问范围。",
      "steps": [
        "打开“导入文档”，在“或直接粘贴内容”中填写示例：# 菜单整理\n\n## 如何显示知识库\n在工作台菜单管理中勾选知识库与需要的功能，再保存。",
        "点击“解析预览”，核对标题“菜单整理”和正文片段。",
        "点击“确认导入待审核”，到“资料管理”找到刚导入的标题并编辑。",
        "确认内容可公开后，将状态设为“已发布”，按用途勾选“前台公开”和“AI 可调用”，点击“保存资料”。",
        "在知识库前台检索“菜单整理”；若用于客服，再以“如何显示知识库”提问，核对能否命中。"
      ],
      "boundary": "导入资料默认待审核、默认不公开；允许 AI 调用的默认值由站点设置决定。导入成功不等于前台或客服立即可检索。",
      "sections": [
        {
          "paragraphs": [
            "预览后导入，再检查状态和访问范围。"
          ],
          "heading": "开始前"
        },
        {
          "steps": [
            "打开“导入文档”，粘贴以“# 教程示例：亮仔工作台菜单整理”为标题的 Markdown，并写入菜单操作说明。",
            "点击“解析预览”，核对示例标题和三个正文片段，再确认导入待审核。",
            "点击“确认导入待审核”，到“资料管理”找到刚导入的标题并编辑。",
            "确认内容可公开后，将状态设为“已发布”，按用途勾选“前台公开”和“AI 可调用”，点击“保存资料”。",
            "在知识库前台检索“菜单整理”；若用于客服，再以“如何显示知识库”提问，核对能否命中。"
          ],
          "heading": "操作步骤"
        },
        {
          "paragraphs": [
            "导入后在待审核列表查找资料，核对标题和正文；发布后在前台搜索关键词，确认能找到该资料。"
          ],
          "heading": "检查结果"
        },
        {
          "items": [
            "导入后搜索不到：先检查是否仍是待审核、是否前台公开。",
            "客服搜不到：再检查AI可调用、客服检索开关和资料是否匹配问题。"
          ],
          "heading": "遇到问题"
        },
        {
          "paragraphs": [
            "导入资料默认待审核、默认不公开；允许 AI 调用的默认值由站点设置决定。导入成功不等于前台或客服立即可检索。"
          ],
          "heading": "使用边界"
        }
      ],
      "category": "使用教程",
      "tags": [],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=knowledge-import",
      "images": [
        {
          "file": "knowledge-import.jpg",
          "section": 0,
          "caption": "步骤一：粘贴带标题的 Markdown 示例"
        },
        {
          "file": "knowledge-preview.jpg",
          "section": 1,
          "caption": "步骤二：核对标题和片段，再确认导入待审核"
        }
      ],
      "content_hash": "32a5eedc12117c575ef7a35e157c141d601cc04af9bcb7f1d68d582a99cfc4bf"
    },
    {
      "id": "knowledge-visibility",
      "plugin_id": "aigeo_knowledge",
      "title": "资料发布、AI使用和公开展示是三个独立条件",
      "summary": "资料发布、AI使用和公开展示是三个独立条件",
      "steps": [
        "打开“资料管理”，找到资料并点击“编辑”。",
        "在“状态”选择适当状态，按用途分别勾选“前台公开”及“AI 可调用”。",
        "点击“保存资料”，返回列表核对状态和“AI / 公开”标记。",
        "分别以访客访问和客服提问核对目标范围。"
      ],
      "boundary": "内部资料不能因为勾选 AI 可用就被视为公开资料；不同检索入口的访问规则可能不同。",
      "sections": [
        {
          "heading": "一份资料给谁看",
          "paragraphs": [
            "新建默认草稿、AI允许、公开关闭、普通优先级。前台公开搜索要求已发布+公开；AI检索要求已发布+AI允许；内部状态仅在allow_private_ai开启时才进入客服内部检索。API登录/token只限制调用入口，不能替代单条资料公开和AI字段。",
            "重要：列表快捷“发布”会同时打开public_access。内部AI资料请进编辑页设置已发布、AI允许、公开关闭，再保存。不要把快捷发布当作仅修改状态。",
            "本轮接入的模型资料库技能与统一客服工作台严格要求status=published、public_access=1、ai_access=1。allow_private_ai不扩大这两条路径权限；历史引用重新按当前权限核对，关闭权限后不应继续显示卡片。原客服内部AI检索与token接口保留原有独立规则，请勿混用。"
          ],
          "steps": [],
          "settings": [
            {
              "name": "status",
              "default": "draft",
              "recommended": "核对后published；内部隔离可private",
              "reason": "草稿/待审核/停用不进入常规检索",
              "frontend_effect": "检索能否找到"
            },
            {
              "name": "ai_access",
              "default": "1",
              "recommended": "公开使用教程开启，敏感内容关闭",
              "reason": "控制AI检索范围",
              "frontend_effect": "客服可引用"
            },
            {
              "name": "public_access",
              "default": "0",
              "recommended": "面向所有用户的教程开启，内部材料关闭",
              "reason": "公开页和公开API读资料",
              "frontend_effect": "前台列表和详情"
            },
            {
              "name": "priority",
              "default": "normal",
              "recommended": "只有权威高频政策用high",
              "reason": "不要全部标高",
              "frontend_effect": "知识检索排序"
            },
            {
              "name": "version_scope",
              "default": "",
              "recommended": "填写适用版本，例如1.0.x",
              "reason": "防止旧版步骤误用于新版",
              "frontend_effect": "资料匹配与人工判断"
            },
            {
              "name": "domain/module",
              "default": "common/空",
              "recommended": "domain写业务域，module写插件标识符",
              "reason": "同名页面按插件区分",
              "frontend_effect": "搜索组织与关联"
            },
            {
              "name": "summary/keywords",
              "default": "",
              "recommended": "摘要写解决目标，关键词含页面名和常见提问",
              "reason": "只堆词不补正文无法回答步骤",
              "frontend_effect": "命中和摘要显示"
            }
          ]
        },
        {
          "heading": "导入、审核、分块与来源",
          "paragraphs": [
            "Markdown按标题分块；资料正文及分块都会影响检索，来源字段用于追溯，不是自动读取任意服务器文件的授权。"
          ],
          "steps": [
            "进入导入文档，选择类型doc、业务域和AI权限，粘贴包含二级标题的示例。",
            "先预览，核对标题、分块数量和每块正文，确认没有密码/token/个人数据。",
            "执行导入，在待审核或资料管理打开新记录；改正文后保存会重建分块。",
            "在编辑页选择发布权限，保存后前台搜索一个具体小节关键词。",
            "资料来源页面核对来源域、模块、表/ID或URL，避免重复导入同一资料。"
          ],
          "settings": []
        }
      ],
      "category": "使用教程",
      "tags": [
        "设置详解",
        "前后台对应"
      ],
      "updated_at": "2026-10-06T17:22:13+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=knowledge-visibility",
      "images": [
        {
          "file": "knowledge-visibility.jpg",
          "section": 0,
          "caption": "资料编辑：发布状态、AI 可调用与前台公开分别控制"
        }
      ],
      "content_hash": "1a0b70504f185e61ce688632754b7fe6cc0fe439043ab05024103c87a00a6a0d"
    },
    {
      "id": "knowledge-access",
      "plugin_id": "aigeo_knowledge",
      "title": "前台、公开API和内部AI调用的推荐配置",
      "summary": "前台、公开API和内部AI调用的推荐配置",
      "steps": [
        "进入知识库设置。",
        "按需要选择前台公开、登录可见或关闭。",
        "分别设置 API 的关闭、登录验证、令牌验证或公开访问模式，再保存。"
      ],
      "boundary": "公开 API 会扩大资料可访问范围；令牌及站点私有资料不要写入公共说明。",
      "sections": [
        {
          "heading": "三条访问路径",
          "paragraphs": [
            "search默认为公开检索。只有token模式的请求for_ai=1才走AI资料搜索，且不包含private资料；detail即使token正确仍仅允许已发布+公开。不要以为有token就能读取所有资料。",
            "API search返回摘要、匹配章节与片段，token AI搜索额外返回截断正文/来源；它不是把全库任意全文直接输出。"
          ],
          "steps": [],
          "settings": [
            {
              "name": "front_access_mode",
              "default": "public",
              "recommended": "公开教程public；会员资料login；不提供页面closed",
              "reason": "关闭前台不自动关闭API",
              "frontend_effect": "知识库列表/详情访问"
            },
            {
              "name": "api_mode",
              "default": "public",
              "recommended": "只开放公共教程可public；可信服务读内部AI资料用token；不用接口off",
              "reason": "login限制登录，token要验证请求凭据",
              "frontend_effect": "plugin.php?id=aigeo_knowledge:api"
            },
            {
              "name": "api_token",
              "default": "",
              "recommended": "生成独立随机token，仅在服务端使用",
              "reason": "不要将密钥放入公开页面、访问日志或前端脚本",
              "frontend_effect": "token API身份验证"
            },
            {
              "name": "api_max_results",
              "default": "20",
              "recommended": "20",
              "reason": "1-100，控制返回量",
              "frontend_effect": "API search上限"
            },
            {
              "name": "allow_private_ai",
              "default": "0",
              "recommended": "默认关闭",
              "reason": "开启会将private+AI允许资料纳入客服内部检索，应先审内容",
              "frontend_effect": "客服资料范围"
            },
            {
              "name": "search_log_enabled",
              "default": "1",
              "recommended": "排错时开启",
              "reason": "记录关键词和命中ID",
              "frontend_effect": "搜索日志"
            },
            {
              "name": "search_log_retention_days",
              "default": "90",
              "recommended": "90",
              "reason": "0不按天数清理；其余范围0-3650。",
              "frontend_effect": "日志留存"
            },
            {
              "name": "page_size",
              "default": "20",
              "recommended": "20",
              "reason": "10-50",
              "frontend_effect": "前台每页条数"
            },
            {
              "name": "import_default_domain",
              "default": "discuz",
              "recommended": "常导入AI教程可设相应业务域",
              "reason": "仅导入默认不改旧资料",
              "frontend_effect": "导入表单预填"
            },
            {
              "name": "import_default_type",
              "default": "doc",
              "recommended": "doc",
              "reason": "FAQ资料可选faq，API说明选api",
              "frontend_effect": "导入类型预填"
            },
            {
              "name": "import_default_ai_access",
              "default": "1",
              "recommended": "已审公开文档开启",
              "reason": "未审原始资料单条覆写关闭",
              "frontend_effect": "导入默认AI权限"
            }
          ]
        }
      ],
      "category": "使用教程",
      "tags": [
        "设置详解",
        "前后台对应"
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=knowledge-access",
      "images": [
        {
          "file": "knowledge-access.jpg",
          "section": 0,
          "caption": "访问设置：前台访问与 API 设置分开管理",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "408b03fc1ed861db949ec25d73121d31fb9eece5ff8d14a9e9ade04204a5c764"
    },
    {
      "id": "service-faq",
      "plugin_id": "aigeo_service",
      "title": "从 FAQ 到知识检索：为什么客服这样回答",
      "summary": "从 FAQ 到知识检索：为什么客服这样回答",
      "steps": [
        "打开“常见问题”，点击“新增问题”。",
        "“问题”示例填写“如何整理工作台菜单？”；“答案”填写“进入工作台的菜单管理，调整顺序和显示功能后点击保存。”",
        "“关键词”示例填写“整理菜单,菜单排序”；可选HTTPS链接填已经存在的教程地址，或留空。",
        "勾选“启用”，点击“保存”。",
        "进入客服分别提问完整问题和“我想整理菜单”，核对回复为刚填写的标准答案。"
      ],
      "boundary": "常见问题按问题及关键词匹配，优先于知识库检索；未命中时才继续后续回答流程。",
      "sections": [
        {
          "heading": "先建立可核对的答案",
          "paragraphs": [
            "前台入口 plugin.php?id=aigeo_service。普通问答先匹配启用 FAQ，再检索知识；业务词订单、物流、售后、退款进入业务技能引导，不能拿知识回答冒充订单真实状态。问候、身份问答及危险缓存操作有独立分支。"
          ],
          "steps": [
            "进入常见问题，新增“如何修改亮仔菜单名称？”；答案写具体点击路径，不写“请查看后台”。",
            "关键词填“修改菜单,菜单别名”，排序填 0，启用；相关链接使用 HTTPS 公开教程。",
            "打开客服前台，点击常见问题或输入完整问题；应直接输出配置答案和资料引用，不需要模型推理。",
            "停用这条 FAQ 后重问，才验证知识检索路径；完成后恢复启用。"
          ],
          "settings": [
            {
              "name": "enabled",
              "default": "1",
              "recommended": "完成核对后启用",
              "reason": "关闭项不会参与前台匹配",
              "frontend_effect": "前台常见问题和直接提问"
            },
            {
              "name": "displayorder",
              "default": "0",
              "recommended": "最常见问题用较小序号",
              "reason": "按升序排列，序号相同时新记录优先",
              "frontend_effect": "快捷问题次序"
            },
            {
              "name": "keywords",
              "default": "",
              "recommended": "用逗号分隔明确词组，避免“怎么”“问题”等宽泛词",
              "reason": "精确问句加120分、包含问句加80分，每个关键词命中加45分；最高正分项获选",
              "frontend_effect": "可能遮蔽后面的知识检索"
            }
          ]
        },
        {
          "heading": "知识命中后模型与规则回退",
          "paragraphs": [
            "只有找到资料且启用了可用模型时，才尝试基于资料生成回答。开启模型不意味着所有问题都会调用模型，也不是任意上网搜索。规则回退是在模型异常或返回空内容时用资料整理答案；关闭回退则返回兜底话术。",
            "统一客服工作台与原客服保留各自运行路径。工作台在FAQ未命中后只检索已发布、公开且允许AI的资料，空结果直接使用补充信息/兜底提示，不让模型凭常识补写本站事实。关闭模型时展示资料片段；模型异常是否继续用资料取决于回退设置。工具协议会被拒绝，页面展示的是回答与资料引用。"
          ],
          "steps": [],
          "settings": [
            {
              "name": "llm_enabled",
              "default": "1（需有模型）",
              "recommended": "知识准备好后开启",
              "reason": "无资料时模型不能补全事实",
              "frontend_effect": "知识命中回答内容"
            },
            {
              "name": "llm_model_source_id",
              "default": "自动选择",
              "recommended": "明确选已验证可用的文本模型来源",
              "reason": "来源ID不是仅模型显示名；默认优先特定flash来源，再文本模型",
              "frontend_effect": "客服实际请求模型"
            },
            {
              "name": "llm_temperature",
              "default": "0.2",
              "recommended": "0.2",
              "reason": "客服以资料准确性为先，减少发散",
              "frontend_effect": "回答措辞稳定程度"
            },
            {
              "name": "llm_max_tokens",
              "default": "700",
              "recommended": "先700，复杂步骤再提高",
              "reason": "范围100-4000；过低会截断，过高增加消耗",
              "frontend_effect": "答案长度"
            },
            {
              "name": "knowledge_limit",
              "default": "3",
              "recommended": "先3，有跨章节需求提高到5",
              "reason": "范围1-10，过多无关资料会稀释答案",
              "frontend_effect": "提供模型的资料数"
            },
            {
              "name": "llm_fallback_to_rule",
              "default": "1",
              "recommended": "保持启用",
              "reason": "模型不通时仍能按资料回答",
              "frontend_effect": "模型失败时显示规则答案"
            }
          ]
        },
        {
          "heading": "技能工具与工具日志",
          "paragraphs": [
            "当前技能页面只展示knowledge_search和feedback_link，分别用于知识检索和引导意见反馈。商城订单/退款等处理逻辑仍是预留引导，不能宣传真实代办。knowledge_search关闭后普通问题不再检索知识库；FAQ仍可直接匹配。",
            "工具日志的hit/miss/llm_error/skill_enabled_pending_handler分别表示命中、未命中、模型失败、预留业务处理器待接入。"
          ],
          "steps": [
            "打开技能工具，确认知识检索启用；需要人工接手时保留反馈引导。",
            "暂时关闭知识检索，用非FAQ问题验证未命中兜底，之后恢复；FAQ应仍正常。",
            "进入工具日志核对问题、命中状态和前台资料引用，区别FAQ命中与知识检索命中。"
          ],
          "settings": []
        },
        {
          "heading": "FAQ明确命中与歧义",
          "paragraphs": [
            "FAQ优先处理明确问题或具体业务关键词。只有“怎么”“处理”等通用词或多个候选无法明确区分时，应继续资料检索流程；命中某条FAQ不等于命中知识库。"
          ],
          "steps": [
            "用FAQ的完整问题和具体关键词分别验证，再输入无关问句，确认没有仅靠通用词返回错误FAQ。"
          ]
        }
      ],
      "category": "使用教程",
      "tags": [
        "设置详解",
        "前后台对应"
      ],
      "updated_at": "2026-10-08T20:53:57+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=service-faq",
      "images": [
        {
          "file": "service-faq.jpg",
          "section": 0,
          "caption": "填写标准问题、答案和关键词",
          "captured_at": "2026-10-06"
        },
        {
          "file": "service-answer.jpg",
          "section": 1,
          "caption": "前台点击示例问题，准确返回 FAQ 答案",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "f7006fa9bfabb28a777b58c5ddc147d9c0d6732fe59de02356d8ec6f4f8cbe57"
    },
    {
      "id": "service-answer",
      "plugin_id": "aigeo_service",
      "title": "客服设置逐项推荐与前台变化",
      "summary": "客服设置逐项推荐与前台变化",
      "steps": [
        "准备一条已审核的常见问题，以及一条允许AI调用的已发布知识资料。",
        "进入“客服设置”，在“调用模型”选择已启用模型；需要模型组织资料回答时勾选“启用命中资料后的大模型回答”。",
        "按需要勾选“使用命中资料的摘要继续回答”，点击“保存设置”。",
        "依次测试常见问题、知识资料关键词、完全不相关的问题，核对标准回答、资料回答和无匹配提示。"
      ],
      "boundary": "资料不足时应引导补充信息；订单、退款等业务结果不能靠回答文字执行。当前公开指南不承诺自动代配置或自动执行后台操作。",
      "sections": [
        {
          "heading": "品牌、入口与会话保留",
          "paragraphs": [
            "从 plugin.php?id=ailiangzai_admin 进入独立后台，选择智能客服及对应功能；这些页面复用原 Discuz 插件管理程序，菜单迁移不改变权限、设置或数据。原 Discuz 插件后台也可进入。",
            "本轮安装及首次升级默认开启统一客服工作台：已登录用户从原客服入口进入新工作台，游客仍按原访问模式进入原客服页。站长可关闭；以后重复升级保留手动关闭的选择。助手名称和头像可自定义，工作台默认身份为亮仔。"
          ],
          "steps": [
            "记录原配置，先改助手名称及欢迎语，保存。",
            "前台新建会话核对头像、名称、欢迎语；不要仅刷新已有历史会话判断欢迎语。",
            "再测试访客/login入口、过长问题和频率边界。",
            "恢复影响现有用户的试验参数，保留已标记FAQ 示例。"
          ],
          "settings": [
            {
              "name": "access_mode",
              "default": "public",
              "recommended": "面向访客选public，内部帮助台选login",
              "reason": "login要求登录；不是管理员专用权限",
              "frontend_effect": "访客能否进入客服"
            },
            {
              "name": "assistant_name",
              "default": "原客服默认名称；统一工作台将默认旧名称显示为亮仔",
              "recommended": "填写站点客服名称",
              "reason": "已有自定义名称保留，无需使用亮仔品牌",
              "frontend_effect": "客服身份与自我介绍；不同入口请分别核对"
            },
            {
              "name": "page_title",
              "default": "亮剑AI智能客服",
              "recommended": "按业务命名",
              "reason": "让用户知道咨询范围",
              "frontend_effect": "页面标题"
            },
            {
              "name": "page_slogan",
              "default": "基于资料库和技能工具回答问题",
              "recommended": "写实际支持范围",
              "reason": "不承诺尚未接入业务接口",
              "frontend_effect": "页面说明"
            },
            {
              "name": "welcome_message",
              "default": "默认欢迎语",
              "recommended": "告诉用户提供插件名、版本、页面与报错",
              "reason": "提高检索准确率",
              "frontend_effect": "会话开场"
            },
            {
              "name": "fallback_message",
              "default": "默认引导补充资料",
              "recommended": "明确缺少资料并给反馈路径",
              "reason": "防止无依据结论",
              "frontend_effect": "未命中/不允许规则回退时"
            },
            {
              "name": "assistant_avatar_media_id",
              "default": "0",
              "recommended": "从灯箱图库选择自己的JPEG、PNG或WebP头像",
              "reason": "需图库启用与归属/文件校验；清空选项恢复工作台默认亮仔头像",
              "frontend_effect": "统一客服工作台头像；原客服页外观需单独核对"
            },
            {
              "name": "use_model_navigation",
              "default": "0",
              "recommended": "安装启用模型后按统一入口需要开启",
              "reason": "不满足模型壳可用条件不保存该项",
              "frontend_effect": "模型统一侧栏或独立客服布局"
            },
            {
              "name": "unified_workspace",
              "default": "0",
              "recommended": "管理员预览通过后再按需开启",
              "reason": "独立于导航开关，升级不自动打开；需要模型和客服启用",
              "frontend_effect": "已登录用户进入统一客服工作台；游客保留原客服路径"
            },
            {
              "name": "quick_question_limit",
              "default": "20",
              "recommended": "6-10",
              "reason": "范围0-50，0隐藏；太多占据页面",
              "frontend_effect": "快捷问题列表"
            },
            {
              "name": "rate_limit_per_minute",
              "default": "10",
              "recommended": "先10",
              "reason": "范围1-60，控制频繁提问",
              "frontend_effect": "超限请求提示"
            },
            {
              "name": "max_question_length",
              "default": "1000",
              "recommended": "1000",
              "reason": "范围100-5000，避免超长无结构问题",
              "frontend_effect": "输入校验"
            },
            {
              "name": "max_session_messages",
              "default": "100",
              "recommended": "100",
              "reason": "范围0-1000；这是会话用户提问次数上限，不是保存消息条数。0不限制。",
              "frontend_effect": "会话达到上限后提示当前会话已达到提问上限"
            },
            {
              "name": "session_retention_days",
              "default": "90",
              "recommended": "90，敏感业务按制度缩短",
              "reason": "范围0-3650；0不按天数清理。每日触发清理检查，过期会话每次最多500条。",
              "frontend_effect": "旧会话保留"
            },
            {
              "name": "tool_log_retention_days",
              "default": "90",
              "recommended": "90",
              "reason": "范围0-3650；0不按天数清理。每日触发清理检查，过期会话每次最多500条。",
              "frontend_effect": "后台工具日志保留"
            }
          ]
        }
      ],
      "category": "使用教程",
      "tags": [
        "设置详解",
        "前后台对应"
      ],
      "updated_at": "2026-10-06T17:22:13+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=service-answer",
      "images": [
        {
          "file": "service-answer.jpg",
          "section": 0,
          "caption": "客服前台：提问、回答及结果反馈",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "780c0457be28b628c62f31209ba57f7471ed58005e142485bd6d0aea02b43c6c"
    },
    {
      "id": "aigeo_gallery-getting-started",
      "plugin_id": "aigeo_gallery",
      "title": "图片中心：权限、限额、图库布局与复用",
      "summary": "从管理规则、媒体上传到图库公开展示，完成一条可验证的图片使用流程。",
      "category": "使用教程",
      "tags": [
        "图库",
        "图片",
        "上传",
        "灯箱"
      ],
      "sections": [
        {
          "heading": "从设置到前台：先选一组适合教程站的默认值",
          "paragraphs": [
            "普通图文站先保持图片大小16 MB、列数3、间距8、灯箱开启；视频上传保持关闭，只有确定带宽和存储预算后再开启。列数和间距是新图库布局的初始值，并不批量改写已有图库。公开默认值决定新图库是否直接公开；有内部截图的站建议关闭默认公开，检查内容后再发布。"
          ],
          "items": [
            "前台管理开启：让登录用户进入图片中心管理资源；关闭用于暂停前台管理，不等于卸载插件。",
            "每人100图库、1000媒体、每图库100图：是容量限额；小型试用站建议先降低至20/200/30，观察存储再增加。",
            "视频默认关闭，最大50 MB：启用后才能使用视频流程，最大值可设1–200 MB。不能仅提高PHP上传大小而忽略插件限额。",
            "微信采集默认开启：手机端采集流程可用；没有手机采集需求可关闭，避免用户误入。",
            "素材来源默认pexels,pixabay,picsum,bing：先用无需密钥的来源验证流程，再给Pexels/Pixabay填写各自服务的Key。填写Key不代表网络一定连通。",
            "工作台标题/副标题分别显示图片中心页头；公开介绍用于公开图库入口，不会成为每张图片的说明。"
          ]
        },
        {
          "heading": "建立一个可复用图库，再验证公开边界",
          "steps": [
            "登录前台图片中心，先建立“教程示例图库”，保持私有。",
            "上传一张不含账号、密钥或个人资料的图片；检查媒体列表、预览、大小和引用位置。",
            "将图片加入图库，设3列、8间距，打开图库详情验证排列，点击图片验证灯箱。",
            "确认内容适合公开后切换公开，在未登录窗口检查能否访问；私有图库不应作为公开分享链接。",
            "在编辑器调用图库选图，再查看媒体引用；删除前先判断是否被其他内容引用。"
          ]
        },
        {
          "heading": "遇到问题",
          "items": [
            "上传失败：先看插件大小限额，再看PHP upload_max_filesize/post_max_size；图库容量满与文件大小超限是两种原因。",
            "素材搜索无结果：查看来源是否勾选、Key是否配置、请求是否连通，不能仅重试保存。",
            "保存后打开图库详情，检查列数、间距和公开状态是否符合设置。"
          ]
        },
        {
          "heading": "AI生图与免费素材：验证的是两个不同来源",
          "paragraphs": [
            "AI生图依赖模型广场的可用生图模型。未手选模型时采用可用列表的第一个，建议明确选择已验证的图片模型，避免模型列表顺序变化影响输出。先用“白色背景上的蓝色书本图标”这样的单对象描述测试；检查实际返回图片、入库预览及引用，不要把文本回答视作生成成功。免费素材检索则依赖启用的图库素材来源和对应Key，不经过此生图调用。"
          ],
          "steps": [
            "打开AI生图来源，选择图片模型、输入测试提示词。",
            "生成后查看预览，再导入媒体库并加入示例图库。",
            "回媒体列表确认有新媒体及来源，再公开图库检查图像可见。",
            "没有返回图片时查看是否只返回文本、图片URL不可下载或模型不可用；不能反复提交以免重复计费。"
          ]
        },
        {
          "heading": "媒体库、附件导入、公开列表与个人图库",
          "steps": [
            "图片中心媒体库可搜索已有媒体；先搜索“教程示例”，选已有媒体加入图库，检查不产生重复上传。",
            "从Discuz附件来源选择自己可用的附件导入；导入后在媒体库和图库各确认一次，附件列表无权限不能用URL绕过。",
            "图库详情可调整媒体排序、移除图库成员；移除成员与删除媒体是两个动作，先检查引用再删除。",
            "公开列表action=list显示公开图库；个人公开页action=user&uid=用户ID展示该用户公开内容；我的图库action=my用于登录用户自己的管理。",
            "微信采集通过电脑创建采集会话，再用手机微信扫码上传，电脑检查会话状态和新媒体；测试结束撤销会话，不把采集链接公开。"
          ]
        },
        {
          "heading": "每项设置怎样填写、影响哪里",
          "settings": [
            {
              "name": "manage_enabled",
              "default": "1",
              "recommended": "开启；维护时临时关闭",
              "reason": "保留用户管理能力，维护时暂停新增修改",
              "frontend_effect": "前台管理按钮及写入接口可用性"
            },
            {
              "name": "max_galleries_per_user",
              "default": "100",
              "recommended": "试用20，稳定后按存储调回100",
              "reason": "先限制图库数量，避免无管理的增长",
              "frontend_effect": "创建图库时容量校验"
            },
            {
              "name": "max_media_per_user",
              "default": "1000",
              "recommended": "试用200，容量充足再用1000",
              "reason": "媒体文件实际占用存储",
              "frontend_effect": "上传或导入媒体的容量校验"
            },
            {
              "name": "max_images_per_gallery",
              "default": "100",
              "recommended": "30起步；长图集再增至100",
              "reason": "避免单页过重",
              "frontend_effect": "向同一图库加入媒体的限额"
            },
            {
              "name": "aigeogallery_max_filesize",
              "default": "16",
              "recommended": "16 MB；手机图为主可降至8",
              "reason": "兼顾清晰度和上传速度",
              "frontend_effect": "图片上传及远程下载大小上限"
            },
            {
              "name": "aigeogallery_default_columns",
              "default": "3",
              "recommended": "3",
              "reason": "桌面图文布局便于浏览",
              "frontend_effect": "新图库初始列数，图库网格"
            },
            {
              "name": "aigeogallery_default_gap",
              "default": "8",
              "recommended": "8",
              "reason": "保留图片之间辨识空间",
              "frontend_effect": "新图库初始间距，网格gap"
            },
            {
              "name": "aigeogallery_default_public",
              "default": "1",
              "recommended": "含内部截图站关闭；公共图片站开启",
              "reason": "避免新建内容默认泄露",
              "frontend_effect": "新图库公开状态及公开列表可见性"
            },
            {
              "name": "default_lightbox",
              "default": "1",
              "recommended": "开启",
              "reason": "点击大图浏览比离开页面便捷",
              "frontend_effect": "新图库灯箱初始开关、点击图片预览"
            },
            {
              "name": "video_upload_enabled",
              "default": "0",
              "recommended": "先关闭，确认带宽和存储再开",
              "reason": "视频体积和流量更高",
              "frontend_effect": "上传视频能力"
            },
            {
              "name": "video_max_filesize",
              "default": "50",
              "recommended": "50 MB；短演示视频可降至20",
              "reason": "限制单个视频成本",
              "frontend_effect": "视频上传大小验证"
            },
            {
              "name": "wechat_capture_enabled",
              "default": "1",
              "recommended": "有手机采集需求开启",
              "reason": "让电脑与手机传图形成闭环",
              "frontend_effect": "采集会话与微信上传入口"
            },
            {
              "name": "aigeogallery_stock_providers",
              "default": "'pexels,pixabay,picsum,bing'",
              "recommended": "先picsum/bing，再接Pexels/Pixabay",
              "reason": "先排除Key问题验证流程",
              "frontend_effect": "免费素材来源选择及查询"
            },
            {
              "name": "aigeogallery_pexels_api_key",
              "default": "''",
              "recommended": "填写自己服务端Key，教程留空/遮挡",
              "reason": "对应来源请求授权",
              "frontend_effect": "Pexels素材查询；不向前台公开Key"
            },
            {
              "name": "aigeogallery_pixabay_api_key",
              "default": "''",
              "recommended": "填写自己服务端Key，教程留空/遮挡",
              "reason": "对应来源请求授权",
              "frontend_effect": "Pixabay素材查询；不向前台公开Key"
            },
            {
              "name": "workbench_title",
              "default": "'图片中心'",
              "recommended": "图库写“图片中心”；活码写“智能活码工作台”",
              "reason": "名称直接说明用途",
              "frontend_effect": "对应前台管理页主标题"
            },
            {
              "name": "workbench_subtitle",
              "default": "'统一管理、复用和生成站内图片'",
              "recommended": "填写一条具体用途",
              "reason": "说明能力与主标题互补",
              "frontend_effect": "对应前台管理页副标题"
            },
            {
              "name": "public_intro",
              "default": "'浏览公开图库，也可以直接从这里创建和发布自己的图库。'",
              "recommended": "说明公开图库可浏览与创建",
              "reason": "明确页面下一步操作",
              "frontend_effect": "公开图库页介绍"
            }
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=aigeo_gallery-getting-started",
      "images": [
        {
          "file": "gallery.jpg",
          "section": 0,
          "caption": "功能设置：前台管理与媒体额度",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "fa45d164fc12b1c41b5be0d79052b68a2b55066f959a4e7fcc24dd261435f2c1",
      "coverage_statistics": {
        "xml_modules": 4,
        "frontend_pages": 6,
        "setting_fields": 18,
        "fields_with_specific_recommendation": 18
      }
    },
    {
      "id": "aigeo_feedback-getting-started",
      "plugin_id": "aigeo_feedback",
      "title": "意见反馈：配置字段与提交处理闭环",
      "summary": "设置反馈入口、提交一条测试意见，并用管理员回复与状态完成处理闭环。",
      "category": "使用教程",
      "tags": [
        "反馈",
        "回复",
        "通知"
      ],
      "sections": [
        {
          "heading": "设置项如何改变提交表单",
          "paragraphs": [
            "建议独立反馈页面用于独立问题收集；已有模型广场用户希望统一导航时选AI工作台导航。这个选项只换前台导航框架，不会把反馈交给模型自动回答。"
          ],
          "items": [
            "平台名称默认“意见反馈”、标语默认“我们重视每一条建议”：显示左上角品牌栏和标题旁提示。Logo可配置图库媒体或URL，发布前用匿名页验证图片可访问。",
            "显示标题默认关闭：表单隐藏标题，提交时从内容前30字生成；需要按问题分类搜索建议开启标题显示并设必填，两项必须一起考虑。",
            "截图上限默认5 MB，建议5–10 MB以兼顾手机截图与带宽，允许1–50 MB。",
            "登录用户使用图库默认关闭：仅图库已安装、启用且前台管理开放才可开启；匿名上传始终保留原图片上传，不会获得登录媒体库。",
            "公告数默认3，建议保留3；0关闭公告区域。用于常见问题/维护公告，不代替管理员回复。",
            "通知UID留空默认UID 1；建议填写实际负责反馈的管理员UID，多个逗号分隔，避免无人收件。教程测试不向真实值批量推送通知。",
            "顶部导航每项名称、URL、颜色、字号、字重、新窗口：建议只放帮助文档/返回工作台两项，字号13、字重650保持默认，外站开启新窗口。",
            "反馈分类包括key、显示标签、图标、启用：key用于数据分类，建议保留稳定key，只修改可读标签；关闭分类后不能把历史反馈解释为删除。"
          ]
        },
        {
          "heading": "用户提交到管理员处理的闭环",
          "steps": [
            "在前台写“教程示例：菜单别名保存问题”，描述操作、预期、实际，并附不含隐私的截图。",
            "提交后登录用户跳我的反馈；匿名用户跳匿名详情，匿名访问方式与登录记录不能混用。",
            "管理员从反馈列表筛选状态并打开详情，查看问题、附件和回复记录。",
            "回复清晰的下一步并更新处理状态，再返回用户详情确认回复和状态可见。",
            "公告从管理员公告入口创建，前台顶部出现；公告与普通反馈分类不能互换解释。"
          ]
        },
        {
          "heading": "失败排查和图示计划",
          "items": [
            "无法开启图库：检查缺失/关闭/前台暂停三个不同状态，不能只重装反馈插件。",
            "标题必填似乎无效：先确认标题显示已开启。",
            "登录用户“我的反馈”普通用户只读自己数据；管理员列表可跨用户，教程公开图用新建示例数据。",
            "保存后打开前台反馈表单，检查标题和必填字段；提交后可在“我的反馈”查看处理状态和管理员回复。"
          ]
        },
        {
          "heading": "匿名详情、公告与处理台不同的访问方式",
          "steps": [
            "匿名反馈提交后进入guest_detail；根据页面所给的验证方式回看，不能把匿名反馈详情当作全站公开问题列表。",
            "登录用户my列表按状态筛选自己的非公告反馈；管理员可使用全站列表，普通用户不应看到别人内容。",
            "detail页用于问题及回复；announcement和announcements用于公开公告，后台列表管理状态与回复，概览看统计。",
            "前端入口与意见反馈页提供反馈链接。Agent 接入在独立后台页面配置，普通管理员回复无需启用 Agent。"
          ]
        },
        {
          "heading": "每项设置怎样填写、影响哪里",
          "settings": [
            {
              "name": "navigation_mode",
              "default": "按admin_setting与插件vars实际保存值；不能仅把空值写成关闭",
              "recommended": "standalone",
              "reason": "独立收集问题更清晰",
              "frontend_effect": "前台品牌栏/顶部导航；model复用模型导航"
            },
            {
              "name": "platform_name",
              "default": "按admin_setting与插件vars实际保存值；不能仅把空值写成关闭",
              "recommended": "意见反馈",
              "reason": "标题表达用途",
              "frontend_effect": "前台左上角"
            },
            {
              "name": "platform_slogan",
              "default": "按admin_setting与插件vars实际保存值；不能仅把空值写成关闭",
              "recommended": "写受理范围或处理时效",
              "reason": "比笼统欢迎更可操作",
              "frontend_effect": "标题旁标签"
            },
            {
              "name": "logo_url",
              "default": "按admin_setting与插件vars实际保存值；不能仅把空值写成关闭",
              "recommended": "公开可访问的品牌图片URL",
              "reason": "匿名用户也应能加载",
              "frontend_effect": "前台Logo"
            },
            {
              "name": "logo_media_id",
              "default": "按admin_setting与插件vars实际保存值；不能仅把空值写成关闭",
              "recommended": "图库可公开使用的品牌媒体ID",
              "reason": "复用图库而不复制文件",
              "frontend_effect": "前台Logo来源"
            },
            {
              "name": "notify_uids",
              "default": "按admin_setting与插件vars实际保存值；不能仅把空值写成关闭",
              "recommended": "实际负责人UID，多个逗号分隔",
              "reason": "默认UID1可能不是处理人员",
              "frontend_effect": "新反馈管理通知的接收者；不是前台展示"
            },
            {
              "name": "title_show",
              "default": "按admin_setting与插件vars实际保存值；不能仅把空值写成关闭",
              "recommended": "开启",
              "reason": "问题可检索和定位",
              "frontend_effect": "提交表单显示标题；关时内容前30字生成"
            },
            {
              "name": "title_required",
              "default": "按admin_setting与插件vars实际保存值；不能仅把空值写成关闭",
              "recommended": "标题显示开启时开启",
              "reason": "避免空标题降低搜索质量",
              "frontend_effect": "表单标题必填验证"
            },
            {
              "name": "upload_max_mb",
              "default": "按admin_setting与插件vars实际保存值；不能仅把空值写成关闭",
              "recommended": "5–10 MB",
              "reason": "允许清晰手机截图而不无限制",
              "frontend_effect": "提交与回复截图大小上限"
            },
            {
              "name": "announcement_limit",
              "default": "按admin_setting与插件vars实际保存值；不能仅把空值写成关闭",
              "recommended": "3；无公告时0",
              "reason": "保留近期重要提醒",
              "frontend_effect": "前台Tab上方公告区"
            },
            {
              "name": "gallery_upload_enabled",
              "default": "按admin_setting与插件vars实际保存值；不能仅把空值写成关闭",
              "recommended": "图库就绪后开启",
              "reason": "集中登录用户附件并复用",
              "frontend_effect": "登录用户附件用图库；匿名仍原上传"
            },
            {
              "name": "nav_items",
              "default": "按admin_setting与插件vars实际保存值；不能仅把空值写成关闭",
              "recommended": "帮助文档/返回工作台两项，字号13字重650",
              "reason": "减少导航噪声",
              "frontend_effect": "顶部名称、URL、颜色、字号、字重、新窗口"
            },
            {
              "name": "categories",
              "default": "按admin_setting与插件vars实际保存值；不能仅把空值写成关闭",
              "recommended": "保持key稳定，标签描述受理类型",
              "reason": "不破坏历史数据分类",
              "frontend_effect": "提交分类、分类图标、可选分类"
            }
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=aigeo_feedback-getting-started",
      "content_hash": "1d49b34584a5487a7669b550e147b0739faec50a2d0995a1c57058cb32da28ec",
      "images": [
        {
          "file": "feedback.jpg",
          "section": 0,
          "caption": "反馈页设置入口与页面字段"
        }
      ],
      "coverage_statistics": {
        "xml_modules": 5,
        "frontend_pages": 7,
        "setting_fields": 13,
        "fields_with_specific_recommendation": 13
      }
    },
    {
      "id": "aigeo_livecode-getting-started",
      "plugin_id": "aigeo_livecode",
      "title": "智能活码：默认入口、导航模式及过期处理",
      "summary": "创建一个固定分享地址，让群二维码或网页目标变化时仍复用原入口。",
      "category": "使用教程",
      "tags": [
        "活码",
        "二维码",
        "群码",
        "链接"
      ],
      "sections": [
        {
          "heading": "先选路由方式，避免把活码误解成自动轮换",
          "paragraphs": [
            "manual只展示当前默认入口；navigation展示全部启用入口供访问者选择。不会按满员或过期自动切换到下一群；到期后提示过期，网页入口的打开按钮隐藏，不会自动顺延。"
          ],
          "items": [
            "默认有效期7天是新入口初始值；短期微信群二维码沿用7天并定期检查，长期网页入口按实际设置，0可作为不预设到期的建议。",
            "每人50活码、每码10入口为上限，小范围试用可降至10和3；调低限额不应描述为自动删除既有数据。",
            "默认状态开启：新码保存时使用此初始状态，正式发布前建议先停用校验目标。",
            "前台提示用于公开二维码页，过期提示用于过期入口；建议写明确的联系或更新动作，不要写“自动加入”。"
          ]
        },
        {
          "heading": "用两个网页入口完整验证固定地址",
          "steps": [
            "建立“教程示例：帮助入口”，类型选网页链接，填写https开头的公开文档地址。",
            "增加第二个网页入口并命名；manual选第一个为默认，保存后复制公开活码地址。",
            "访问公开地址，确认只显示默认入口且打开按钮到达正确网页。",
            "返回管理页切换默认入口，再访问同一公开地址；地址不变，目标改变。",
            "切换navigation保存，公开页应同时列出两个启用入口。",
            "将一个目标设为过期：公开页出现过期提示、该网页目标打开按钮消失；检查另一个目标仍可使用。"
          ]
        },
        {
          "heading": "群二维码与停用验证",
          "items": [
            "群二维码需识别出内容并有当前用户拥有的干净二维码媒体；随意选择普通图片会被拒绝。",
            "网页URL只允许HTTP(S)、必须有host，不能包含账号密码或控制字符。",
            "停用整个活码后公开token查询不返回启用记录；启用码至少要有一个启用入口。",
            "设置默认入口后打开活码公开地址，检查展示的是单个入口还是导航列表；到期提示可使用单独的示例活码检查。"
          ]
        },
        {
          "heading": "管理列表的搜索、停用和删除边界",
          "steps": [
            "管理页读取当前用户活码列表，打开详情编辑自己的码；后台列表用于管理员查看管理情况。",
            "用独立示例码测试停用，回到公开地址验证不可用，再启用恢复；开启状态至少要有启用目标。",
            "删除示例码会将活码及目标标为删除状态；只对确定无需继续复用的示例执行，公开token不能继续当有效入口使用。"
          ]
        },
        {
          "heading": "每项设置怎样填写、影响哪里",
          "settings": [
            {
              "name": "manage_enabled",
              "default": "1",
              "recommended": "开启；维护时临时关闭",
              "reason": "保留用户管理能力，维护时暂停新增修改",
              "frontend_effect": "前台管理按钮及写入接口可用性"
            },
            {
              "name": "max_codes_per_user",
              "default": "50",
              "recommended": "试用10，稳定后50",
              "reason": "先验证管理与更新成本",
              "frontend_effect": "新建活码容量检查"
            },
            {
              "name": "max_targets_per_code",
              "default": "10",
              "recommended": "试用3；需要多入口再用10",
              "reason": "减少访问者选择成本",
              "frontend_effect": "保存目标列表数量上限"
            },
            {
              "name": "default_expiry_days",
              "default": "7",
              "recommended": "微信群先7天；长期网页按实际到期设定",
              "reason": "二维码到期与网页到期不同",
              "frontend_effect": "新目标有效期初始值，不自动切换"
            },
            {
              "name": "default_status",
              "default": "1",
              "recommended": "正式投放前先关闭示例再校验",
              "reason": "避免未检查目标直接公开",
              "frontend_effect": "新码初始启用状态"
            },
            {
              "name": "workbench_title",
              "default": "'智能活码工作台'",
              "recommended": "图库写“图片中心”；活码写“智能活码工作台”",
              "reason": "名称直接说明用途",
              "frontend_effect": "对应前台管理页主标题"
            },
            {
              "name": "workbench_subtitle",
              "default": "'固定入口，随时更新二维码或网页目标'",
              "recommended": "填写一条具体用途",
              "reason": "说明能力与主标题互补",
              "frontend_effect": "对应前台管理页副标题"
            },
            {
              "name": "public_tip",
              "default": "'微信内长按识别二维码，或使用另一台设备扫码加入'",
              "recommended": "写微信长按或另一设备扫码的具体动作",
              "reason": "用户知道怎样进入群",
              "frontend_effect": "公开二维码页提示"
            },
            {
              "name": "expired_tip",
              "default": "'此入口可能已过期，请联系发布者更新。'",
              "recommended": "写联系发布者更新及备用方法",
              "reason": "让过期后仍有下一步",
              "frontend_effect": "到期目标警告；网页打开按钮隐藏"
            }
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=aigeo_livecode-getting-started",
      "images": [
        {
          "file": "livecode.jpg",
          "section": 0,
          "caption": "活码规则：额度、有效期与默认状态",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "2dcf14060f47fd724a97e887c7701e61beba4825e9164b68e80bd534497df6b4",
      "coverage_statistics": {
        "xml_modules": 3,
        "frontend_pages": 2,
        "setting_fields": 9,
        "fields_with_specific_recommendation": 9
      }
    },
    {
      "id": "aigeo-getting-started",
      "plugin_id": "aigeo",
      "title": "收录引擎：生成文件与前台SEO输出逐项检查",
      "summary": "收录引擎：生成文件与前台SEO输出逐项检查",
      "category": "使用教程",
      "tags": [
        "设置详解",
        "前后台对应"
      ],
      "sections": [
        {
          "heading": "llms.txt与Sitemap",
          "paragraphs": [],
          "steps": [
            "保存生成配置后访问站点根目录llms.txt/sitemap.xml，检查真实响应和网址。",
            "Sitemap查看计划任务状态；手动生成成功不证明定时刷新已在运行。",
            "用一篇公开示例帖核对存在；排除测试fid后再生成核对该帖消失，然后恢复配置。"
          ],
          "settings": [
            {
              "name": "站点标题/摘要",
              "default": "站点名/SEO描述",
              "recommended": "写清站点业务和内容来源",
              "reason": "AI爬虫第一眼识别定位",
              "frontend_effect": "llms.txt标题与摘要"
            },
            {
              "name": "核心链接",
              "default": "",
              "recommended": "名称|URL|备注，每行一条",
              "reason": "保留公开主要入口，不放AdminCP/私密页",
              "frontend_effect": "llms.txt核心链接"
            },
            {
              "name": "可选链接",
              "default": "热门帖/最新文章",
              "recommended": "保留有代表性的公开内容",
              "reason": "上下文不足时可忽略",
              "frontend_effect": "llms.txt可选部分"
            },
            {
              "name": "生成内容",
              "default": "读取现值",
              "recommended": "面向综合站选全部生成",
              "reason": "写首页、公开版块、帖子和文章，计划任务沿用",
              "frontend_effect": "sitemap链接"
            },
            {
              "name": "链接数量上限",
              "default": "读取现值",
              "recommended": "小站按实际量，大站50000",
              "reason": "单文件上限建议50000",
              "frontend_effect": "sitemap规模"
            },
            {
              "name": "排除版块",
              "default": "",
              "recommended": "私密或不需索引的fid英文逗号分隔",
              "reason": "明确从生成范围排除",
              "frontend_effect": "对应版块帖子不出现在文件"
            }
          ]
        },
        {
          "heading": "Robots、Schema与社交分享",
          "paragraphs": [],
          "steps": [
            "访问真实公开帖子，查看页面源码的JSON-LD与OG；后台保存提示不能证明标签有效。",
            "检查图片URL可匿名访问，不用后台权限素材地址。",
            "查访问日志判断爬虫是否到达；插件不能承诺搜索引擎已收录或AI一定引用。"
          ],
          "settings": [
            {
              "name": "robots内容",
              "default": "",
              "recommended": "明确允许公开页，排除管理/登录等无需索引路径",
              "reason": "robots是抓取约定，不是权限隔离",
              "frontend_effect": "robots.txt；保存补Sitemap声明"
            },
            {
              "name": "Schema站点类型",
              "default": "现值",
              "recommended": "选符合业务类型",
              "reason": "不要为了收录填不符合内容的类型",
              "frontend_effect": "首页JSON-LD"
            },
            {
              "name": "首页/帖子/文章模板",
              "default": "默认预填",
              "recommended": "先沿用默认，仅有明确需求修改",
              "reason": "帖子支持tid/subject/author/dateline/views/message，文章支持aid/title/author/dateline/catname",
              "frontend_effect": "前台页面源码结构化数据"
            },
            {
              "name": "OG启用",
              "default": "现值",
              "recommended": "需要分享预览开启",
              "reason": "只是输出标签，不保证所有平台立即刷新缓存",
              "frontend_effect": "帖子/文章og:title/type/image"
            },
            {
              "name": "默认分享图片",
              "default": "",
              "recommended": "公开可访问1200×630品牌图",
              "reason": "页面无特定图片时回退",
              "frontend_effect": "分享卡片缩略图"
            }
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=aigeo-getting-started",
      "images": [
        {
          "file": "engine.jpg",
          "section": 0,
          "caption": "llms.txt：填写站点标题、摘要与内容说明",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "760a368b8856f20b33c03dbc2dde2a19510d120d0b90fe3ba437201d31fae0b5"
    },
    {
      "id": "aigeo_prompt-getting-started",
      "plugin_id": "aigeo_prompt",
      "title": "提示词平台：案例、模板变量及模型带入",
      "summary": "管理提示词分类、模板和平台链接，让用户填写变量后复制或到模型广场测试。",
      "category": "使用教程",
      "tags": [
        "提示词",
        "模板",
        "变量",
        "平台"
      ],
      "sections": [
        {
          "heading": "案例、模板和平台跳转不是同一功能",
          "paragraphs": [
            "案例是直接复用的提示词；模板通过变量填写生成具体提示词。平台管理URL模板中的{prompt}用于跳转带入内容，不代表本站已经请求该平台模型。"
          ],
          "items": [
            "允许用户创建默认1：希望只展示官方精选内容时建议关闭；开放前应有内容治理安排。",
            "每页12：建议保留，兼顾卡片浏览与加载。",
            "二级分类格式为key=名称|一级组；key保持稳定，避免修改后旧提示词分类不匹配。",
            "站点标题、副标题、底部文字直接影响前台首页，不改变模型输出；官方发布者名称影响内置提示词署名。",
            "关联模型广场默认1：部署了模型广场才开启并验证目标链接；没部署时建议关闭，避免用户进入不存在入口。",
            "编辑标题/描述：标题写用途，描述写输入前提；排序数值越大越靠前，用10、20留出插入空间。",
            "模板变量填写JSON数组/对象应先按现有模板形状复制，变量名须与提示词占位符对应；不要把非法JSON当作已成功定义变量。",
            "注意事项支持JSON或文本：说明不适用场景、需要人工核验的结果，而不是泛泛免责声明。",
            "平台标识英文且保存后不可改；名称显示在选择区；URL模板使用{prompt}占位符，先用短测试文本验证编码后跳转。"
          ]
        },
        {
          "heading": "从编辑到前台使用的验证步骤",
          "steps": [
            "选一条测试模板，记录原内容，改标题、描述和一个变量；保存后回读确认。",
            "前台搜索新标题，打开详情，填变量并查看生成文本，占位符应被替换。",
            "复制到模型广场，核对输入框内容；只验证带入，不将打开页面称为模型执行成功。",
            "选外部平台测试短文本，检查URL参数、目标平台页面和提示词是否保留。",
            "禁用测试条目，匿名前台列表/详情不应继续按启用内容展示；恢复原状态。"
          ]
        },
        {
          "heading": "用户创建、后台分类与平台管理",
          "steps": [
            "前台create要求登录；关闭允许用户创建后普通用户被拒绝，管理员仍可创建。先用演示账号验证权限差异。",
            "前台首页按分类与关键词查找；后台列表管理启用/禁用、编辑、排序；启用后前台detail才可按有效内容打开。",
            "平台管理新增英文key、名称和带{prompt}的HTTP目标模板，保持key稳定；禁用平台后重新打开前台详情检查平台选择区。",
            "前端入口与意见反馈页提供访问入口，不是新的提示词配置页。"
          ]
        },
        {
          "heading": "每项设置怎样填写、影响哪里",
          "settings": [
            {
              "name": "allow_user_create",
              "default": "1",
              "recommended": "精选官方内容站关闭，社区创作站开启",
              "reason": "控制来源和治理成本",
              "frontend_effect": "普通登录用户create权限；管理员例外"
            },
            {
              "name": "per_page",
              "default": "12",
              "recommended": "12",
              "reason": "保持首页卡片密度",
              "frontend_effect": "首页分页列表条数"
            },
            {
              "name": "categories",
              "default": "image_gen=图片生成|image\nimage_edit=图片编辑|image\nstyle_transfer=风格迁移|image\ncharacter=角色设计|image\nscene=场景风景|image\nlogo=Logo设计|image\nui_design=UI设计|image\ntext_effect=文字特效|image\nphoto_enhance=照片增强|image\nimage_other=其它|image\nwriting=文案写作|text\ncoding=编程开发|text\nanalysis=分析研究|text\ntranslation=翻译|text\ntext_other=其它|text",
              "recommended": "保留稳定key，只按业务调整显示名",
              "reason": "避免旧提示词分类孤立",
              "frontend_effect": "分类导航与编辑下拉选项"
            },
            {
              "name": "site_title",
              "default": "提示词广场",
              "recommended": "提示词广场",
              "reason": "明确复用内容用途",
              "frontend_effect": "前台标题"
            },
            {
              "name": "site_subtitle",
              "default": "复制提示词后可直接在亮剑AI模型广场中查看效果，也可跳转到其他 AI 平台",
              "recommended": "写复制、变量填空、模型带入的实际步骤",
              "reason": "避免误以为打开即执行模型",
              "frontend_effect": "首页副标题"
            },
            {
              "name": "footer_text",
              "default": "亮剑AI提示词平台 · 结构化提示词复用平台",
              "recommended": "品牌加功能说明",
              "reason": "给用户识别产品",
              "frontend_effect": "前台页脚"
            },
            {
              "name": "official_publisher_name",
              "default": "亮剑AI官方",
              "recommended": "亮剑AI官方或实际维护团队",
              "reason": "说明内置内容来源",
              "frontend_effect": "官方提示词署名"
            },
            {
              "name": "enable_model_bridge",
              "default": "1",
              "recommended": "模型广场安装启用后开，否则关",
              "reason": "避免无效目标链接",
              "frontend_effect": "详情关联模型入口；同时检查插件文件与available"
            }
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=aigeo_prompt-getting-started",
      "images": [
        {
          "file": "prompt.jpg",
          "section": 0,
          "caption": "提示词管理：分类、状态和编辑入口",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "b5ae5c6dd69df4c8a627bbeeba118b54a612369f6cfb5cb52d6098bef77b0df6",
      "coverage_statistics": {
        "xml_modules": 5,
        "frontend_pages": 3,
        "setting_fields": 8,
        "fields_with_specific_recommendation": 8
      }
    },
    {
      "id": "aigeo_accounts-getting-started",
      "plugin_id": "aigeo_accounts",
      "title": "配置账号池：导入、权重、每日限额与使用记录",
      "summary": "建立自动发帖和回帖共用的账号池，解释每个选择对实际作者的影响。",
      "category": "使用教程",
      "tags": [
        "aigeo_accounts",
        "设置详解",
        "前后台对应"
      ],
      "sections": [
        {
          "heading": "四个栏目各解决什么问题",
          "items": [
            "账号列表：按启用/停用状态及 UID、用户名、备注搜索，修改权重、限额和备注，批量启用、停用、移出。",
            "添加账号：已有 UID 导入、按用户组导入、批量创建真实网站用户。",
            "测试身份：将专用普通用户与自动运营账号分开。",
            "使用记录：核对账号被哪一种自动任务分配以及日期、使用次数。"
          ]
        },
        {
          "heading": "推荐先导入已有普通账号",
          "steps": [
            "在添加账号中选择“导入已有账号”，填入一个已存在的普通用户 UID；多账号可用逗号、空格或换行分隔。备注填“教程示例：测试版块运营”。",
            "导入后在账号列表搜索该 UID，确认用户名与网站用户一致。首次建议仅一个账号，避免把无法登录、被冻结或身份不合适的账号混入。",
            "按用户组导入默认最多 500 个，允许 1～5000；先改为 5，确认用户组确实是准备运营的群体再增加。",
            "只有需要创建真实网站用户时才用批量创建：默认前缀 AI用户、数量 5，允许 1～100；建议首次 1。用户组 0 使用网站默认新用户组；密码留空由程序生成，成功后及时保存本批次密码。"
          ]
        },
        {
          "heading": "权重、限额和状态怎样影响前台",
          "items": [
            "权重默认 1，范围 1～100。候选池内分配是加权随机，权重 1 与 3 在其他条件相同情况下理论概率约 25% 与 75%，不是轮流、不是保证固定次数。首次都填 1，便于观察。",
            "每日限额默认 0 表示不限。建议首次填 2；达到限额后本账号从当天候选池移除。限额统计账号分配使用，不等于成功发布帖子数；生成失败也可能已记录分配。",
            "只有启用、允许自动使用、非测试专用且对应用户有效/未冻结的账号进入池。停用不会删除网站用户；移出账号池也不等于删除网站用户。",
            "保存本页配置无需勾选，会保存本页全部行；启用/停用/移出则只作用于勾选行。",
            "自动发帖/回帖的账号来源必须选账号池才会使用这些权重和限额；没有可选池账号时会回退手动 UID，所以手动 UID 也应填写真实普通账号，不能把池限额视为整个系统的停机开关。"
          ]
        },
        {
          "heading": "操作检查与排错",
          "steps": [
            "记录账号原状态、权重、限额；仅在测试版块执行一条自动任务。",
            "前台打开生成帖子，核对作者用户名与账号池 UID；后台使用记录核对场景 autopost 或 autoreply。",
            "停用唯一池账号后检查自动任务手动 UID 回退，测试结束恢复原配置。",
            "列表看不到账号先清除状态/关键词筛选；无法选到账号依次检查测试专用标记、冻结状态、每日限额、任务账号来源。"
          ]
        }
      ],
      "screenshot_page": "马甲管理 → 马甲管理",
      "screenshot_focus": "添加账号：导入已有账号与账号列表配置",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=aigeo_accounts-getting-started",
      "images": [
        {
          "file": "accounts.jpg",
          "section": 0,
          "caption": "账号列表：权重、限额与专用测试身份",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "2d6a4ef94800c11af2629d0e88b0b800180952e807b85f680437f255eeabd0e7"
    },
    {
      "id": "aigeo_autopost-getting-started",
      "plugin_id": "aigeo_autopost",
      "title": "自动发帖：每个任务设置与前台结果对应",
      "summary": "从组件安装到实例配置、调度、入队和前台内容逐步检查结果。",
      "category": "使用教程",
      "tags": [
        "aigeo_autopost",
        "设置详解",
        "前后台对应"
      ],
      "sections": [
        {
          "heading": "在哪里配置与查看",
          "paragraphs": [
            "插件内容管理页的“任务设置”进入模型广场任务系统，修改对应任务实例；生成结果在本插件内容列表，队列状态和错误在模型广场任务中心/执行日志。本插件没有独立聊天前台，最终前台是 Discuz 主题与回帖。"
          ]
        },
        {
          "heading": "逐项填写建议",
          "items": [
            "启用任务默认关闭：插件已安装/已启用只是组件可用，不等于任务实例启用，更不等于调度器已运行。首次先保持任务关闭填写配置，再在测试环境开启一个实例。",
            "版块默认空＝全部普通版块，每次随机选一个。首次必须明确选测试版块，不要留空；它直接决定前台内容落在哪个版块。",
            "模型默认空会尝试使用模型广场默认文本模型。建议首次明确选择已测通文本模型，便于从执行日志追踪模型调用与费用。",
            "账号来源默认手动 UID，UID 默认 1、备用名 admin。建议换成真实普通测试账号 UID；多 UID 随机选取、用户名自动查询。备用名只在无法查到用户名时使用，不会创建账号。",
            "账号池模式读取启用账号的权重和日限额，池不可用回退手动 UID。建议先手动单 UID 完成一条，再切换池。",
            "入队间隔默认 30 分钟，0 表示每次心跳尝试入队；首次保持 30，不用 0，避免高频入队。",
            "每次数量默认 1，生产者实际限制每轮 1～10；首次用 1，便于一条一条核对。",
            "每日限额默认 20，0 不限。首次建议 2。按任务实例统计自然日已生成内容和待处理任务；不是模型 token 限额，也不是每用户限额。",
            "保存原始响应默认关闭：正常运行保持关闭，解析问题排错时短时开启，避免把帖子正文或模型原文长期存入日志。",
            "主题池每行一个，创建任务时随机选择；建议首轮只填“教程测试：社区新手如何找到商品和同城服务”，便于识别测试内容。不是固定文章正文。",
            "发布后自动分析默认开启：成功写入主题后继续产生帖子 AI 分析任务；首轮只验发帖可关闭，避免额外模型调用，确认后再开启需要的分析功能。"
          ]
        },
        {
          "heading": "推荐的首轮配置与完整流程",
          "steps": [
            "创建一个测试版块和普通测试账号，回帖另建一条测试主题；记录实例原值。",
            "使用上面的低量配置：每次数量 1、每日限额 2、间隔 30、固定测试 UID/模型/版块。保存后重新进入实例核对值。",
            "确认模型广场调度和 HTTP 触发已正确配置，再仅启用该实例；手动触发一次适用的入队/执行流程，避免先开长期自动运行。",
            "任务中心看入队数，执行日志看模型响应和成功/失败；成功后本插件内容列表应新增记录。",
            "点击内容链接到前台，发帖核对标题、正文、作者、版块；回帖核对 PID 对应内容确实在目标 TID 内。",
            "结束测试关闭本次实例或恢复原值；仅保留标记清楚的示例内容，不保持额外自动调度。"
          ]
        },
        {
          "heading": "没有生成内容时按顺序排查",
          "items": [
            "没有入队：检查组件注册、插件启用、任务实例启用、心跳/调度、入队间隔和每日限额。",
            "有队列但未执行：检查队列处理器、定时调度及模型广场运行状态。",
            "执行失败：打开对应日志，核对模型可用性、正文解析字段、版块/用户是否有效；不是靠重复点启用解决。",
            "回帖无候选：检查主题关闭/隐藏、创建时间、指定 TID、当前实例同主题冷却。",
            "生成了但前台看不到：核对内容管理状态是正常还是隐藏/审核/回收站；打开精确 TID/PID 而不是只看首页。"
          ]
        }
      ],
      "screenshot_page": "自动发帖 → 内容管理",
      "screenshot_focus": "内容管理及“任务设置”入口；另拍模型广场任务中心对应配置弹窗",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=aigeo_autopost-getting-started",
      "content_hash": "ad9fc9e57f7e923f8ae3af6cd615ea923ff012fa85a0a5da78ff4e206a6f1bf5",
      "images": [
        {
          "file": "autopost.jpg",
          "section": 0,
          "caption": "自动发帖内容管理与任务设置入口"
        }
      ]
    },
    {
      "id": "aigeo_autoreply-getting-started",
      "plugin_id": "aigeo_autoreply",
      "title": "自动回帖：每个任务设置与前台结果对应",
      "summary": "从组件安装到实例配置、调度、入队和前台内容逐步检查结果。",
      "category": "使用教程",
      "tags": [
        "aigeo_autoreply",
        "设置详解",
        "前后台对应"
      ],
      "sections": [
        {
          "heading": "在哪里配置与查看",
          "paragraphs": [
            "插件内容管理页的“任务设置”进入模型广场任务系统，修改对应任务实例；生成结果在本插件内容列表，队列状态和错误在模型广场任务中心/执行日志。本插件没有独立聊天前台，最终前台是 Discuz 主题与回帖。"
          ]
        },
        {
          "heading": "逐项填写建议",
          "items": [
            "启用任务默认关闭：插件已安装/已启用只是组件可用，不等于任务实例启用，更不等于调度器已运行。首次先保持任务关闭填写配置，再在测试环境开启一个实例。",
            "版块默认空＝全部普通版块，每次随机选一个。首次必须明确选测试版块，不要留空；它直接决定前台内容落在哪个版块。",
            "模型默认空会尝试使用模型广场默认文本模型。建议首次明确选择已测通文本模型，便于从执行日志追踪模型调用与费用。",
            "账号来源默认手动 UID，UID 默认 1、备用名 admin。建议换成真实普通测试账号 UID；多 UID 随机选取、用户名自动查询。备用名只在无法查到用户名时使用，不会创建账号。",
            "账号池模式读取启用账号的权重和日限额，池不可用回退手动 UID。建议先手动单 UID 完成一条，再切换池。",
            "入队间隔默认 30 分钟，0 表示每次心跳尝试入队；首次保持 30，不用 0，避免高频入队。",
            "每次数量默认 1，生产者实际限制每轮 1～10；首次用 1，便于一条一条核对。",
            "每日限额默认 50，0 不限。首次建议 2。按任务实例统计自然日已生成内容和待处理任务；不是模型 token 限额，也不是每用户限额。",
            "保存原始响应默认关闭：正常运行保持关闭，解析问题排错时短时开启，避免把帖子正文或模型原文长期存入日志。",
            "回帖目标默认“版块内最近主题”，适合日常社区；首次改“指定主题 TID”并填写自己创建的测试帖。多个 TID 用逗号/空格/换行分隔，仅指定模式使用。",
            "最近主题天数默认 30；仅最近模式有效，按主题创建时间筛选，已关闭/隐藏主题不作为正常候选。首次用 7 并确认测试主题位于范围内。",
            "同主题间隔默认 24 小时，0 不限制；同一个任务实例在间隔内不会重复回复同一主题，其他实例不共享这一限制。保持 24 可以减少重复刷帖。",
            "回帖参考方向每行一个，默认实用补充/问题/建议；建议写“结合原帖已有信息补充一个可操作步骤，不重复原帖”。它是角度提示，生成仍主要依据原帖。"
          ]
        },
        {
          "heading": "推荐的首轮配置与完整流程",
          "steps": [
            "创建一个测试版块和普通测试账号，回帖另建一条测试主题；记录实例原值。",
            "使用上面的低量配置：每次数量 1、每日限额 2、间隔 30、固定测试 UID/模型/版块。保存后重新进入实例核对值。",
            "确认模型广场调度和 HTTP 触发已正确配置，再仅启用该实例；手动触发一次适用的入队/执行流程，避免先开长期自动运行。",
            "任务中心看入队数，执行日志看模型响应和成功/失败；成功后本插件内容列表应新增记录。",
            "点击内容链接到前台，发帖核对标题、正文、作者、版块；回帖核对 PID 对应内容确实在目标 TID 内。",
            "结束测试关闭本次实例或恢复原值；仅保留标记清楚的示例内容，不保持额外自动调度。"
          ]
        },
        {
          "heading": "没有生成内容时按顺序排查",
          "items": [
            "没有入队：检查组件注册、插件启用、任务实例启用、心跳/调度、入队间隔和每日限额。",
            "有队列但未执行：检查队列处理器、定时调度及模型广场运行状态。",
            "执行失败：打开对应日志，核对模型可用性、正文解析字段、版块/用户是否有效；不是靠重复点启用解决。",
            "回帖无候选：检查主题关闭/隐藏、创建时间、指定 TID、当前实例同主题冷却。",
            "生成了但前台看不到：核对内容管理状态是正常还是隐藏/审核/回收站；打开精确 TID/PID 而不是只看首页。"
          ]
        }
      ],
      "screenshot_page": "自动回贴 → 内容管理",
      "screenshot_focus": "内容管理及“任务设置”入口；另拍模型广场任务中心对应配置弹窗",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=aigeo_autoreply-getting-started",
      "content_hash": "1cb1a4c223b01c0d5252710a1638f7b377f1648d72e4349b64f9f17bc64488ae",
      "images": [
        {
          "file": "autoreply.jpg",
          "section": 0,
          "caption": "自动回贴内容管理与任务设置入口"
        }
      ]
    },
    {
      "id": "aigeo_moderation-getting-started",
      "plugin_id": "aigeo_moderation",
      "title": "帖子审核：扫描范围、阈值与自动隐藏的准确规则",
      "summary": "先仅记录和人工复核，再考虑自动隐藏，解释判断分支而非笼统写“超过阈值”。",
      "category": "使用教程",
      "tags": [
        "aigeo_moderation",
        "设置详解",
        "前后台对应"
      ],
      "sections": [
        {
          "heading": "页面分工与前台影响",
          "items": [
            "审核概览 admin 查看模型/调度/任务状态、审核结果与风险分类；设置 admin_setting 保存扫描参数；日志 admin_log 排查调用及执行。",
            "没有独立用户聊天前台；实际影响论坛帖子可见性。隐藏首帖还会将对应主题置为审核/隐藏状态，隐藏回复只影响该回复。"
          ]
        },
        {
          "heading": "概览与日志的定位方法",
          "steps": [
            "概览关键词支持帖子标题、作者、PID/TID；首次使用具体PID定位同一条回复，避免只凭相似标题。",
            "执行日志关键词支持帖子标题、PID、任务ID及错误信息；记录任务ID后跨页面核对结果与错误。",
            "建议 hide 不等于已处理：同时查看处理状态，最后打开论坛前台直接链接确认。"
          ]
        },
        {
          "heading": "设置项默认值及建议",
          "items": [
            "启用扫描默认 0。首次保持关闭完成配置，先在测试版块启用；模型默认空，选已测通的文字理解模型。",
            "扫描版块默认空，明确填测试版块以限定范围；近期范围 recent_days 默认 30，范围 0～3650；首次填 7 缩小历史扫描量，0 是不限制近期时间的选项。",
            "复扫间隔 rescan_days 默认 30，范围 1～3650；建议保持 30，避免同一内容反复消耗模型。",
            "每批 batch_size 默认 5，范围 1～50；首轮改 1。扫描上限 scan_limit 默认 50，范围 1～200，保存时至少等于批量；首次 5，减少一次候选扫描规模。",
            "最大正文长度默认 4000，范围 500～20000；建议先 4000。它限制送给模型的正文长度，长文尾部可能不在本次分析范围，不等于帖子前台显示长度被裁剪。",
            "人工复核阈值默认 0.70，自动隐藏阈值默认 0.90，都限定 0～1；自动阈值小于人工阈值时保存会提升到人工阈值。建议保持默认并先人工检查误判。",
            "自动执行默认关闭。开启后只有判断分支建议 hide 才真正隐藏；先观察一批正常及可疑帖子，再决定开启，不以一条样例证明分类稳定。",
            "入队间隔默认 10 分钟，范围 1～1440；首轮保持 10。保存原始响应默认关闭；排错时短期开启，恢复关闭。"
          ]
        },
        {
          "heading": "准确的判断顺序",
          "items": [
            "模型结果 violation 且 score≥自动阈值：建议 hide；只有 auto_action 开启才实际隐藏。",
            "violation 但分数低于自动阈值：建议 review，即使低于人工阈值也会进入复核。",
            "suspected，或 score≥人工复核阈值：建议 review。其他结果：none。分数会被夹在 0～1。",
            "例：violation/0.95 + 自动执行关闭，仅形成隐藏建议，不会隐藏；同结果自动执行开启才隐藏。suspected/0.95 仍是人工复核，不会仅因分数高而自动隐藏。"
          ]
        },
        {
          "heading": "如何检查审核效果",
          "steps": [
            "准备公开正常样例与明确标注的可疑测试帖，先关闭自动执行，单批 1。",
            "检查结果中的类别、分数、建议、处理状态并打开原帖确认仍可见。",
            "仅在单独准备的示例内容上开启自动执行，核对高分 violation 时前台不可正常查看，首帖和回复分别验一次。",
            "日志显示处理失败时核对帖子是否仍存在及模型结果格式；结束后恢复扫描/自动执行原值。"
          ]
        }
      ],
      "screenshot_page": "帖子审核 → 任务设置",
      "screenshot_focus": "运行与范围、调度限制、风险处理三个分组",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=aigeo_moderation-getting-started",
      "images": [
        {
          "file": "moderation.jpg",
          "section": 0,
          "caption": "审核设置：模型、版块与范围",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "12bee47b6b083c11d06d6776ccc2e0a1fa624b69fe1003ec0f7351bd7058e5fb"
    },
    {
      "id": "aigeo_sign-getting-started",
      "plugin_id": "aigeo_sign",
      "title": "签到积分怎样计算：普通日、7/14/30 天和断签",
      "summary": "给出精确公式与可核对数字，并说明积分类型和前台展示。",
      "category": "使用教程",
      "tags": [
        "aigeo_sign",
        "设置详解",
        "前后台对应"
      ],
      "sections": [
        {
          "heading": "逐项设置与推荐",
          "items": [
            "积分类型默认 1，对应 extcredits1。选择网站已启用且准备奖励的积分（1～8），建议与模型广场消费积分一致时再选同一类型，不要仅凭名称猜对应编号。",
            "基础积分默认 5，范围 0～100000。它每天都加，首次保留 5；调整只影响以后成功签到，不会重算历史记录。",
            "普通日递增奖励上限默认 5，范围 0～100000；它不是随机奖励，也不是累计奖励封顶。",
            "7 天奖励默认 5、14 天奖励 10、30 天奖励 20，各范围 0～100000。这些取代该日普通递增奖励，不是叠加全部里程碑。",
            "前台副标题默认“坚持签到，积分天天涨，连续签到还有额外奖励”，120 字符以内；建议写明奖励口径。签到说明最多 500 字符，可填写“每天一次，断签重新从第 1 天计数”。",
            "Logo 可用图库媒体 ID/图片 URL，URL 允许 HTTP(S) 或站内合法路径；建议选图库已公开的品牌图，影响签到页头部而非奖励计算。",
            "跟随模型导航默认关闭；需要统一前台导航时才开启，影响导航展示，不改变签到次数或积分。"
          ]
        },
        {
          "heading": "奖励公式与默认数字",
          "items": [
            "默认第1天 5+0=5，第2天 5+1=6，第6天 5+5=10。",
            "第7天 5+5=10；第14天 5+10=15；第21天 5+5=10；第28天 5+10=15；第30天 5+20=25。",
            "第42天命中14天分支，奖励15；第60天命中30天分支，奖励25。名称叫里程碑，但程序按倍数反复计算，不仅第7/14/30天一次。",
            "同日再次签到返回已有记录，不再次加积分；连续记录按日期而不是按24小时滚动。断签后下一次回到第1天奖励5。"
          ],
          "paragraphs": [
            "连续天数 s：昨天签过则昨天连续天数+1，否则重新为 1。今日奖励＝基础积分 B＋当日奖励 R。R 判断按顺序：s≥30 且能被30整除取30天奖励；否则 s≥14 且能被14整除取14天奖励；否则 s能被7整除取7天奖励；其余取 min(s−1, 普通日递增上限)。"
          ]
        },
        {
          "heading": "前台和后台怎样核对",
          "steps": [
            "普通登录用户打开 plugin.php?id=aigeo_sign%3Acheckin；游客先走登录流程。记下所选积分余额和“今日尚未签到”。",
            "首次点击签到，记录奖励数字、连续天数、累计天数、排名/日历；余额应增加本次奖励。",
            "同日再次操作，奖励记录仍只有一次，余额不再次增加。",
            "后台签到工作台按 UID/日期/渠道查询这条记录：页面签到渠道1，AI对话渠道0。不能把两渠道当成两个独立领取机会。",
            "连续/断签/里程碑测试应使用示例用户和受控日期样例，不修改真实用户历史。"
          ]
        }
      ],
      "screenshot_page": "每日签到 → 签到设置",
      "screenshot_focus": "常用设置与奖励规则；另拍签到工作台结果",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=aigeo_sign-getting-started",
      "images": [
        {
          "file": "sign.jpg",
          "section": 0,
          "caption": "签到设置：积分类型与基础奖励",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "d192f09438943402c379feb6d7a5c84c188600882d1f20d950a75a6706d03a7d"
    },
    {
      "id": "aigeo_tools-getting-started",
      "plugin_id": "aigeo_tools",
      "title": "一键安装中心：未安装、未启用与安装并启用",
      "summary": "安装包文件、数据库安装记录、启用状态是三件事，说明每个操作的作用。",
      "category": "使用教程",
      "tags": [
        "aigeo_tools",
        "设置详解",
        "前后台对应"
      ],
      "sections": [
        {
          "heading": "状态与按钮",
          "items": [
            "未安装但本地有有效插件 XML/文件：可执行安装；本地没有文件不是一键从应用中心下载，按引导获取插件包并上传后再安装。",
            "一键安装只处理需要安装的应用；安装并启用覆盖安装及启用动作；一键启用作用于已安装但未启用；一键关闭停用已启用插件。",
            "单个安装、启用、关闭用于只验证一个组件。第一次建议单插件先做，确认兼容与依赖后再批量操作。",
            "操作报告会列成功/失败，出现“完成但有失败”必须逐插件检查，不把页面成功提示视为全套安装成功。",
            "亮仔工作台内的批量操作另有保护工作台自身的规则；不能把工具原插件的按钮规则和工作台复制版本混为一谈。"
          ]
        },
        {
          "heading": "推荐操作步骤",
          "steps": [
            "先确认站点版本和插件依赖，截图/记录目前安装启用状态。",
            "对一个未安装的插件点安装，查看成功/失败明细；回 Discuz 插件列表确认已产生安装记录和版本。",
            "点启用后打开该插件后台/前台入口；仅安装而未启用可能没有对应导航或服务。",
            "关闭单个插件：前台入口/任务应不再作为启用服务，数据不因关闭而卸载；重新启用验证恢复。",
            "批量操作前核对目标插件范围，关闭自动任务期间也检查已入队任务是否仍有其他执行器，关闭按钮不是清空任务队列。"
          ]
        }
      ],
      "screenshot_page": "一键批量安装 → 插件管理",
      "screenshot_focus": "单插件状态、安装/启用按钮及批量按钮",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=aigeo_tools-getting-started",
      "images": [
        {
          "file": "tools.jpg",
          "section": 0,
          "caption": "批量安装：安装、启用和关闭是不同操作",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "2dfa7ebdf5b88e7657785b4678c06e67e307b88f102cc4123a21d1a2a36bdc17"
    },
    {
      "id": "accounts-test-identity",
      "plugin_id": "aigeo_accounts",
      "title": "用测试身份验证普通用户和游客体验",
      "summary": "从亮仔AI工作台配置专用测试账号；测试身份限时生效，并可返回管理员或进入后台。",
      "category": "使用教程",
      "tags": [
        "aigeo_accounts",
        "设置详解",
        "前后台对应"
      ],
      "sections": [
        {
          "heading": "准备基础插件与设置测试身份",
          "steps": [
            "先安装并启用 aigeo_model 与 ailiangzai_admin；马甲管理会检查这两个基础插件是否可用。",
            "以已完成后台身份验证的管理员进入亮仔AI工作台 → 马甲管理 → 测试身份，启用测试身份切换并保存。",
            "填写普通用户 UID 并配置测试账号。该账号会标记为测试专用并关闭自动使用，避免被自动发帖或回帖选中。",
            "选择普通测试账号检查登录后体验，或选择“游客（未登录）”检查访客入口。"
          ]
        },
        {
          "heading": "切换与结束测试",
          "steps": [
            "从测试身份设置页进入测试身份后，亮仔AI工作台和同站标签页会使用该身份；测试期间只检查需要确认的页面和功能。",
            "测试身份有效期为 10 分钟。结束测试可返回原管理员；选择“进入后台”也会先结束测试身份，再进入亮仔AI工作台。",
            "管理后台仍按站点原有认证规则校验管理员身份；测试身份不会获得管理员权限。"
          ]
        },
        {
          "heading": "检查结果与边界",
          "steps": [
            "普通账号打开受限页面时应显示该账号权限；游客访问需登录页面时应显示登录提示。",
            "结束测试后确认原管理员身份恢复；租约过期、原管理员身份变化或基础插件不可用时，按页面提示重新登录或先修复依赖。"
          ],
          "items": [
            "有效期为 600 秒；同一浏览器配置中的标签页共享身份，不是独立隐身窗口。",
            "只允许普通用户作为账号身份；游客 UID 0 表示未登录。",
            "测试身份只影响前台/工作台用户身份，管理后台仍须正常认证。"
          ]
        }
      ],
      "images": [
        {
          "file": "accounts-admin-20261009.jpg",
          "section": 0,
          "caption": "亮仔AI工作台内的马甲管理页面，含左侧导航与账号池视图。",
          "captured_at": "2026-10-09"
        }
      ],
      "updated_at": "2026-10-09T14:06:31+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=accounts-test-identity",
      "content_hash": "0ac8aeab5b2a1494ed7f948ac920cbbc0e837b10d425767fee8cf576e65c7e25"
    },
    {
      "id": "autopost-content-manage",
      "plugin_id": "aigeo_autopost",
      "title": "自动发帖内容管理：筛选、回收与恢复",
      "summary": "内容状态取自论坛真实帖子，区分回收站和已经不存在。",
      "category": "使用教程",
      "tags": [
        "aigeo_autopost",
        "设置详解",
        "前后台对应"
      ],
      "sections": [
        {
          "heading": "列表与筛选",
          "items": [
            "全部、正常、回收站、隐藏/审核、已不存在反映关联论坛主题和帖子状态，不只是插件自己的状态标签。",
            "按任务实例、版块、关键词等筛选定位生成内容；打开具体内容链接核对前台。",
            "列表提供打开前台和编辑链接。编辑会进入论坛原生编辑页面，修改的是论坛真实标题/正文；再次打开列表会读取真实帖子状态和标题，不是修改一份插件副本。"
          ]
        },
        {
          "heading": "回收和恢复流程",
          "steps": [
            "首次只选一条单独准备的示例内容，记录 TID/PID、标题和当前前台可见性。",
            "执行回收后在回收站筛选核对记录，前台直接链接不再正常显示。",
            "在回收站选择同条记录恢复，再回正常列表核对前台内容。",
            "已经从论坛物理删除的内容显示“已不存在”，不能将插件列表记录当成正文备份恢复。"
          ]
        },
        {
          "heading": "操作影响",
          "paragraphs": [
            "发帖回收作用于主题；回帖回收作用于回复帖子，避免把回帖记录误当整个主题操作。回收后可以恢复内容。"
          ]
        }
      ],
      "images": [
        {
          "file": "autopost.jpg",
          "section": 0,
          "caption": "同插件页面入口示例；本篇具体设置和检查项见下文"
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=autopost-content-manage",
      "content_hash": "bf776f25fd69cd4f592d43e7a1c618ca6246196c865d756e2ac67a50ce1ae03c"
    },
    {
      "id": "autoreply-content-manage",
      "plugin_id": "aigeo_autoreply",
      "title": "自动回帖内容管理：筛选、回收与恢复",
      "summary": "内容状态取自论坛真实帖子，区分回收站和已经不存在。",
      "category": "使用教程",
      "tags": [
        "aigeo_autoreply",
        "设置详解",
        "前后台对应"
      ],
      "sections": [
        {
          "heading": "列表与筛选",
          "items": [
            "全部、正常、回收站、隐藏/审核、已不存在反映关联论坛主题和帖子状态，不只是插件自己的状态标签。",
            "按任务实例、版块、关键词等筛选定位生成内容；打开具体内容链接核对前台。",
            "列表提供打开前台和编辑链接。编辑会进入论坛原生编辑页面，修改的是论坛真实标题/正文；再次打开列表会读取真实帖子状态和标题，不是修改一份插件副本。"
          ]
        },
        {
          "heading": "回收和恢复流程",
          "steps": [
            "首次只选一条单独准备的示例内容，记录 TID/PID、标题和当前前台可见性。",
            "执行回收后在回收站筛选核对记录，前台直接链接不再正常显示。",
            "在回收站选择同条记录恢复，再回正常列表核对前台内容。",
            "已经从论坛物理删除的内容显示“已不存在”，不能将插件列表记录当成正文备份恢复。"
          ]
        },
        {
          "heading": "操作影响",
          "paragraphs": [
            "发帖回收作用于主题；回帖回收作用于回复帖子，避免把回帖记录误当整个主题操作。回收后可以恢复内容。"
          ]
        }
      ],
      "images": [
        {
          "file": "autoreply.jpg",
          "section": 0,
          "caption": "同插件页面入口示例；本篇具体设置和检查项见下文"
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=autoreply-content-manage",
      "content_hash": "4f477579a22198d0dbf1964f3fd38baf44789effce1de966c00d748f948efbd9"
    },
    {
      "id": "sign-admin-reports",
      "plugin_id": "aigeo_sign",
      "title": "签到工作台：月度指标、明细、用户与渠道排查",
      "summary": "用精确 UID 和日期追踪一笔积分，区分月度汇总与个人连续记录。",
      "category": "使用教程",
      "tags": [
        "aigeo_sign",
        "设置详解",
        "前后台对应"
      ],
      "sections": [
        {
          "heading": "查看顺序",
          "steps": [
            "概览选择月度指标月份，观察本月签到/奖励汇总；切月并不会改变用户签到历史。",
            "记录页填开始/结束日期和 UID，用户名支持模糊搜索，UID精确匹配；首次使用单UID能避免同名误判。",
            "渠道选择页面签到或AI对话，追查入口来源；“全部”用于核对同一天是否只有一条奖励记录。",
            "用户页查看累计天数、当前/最长连续天数和累计奖励，结合日志核对；累计奖励是签到插件记录，不一定等于当前钱包余额（可能已消费或有其他增减）。"
          ]
        },
        {
          "heading": "常见疑问",
          "items": [
            "AI签到没反应：先核对签到插件启用、技能注册/可调用、用户登录；再查是否已从网页签到。",
            "积分类型改了后钱包不同：旧日志仍是历史金额，新奖励进入新选择的积分，不会自动转账。",
            "前台排序与“当前连续”不是同一指标，按具体榜单标题看，不把累计天数当连续天数。"
          ]
        }
      ],
      "images": [
        {
          "file": "sign.jpg",
          "section": 0,
          "caption": "同插件页面入口示例；本篇具体设置和检查项见下文",
          "captured_at": "2026-10-06"
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=sign-admin-reports",
      "content_hash": "9e53ea01e9d55ee1738ab1ff65091d0d95410a9f82423859fcc33dbfe9f845dc"
    },
    {
      "id": "tools-config-and-menu",
      "plugin_id": "aigeo_tools",
      "title": "配置中心与菜单管理：作用范围、密钥保留及导航排序",
      "summary": "保留原工具插件菜单管理，讲清与亮仔工作台菜单的不同作用范围。",
      "category": "使用教程",
      "tags": [
        "aigeo_tools",
        "设置详解",
        "前后台对应"
      ],
      "sections": [
        {
          "heading": "配置中心怎样用",
          "steps": [
            "左侧选择插件命名空间；右侧搜索设置名称、说明或key，只修改当前插件的设置。",
            "按业务插件教程填写；普通项是当前值，敏感项只显示已配置/尚未配置，不回显密钥。",
            "密钥输入留空一般用于保留原值；确需删除时勾选清除Token/密钥，不能把空白框误认为未配置。保存后重新查看状态并在目标插件执行一次读取/调用检查。",
            "配置中心只显示声明统一配置的插件；没有出现在这里不代表插件没有设置，可能在自己的常用设置页或 common_setting 中管理。"
          ]
        },
        {
          "heading": "菜单管理分区与填写建议",
          "items": [
            "个人收藏：选择具体后台功能模块，填写自定义标题和排序；适合收藏常用模型、客服、知识管理入口。",
            "X5经典侧边栏：勾选插件入口、自定义标签与排序；名称建议短而清楚，例如“知识库”，但不用将所有插件改成同样字数。",
            "X5新平台区域：独立选择/标签/顺序，不自动等同经典侧边栏。",
            "未启用插件相关行禁用；不支持X5菜单API的核心会隐藏经典/新平台区，个人收藏仍可管理。",
            "这些设置影响Discuz后台导航，不是亮仔工作台一级菜单别名配置；工作台菜单在工作台自己的菜单管理中改。"
          ]
        },
        {
          "heading": "操作后检查",
          "steps": [
            "记录某个模块原标题/顺序，只改一个收藏标题为“教程测试：模型”，保存后刷新对应后台菜单查看。",
            "改一个X5菜单标签并确认仅目标导航区域变化；X3.4/X3.5确认不出现不能工作的X5区域。",
            "恢复原标题与顺序；密钥测试只验证保留状态，不要分享密钥。"
          ]
        },
        {
          "heading": "AI 工作区登录注册设置在哪里",
          "paragraphs": [
            "AI 工作区的登录、注册和找回页面由模型广场统一管理。需要调整工作区账号方式或页面文案时，进入模型广场的“登录注册”设置；Discuz 全站登录和注册规则仍由站点自身控制。",
            "一键安装中心继续负责插件安装启停，菜单管理继续负责 Discuz 后台导航；这两项与工作区账号页面设置分开。"
          ]
        }
      ],
      "images": [
        {
          "file": "tools.jpg",
          "section": 0,
          "caption": "同插件页面入口示例；本篇具体设置和检查项见下文",
          "captured_at": "2026-10-06"
        }
      ],
      "updated_at": "2026-10-16T11:42:21+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=tools-config-and-menu",
      "content_hash": "c0d532a47a9e8465de0a816187a3986402f8fa70090e6911c78d4a79eb54e180"
    },
    {
      "id": "model-management-fields",
      "plugin_id": "aigeo_model",
      "title": "模型管理：新增/编辑模型的全部字段",
      "summary": "按模型状态、服务商或关键词查找配置；用服务商预设补齐连接参数，并核对异步保存结果。",
      "category": "使用教程",
      "tags": [
        "模型广场",
        "前后台对应",
        "操作详解"
      ],
      "sections": [
        {
          "heading": "列表的作用",
          "items": [
            "模型列表工具栏提供状态统计筛选、服务商下拉框，以及按名称、服务商或模型 ID 搜索；统计卡已并入筛选按钮，调用日志入口位于页面标题右侧。",
            "添加或编辑时，先选择服务商和模型预设；预设会自动填写 API 地址、模型 ID 和输入/输出能力。新增模型再填写服务商 API Key；编辑时 API Key 留空会保留原值。",
            "模型配置保存采用异步提交，成功或失败通过 console.js 统一提示，页面留在当前列表上下文。测试连接会发起真实连接请求；出现等待或提示异常时先检查当前结果，再决定是否重试。",
            "“设为默认文本”作用于文本；图片模型不靠这个按钮变成文字聊天模型。"
          ]
        },
        {
          "heading": "每个字段怎么填",
          "items": [
            "模型标识 source_id：1～64位英文/数字/下划线/短横线，创建后不可改。建议写 provider_chat 或 provider_image，便于任务与日志稳定引用。不是服务商model名字。",
            "显示名称 source_name：必须填，建议“服务商·文本”；模型 model_id：填写服务商实际接受的model参数；展示名称 model_name：前台显示用，建议写用户能理解的型号和用途。三者不要混用。",
            "适配器：选择与服务商协议匹配的现有类型。OpenAI兼容协议使用对应通用适配器，专用协议选专用；只改API URL不能让不兼容协议自动变兼容。",
            "API地址：必须HTTP(S)，推荐服务商文档给出的HTTPS基地址，注意适配器是否自动补接口路径。首次不要填完整路径再重复拼/chat/completions。",
            "API Key：新增填站点自有密钥；编辑留空保留现有Key。不要在截图回显/记录密钥。SSL兼容模式关闭验证时填写新自定义Key要求额外确认；建议启用证书验证后配置。",
            "启用状态新增默认1：只有准备提供调用时开启；暂不稳定的模型先停用。优先级默认999，数字越小降级越优先，建议常用稳定模型100、备用200，用顺序表达期望，不以名称排序猜优先。",
            "每次消耗积分默认0＝使用全局默认，不是免费；固定/用量计费详见计费教程。",
            "模型类型默认文本：文字模型供对话；图片类型向技能提供image能力。当前多模态图片输入暂未接入，图片生成能力不等于支持上传图片提问。",
            "用于生成头像默认关闭：图片模型开启后头像技能优先选它；无指定时回退到第一个启用图片模型。只给真正支持图片的模型开启，避免把文本接口当绘图接口。",
            "图片尺寸默认空由适配器决定；填写如1024x1024，格式是2～5位数字x2～5位数字，还须服务商支持。首次用官方支持尺寸，不要仅凭格式通过就认为接口接受。",
            "图片下载域名白名单每行一个域名或后缀；填写服务商返回图片实际域名，例如服务商CDN域名。留空允许公网图片域名，内网/本机/保留地址仍禁止。它影响图片本地化下载，不限制文字回答里的普通URL。"
          ]
        },
        {
          "heading": "推荐新增流程与前台核对",
          "steps": [
            "先添加一个明确标记的测试文本配置，保存后重新编辑核对source_id/model_id/endpoint/适配器；Key框空白是保留行为，不代表丢失。",
            "用模型测试检查连接和响应，再前台新对话下拉框选该模型发送一个短问题；同时查调用日志模型标识和成功/错误。",
            "图片配置分开创建，在头像/图片相关技能调用后确认图片能下载到允许域名并正确展示。",
            "结束后停用不再使用的测试配置；不要改现有默认再忘记恢复。"
          ],
          "items": [
            "新增：选择服务商 → 选择模型预设 → 核对自动填写的连接参数和能力 → 输入 API Key → 测试连接 → 保存配置。",
            "编辑：在状态、服务商筛选或搜索结果中打开配置；调整字段后提交。异步保存的提示使用 console.js，失败时保留页面并按提示修正。"
          ]
        },
        {
          "heading": "排错",
          "items": [
            "401/认证错误先核对服务商Key和账号额度；404先核对基地址与适配器拼接；模型不存在核对model_id。",
            "列表启用但当前用户前台找不到：核对启用状态与游客免费模型筛选。当前getModels取所有启用模型，没有单独过滤图片；不要据此声称前台仅显示文本。图片模型虽可能出现，首轮普通问答仍推荐明确选择文本模型。",
            "返回图片URL但下载失败：检查白名单、地址是否公开可访问、是否命中内网保护及服务商尺寸。"
          ]
        }
      ],
      "images": [
        {
          "file": "model-management-list-20261020-callouts-v2.webp",
          "section": 0,
          "caption": "① 状态筛选；② 服务商筛选；③ 搜索名称、服务商或模型 ID。每个序号与蓝框、图内说明一一对应。",
          "captured_at": "2026-10-20"
        },
        {
          "file": "model-management-provider-preset-20261020-callouts-v2.webp",
          "section": 2,
          "caption": "① 选择服务商和模型预设；② 填写服务商 API Key。截图来自独立工作台，保留圆形序号，说明文字不套外框。",
          "captured_at": "2026-10-20"
        }
      ],
      "updated_at": "2026-10-22T09:58:19+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=model-management-fields",
      "content_hash": "74cff2a0987700cdf023eaa76bfcd1d2d7ccaf08f9d239df27c0096d29113f18"
    },
    {
      "id": "model-skills-fields",
      "plugin_id": "aigeo_model",
      "title": "技能管理：权限、触发词、快捷提示和发帖版块",
      "summary": "用状态、用户组和关键词筛选技能；在卡片详情或编辑弹窗中查看并维护权限、触发词和积分设置。Discuz! 管理后台与独立工作台共用同一页面与脚本。",
      "category": "使用教程",
      "tags": [
        "模型广场",
        "前后台对应",
        "操作详解"
      ],
      "sections": [
        {
          "heading": "两边后台共用的技能管理页面",
          "steps": [
            "从模型广场打开技能管理；Discuz! 管理后台和独立工作台共用同一套列表主体与编辑弹窗。",
            "先在列表阅读技能说明、来源插件、状态、排序、积分、默认权限、用户组和确认要求。",
            "点击对应技能的“编辑”打开弹窗；在弹窗中修改启用状态、排序、积分、允许用户组、触发说法和快捷提示，再保存。发帖技能另有版块设置入口。"
          ],
          "items": [
            "筛选工具栏左侧的全部、已启用和已停用按钮带有数量；右侧用户组下拉默认“全部用户组”，搜索框按名称、技能 ID 或说明过滤。",
            "“无技能提示”和“技能日志”作为辅助入口放在筛选工具栏；技能卡片用两行摘要展示说明，查看详情打开说明弹窗，编辑设置打开配置弹窗。",
            "编辑弹窗将启用、排序权重和额外积分放在同一行，用户组权限单独列在“访问范围”。保存采用异步提交，console.js 显示成功或失败结果。"
          ]
        },
        {
          "heading": "逐项设置推荐",
          "items": [
            "启用：根据技能实现默认状态展示，关闭后用户不能作为可用技能使用；不要把技能存在文件当已启用。",
            "排序非负，管理列表按数字降序，即数字越大越靠前；建议最常用100，次常用50，与模型优先级的数字越小越优先不同。",
            "技能积分非负，0为技能免费，不等于一次模型调用整体免费；模型消耗按计费设置另算。",
            "用户组支持Ctrl/Cmd多选。非空用户组配置会直接按组允许，覆盖默认permission判断；留空才回到技能原始permission（public/login/admin）。管理类技能不要勾选普通会员组，首次仅选测试管理员组或保持默认权限。",
            "触发词最多1000字，支持逗号或自然语言描述；建议写具体动作及对象，如“创建主题、发布论坛帖子”，避免一个“帮我”触发所有技能。",
            "快捷提示每行一个，最多2000字；前台每个技能随机展示1条、最多6个技能。建议写完整可执行需求“在测试版块发布一篇新手指南，先给我确认标题正文”，不要只写“发帖”。",
            "发帖技能有“设置版块”单独入口，选择允许使用的实际普通版块；分区不能作为发帖目标。首次仅测试版块，影响用户技能流程可选发布位置。",
            "需要确认/无需确认来自技能定义，后台这里只展示；需要确认的动作必须用户确认卡片后才执行，不把模型生成的候选方案当已发布。"
          ]
        },
        {
          "heading": "推荐验证流程",
          "steps": [
            "保留原技能配置，只给一个测试普通用户组开启一项技能，写一条快捷提示并保存。",
            "前台使用该用户看到技能下拉选项和对应快捷提示；换无权限用户确认不出现/不能执行。",
            "选择指定技能验证流程，再切“自动选择”验证触发描述；空选择值才表示自动，字符串auto不是通用自动模式。",
            "需要确认的技能先取消一次，应无业务落地；再确认执行，核对对应帖子/签到/图片结果及技能日志。",
            "恢复原用户组/开关/快捷提示。"
          ]
        },
        {
          "heading": "没有快捷提示时",
          "paragraphs": [
            "无可用技能时用“无技能提示”页，最多8条、每条180字，建议“列出执行步骤、风险和完成条件”。清空后不显示兜底按钮。兜底只是提示文本，不授予技能权限。"
          ]
        },
        {
          "heading": "技能日志",
          "items": [
            "按技能、UID、成功/失败筛选，核对实际调用、消耗与错误；首页有按钮不等于技能已经成功执行。",
            "forum_search 使用 Discuz! 帖子接口搜索并按可见版块和主题阅读权限返回摘要；X3.4 也支持该流程。",
            "连续工具调用达到轮次上限时，已经生成的技能结果仍会保留在最终回答上下文；结合技能日志核对实际执行结果，避免对可能产生副作用的技能盲目重试。"
          ]
        },
        {
          "heading": "先看技能详情再配置",
          "steps": [
            "在技能管理列表阅读技能简介、查看默认权限与需要确认标志，再决定是否开启。列表可见不代表当前普通用户可执行。",
            "前台显式选择技能后核对结果；自动选择仍按触发描述判断，不能把技能详情的介绍文字当已执行记录。"
          ]
        }
      ],
      "images": [
        {
          "file": "model-skills-list-20261020-callouts-v2.webp",
          "section": 0,
          "caption": "① 筛选技能启用状态；② 按用户组查看可用技能；③ 搜索名称、技能 ID 或说明。图内序号对应各自说明。",
          "captured_at": "2026-10-20"
        },
        {
          "file": "model-skills-edit-20261020-callouts-v2.webp",
          "section": 0,
          "caption": "① 管理启用状态、排序和额外积分；② 设置可调用的用户组范围。",
          "captured_at": "2026-10-20"
        }
      ],
      "updated_at": "2026-10-22T09:58:19+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=model-skills-fields",
      "content_hash": "0077329b9b4799e3281b8e0fe747325a950eb24fe8a743ee46524acd4709031a"
    },
    {
      "id": "model-scheduler-details",
      "plugin_id": "aigeo_model",
      "title": "定时任务：云端触发、站点地址与密钥更换",
      "summary": "Discuz! 管理后台与独立工作台共用同一套定时任务页面和脚本；页面管理触发方式、站点地址与云端状态，任务业务配置仍在任务中心。",
      "category": "使用教程",
      "tags": [
        "模型广场",
        "前后台对应",
        "操作详解"
      ],
      "sections": [
        {
          "heading": "两边后台共用同一套页面",
          "items": [
            "从模型广场打开“定时任务”；Discuz! 管理后台和独立工作台复用同一页面主体与脚本，页面字段、状态和操作保持一致。",
            "云端服务卡片管理站点域名和云端触发状态；“高级设置”用于选择云端 / URL 外部触发或 Discuz! 计划任务，并设置 URL 白名单、间隔、最长运行时间、任务超时、重试和队列保留。"
          ]
        },
        {
          "heading": "地址与状态怎么设",
          "items": [
            "本站访问地址填云端可以访问的公开HTTPS根地址，带实际站点子目录时不要漏。不能填只有本机可解析的ServBay测试地址当云端可达地址。",
            "启用云端触发会注册/更新触发配置，关闭后云端不再为本站触发；它不会删除任务实例和业务数据。",
            "页面展示服务状态、触发配置及相关时间；“已启用”还需有实际触发记录和队列执行成功才能确认工作。",
            "URL触发密钥属于私密凭据，截图遮挡，不公开完整触发URL；重新生成让旧地址失效，随后必须重新启用/更新云端触发。"
          ]
        },
        {
          "heading": "推荐连接顺序",
          "steps": [
            "先完成一个任务的手动执行，确认模型及业务参数可工作。",
            "正式站填公开站点地址启用云端；本地不能被云端访问时保留关闭，用现有合法本地调度测试，以任务执行日志确认调度是否成功。",
            "启用目标实例，等一次真实触发，再查看执行日志新增时间与内容；确认没有额外实例意外运行。",
            "重新生成密钥后更新云端并验证旧地址失效/新触发成功。"
          ]
        },
        {
          "heading": "不自动运行排错",
          "items": [
            "触发正常但无队列：检查组件/实例启用、间隔、候选内容、日限额。",
            "队列增加但不完成：检查worker/模型响应。",
            "云端地址不可达：检查域名证书、站点子目录、服务状态和网关返回，不把调度问题当模型问题。"
          ]
        }
      ],
      "images": [
        {
          "file": "model-scheduler-details-20261018.jpg",
          "section": 1,
          "caption": "定时任务总览：按编号核对云端状态、站点域名、更新入口和高级设置",
          "captured_at": "2026-10-18"
        },
        {
          "file": "model-scheduler-cloud-20261018.jpg",
          "section": 1,
          "caption": "云端服务卡片局部放大：核对服务状态、URL 触发状态、域名并更新触发",
          "captured_at": "2026-10-18"
        }
      ],
      "updated_at": "2026-10-18T01:39:46+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=model-scheduler-details",
      "content_hash": "3ca4aa6de35303d643a706f9c762a264379ba592368e915de4e60ac707eec6ee"
    },
    {
      "id": "model-task-logs-details",
      "plugin_id": "aigeo_model",
      "title": "任务执行日志：状态、重试、耗时、取消和重新入队",
      "summary": "查清实际执行结果，并避免重复执行或误清理历史记录。",
      "category": "使用教程",
      "tags": [
        "模型广场",
        "前后台对应",
        "操作详解"
      ],
      "sections": [
        {
          "heading": "状态如何解读",
          "items": [
            "待处理0、处理中1、已完成2、最终失败3、已跳过4、已取消5、部分成功6。已完成是处理链结束，仍要看业务子结果；部分成功不能说全成功。",
            "任务/实例过滤用于定位一套业务配置，清除筛选看全站队列记录。对象通常是主题或发布结果链接，可从结果跳前台。",
            "重试次数和最大重试不同；耗时与创建/完成时间用于区分排队等待和执行耗时。"
          ]
        },
        {
          "heading": "排查顺序",
          "steps": [
            "从任务中心点本实例日志，记下任务ID、对象、状态、错误/子结果。",
            "有失败先确认错误属于模型连接、结构化解析、论坛写入还是候选内容；修正参数后再重跑。",
            "取消会改变队列项执行状态，不删除已生成帖子；重新入队可能再次执行真实业务，重跑前确认没有已落地的重复内容。",
            "高级“立即执行一次”会运行调度，不是刷新日志；历史清理依据保留天数删除历史任务记录，排错时先保留相关记录。"
          ]
        },
        {
          "heading": "操作后检查",
          "steps": [
            "先查找一条已完成任务，对照前台内容确认结果。失败任务可根据错误提示检查模型和候选实例。",
            "清理历史日志前先备份。排错时查看任务状态和具体错误；没有日志时先检查调度是否运行。"
          ]
        },
        {
          "heading": "历史队列与停用任务",
          "paragraphs": [
            "停用或移除任务不会自动删除已有队列和执行历史。等待超过24小时的提示用于定位积压，不证明调度故障。先查看任务状态、等待原因和实际结果，再决定是否取消待处理项。"
          ],
          "steps": [
            "从任务中心打开待处理记录，对照原任务是否仍启用；不要为清掉提示重复执行已落地业务。"
          ]
        }
      ],
      "images": [
        {
          "file": "model-task-logs-details-20261006.jpg",
          "section": 0,
          "caption": "任务执行日志：状态、重试、耗时、取消和重新入队：工作台操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "updated_at": "2026-10-08T20:53:57+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=model-task-logs-details",
      "content_hash": "a9624b9be5c7adf7de1f962e0b652edbadb755aaa28bc93ba7136e429bea239e"
    },
    {
      "id": "model-analysis-results-details",
      "plugin_id": "aigeo_model",
      "title": "分析结果：摘要、标签、审核动作与人工豁免",
      "summary": "区分分析结论、实际审核动作和论坛可见性。",
      "category": "使用教程",
      "tags": [
        "模型广场",
        "前后台对应",
        "操作详解"
      ],
      "sections": [
        {
          "heading": "每列含义",
          "items": [
            "摘要/标签是模型分析保存的结果，不保证所有前台主题模板自动展示；应去主题页核对当前集成展示与标签功能。",
            "审核分正常/疑似/违规，含置信度、分类、原因。未启用审核表示本次没有审核结论，不代表“安全审核通过”。",
            "动作dry_run＝未处理；none＝无需处理；set_pending＝已转待审核；skipped_already＝原来已待审核；skipped_manual_exempt＝人工豁免。",
            "人工豁免是在结果记录上设置/取消，影响审核动作是否跳过；不是删除模型结论，也不是把已经待审核的帖子自动恢复发布。"
          ]
        },
        {
          "heading": "推荐操作",
          "steps": [
            "通过全部/正常/疑似/违规标签查看，找到一条明确的示例主题。",
            "读结论、分数和动作，再打开论坛前台或原生待审核队列确认实际可见状态。",
            "确认为误判时先由管理员人工处理论坛内容，再决定给此结果豁免，记录理由；不要仅按分数取消所有风险。",
            "需要重新接管自动审核时取消豁免，后续分析/审核依任务参数进行；核对实际动作而非只看按钮文字。"
          ]
        },
        {
          "heading": "排错",
          "items": [
            "没有结果先看是否真的生成并执行了帖子分析任务，摘要/标签/审核功能是否启用。",
            "Dry Run不隐藏是预期；“人工豁免”也不能解释为审核模型未运行。"
          ]
        }
      ],
      "images": [
        {
          "file": "model-analysis-results-details-20261006.jpg",
          "section": 0,
          "caption": "分析结果：摘要、标签、审核动作与人工豁免：工作台操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=model-analysis-results-details",
      "content_hash": "08868057666b24da0979c20cd92464f27985969b6d650d103c89dfa71b965959"
    },
    {
      "id": "model-call-logs-and-stats",
      "plugin_id": "aigeo_model",
      "title": "调用日志与积分统计：用UID和模型追查一次请求",
      "summary": "统计是调用记录聚合，不等于钱包余额或服务商账单。",
      "category": "使用教程",
      "tags": [
        "模型广场",
        "前后台对应",
        "操作详解"
      ],
      "sections": [
        {
          "heading": "调用日志怎么找",
          "steps": [
            "模型管理切调用日志，筛选模型标识及用户UID定位一次请求。",
            "查看成功/失败、Tokens、计费状态、消耗积分、积分类型、错误和时间；失败请求也可能有调用记录。",
            "与该用户前台积分记录同时间同模型核对；服务商平台的货币账单独立核对，不能直接把站内积分当人民币。"
          ]
        },
        {
          "heading": "统计口径",
          "items": [
            "今日/本月/累计调用通过aigeo_model_log计数，今日从本日0点、本月从当月1日0点；没有只按成功筛选，所以调用数包含写入日志的失败请求。",
            "积分消耗聚合log.credit_cost，今日Top用户与Top模型按调用次数排序，列出对应消耗；并非按花费金额排名。",
            "更换积分类型后跨历史聚合积分数字不能简单当成一种同币种余额，必须查单条记录credit_type。",
            "清理日志会影响后续统计可见历史；用户钱包可能有签到、商城消费等其他变化，不与这里累计消耗直接相等。"
          ]
        },
        {
          "heading": "操作后检查",
          "steps": [
            "记录测试UID今日调用计数，发送一次短文本并完成，回查调用日志和前台积分记录。",
            "后台今日调用应随日志增1，消耗与该条记录一致；刻意错误请求若记录入库也会增加调用计数，费用看计费状态而不是臆测。"
          ]
        }
      ],
      "images": [
        {
          "file": "model-call-logs-and-stats-20261006.jpg",
          "section": 0,
          "caption": "调用日志与积分统计：用UID和模型追查一次请求：工作台操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=model-call-logs-and-stats",
      "content_hash": "c0b6d829889ca053e0db301f8fc9b09159edfb09e6e5fb067521bdf775648707"
    },
    {
      "id": "model-admin-chat-records",
      "plugin_id": "aigeo_model",
      "title": "后台聊天记录：搜索、查看与删除的真实范围",
      "summary": "管理员列表面向全站，前台历史只面向当前用户。",
      "category": "使用教程",
      "tags": [
        "模型广场",
        "前后台对应",
        "操作详解"
      ],
      "sections": [
        {
          "heading": "筛选与详情",
          "items": [
            "支持UID、用户名、模型、状态与关键词。状态0当前会话、1历史归档，不是模型调用成功/失败状态。",
            "详情展示会话用户、模型、状态、消息、时间/IP等，排错时按相关用户 UID 定位会话。",
            "消息数与模型调用数不是一对一：用户和助手消息各有记录，技能确认/错误也影响展示。"
          ]
        },
        {
          "heading": "推荐排查",
          "steps": [
            "用户报告某轮回复问题，先用UID和对话标题定位，再打开详情核对问答上下文。",
            "把问题时间与调用/技能日志关联，区分模型没响应、技能执行失败、前台历史加载异常。",
            "删除会话/批量删除只选明确标记的测试会话，删除不可作为日常排错第一步；前台用户历史也会失去对应记录。",
            "分享聊天记录排查问题时，请遮盖用户身份、联系方式和私人咨询内容。"
          ]
        }
      ],
      "images": [
        {
          "file": "model-admin-chat-records-20261006.jpg",
          "section": 0,
          "caption": "后台聊天记录：搜索、查看与删除的真实范围：工作台操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=model-admin-chat-records",
      "content_hash": "89c896f339bcb10d4be97d2b37c3d7b099a352b849e9ce5a19fe9976bacbae7c"
    },
    {
      "id": "model-message-center",
      "plugin_id": "aigeo_model",
      "title": "消息中心：通知与私人消息",
      "summary": "消息中心分开显示通知和私人消息；用户可在会话弹窗中查看并回复 Discuz 私信。",
      "category": "使用教程",
      "tags": [
        "消息中心",
        "私人消息",
        "前后台对应"
      ],
      "sections": [
        {
          "heading": "通知与私人消息的范围",
          "steps": [
            "从亮仔AI工作台侧栏打开“我的消息”，进入消息中心。未读通知、全部通知和私人消息是三个独立范围。",
            "通知列表显示通知记录；私人消息不会作为通知列在全部通知中。收到私信后打开私人消息查看对应会话。",
            "点击会话的“查看与回复”打开弹窗，核对联系人和消息内容；弹窗展示双方在同一私信会话中的消息。"
          ]
        },
        {
          "heading": "回复 Discuz 私信",
          "steps": [
            "在对话弹窗底部输入回复并点击“发送回复”。",
            "服务器确认成功后，新消息立即显示在弹窗；发送失败时保留输入内容并显示错误。",
            "在 Discuz 原生私人消息页面可以查看同一会话，双方消息内容和数量一致。"
          ]
        },
        {
          "heading": "核对未读状态",
          "items": [
            "未读通知数与私人消息未读数分开统计；总未读会包含各自未读项。",
            "打开私人会话后，未读状态按 Discuz 原生私人消息机制同步；不要期待私信出现在通知列表。"
          ]
        }
      ],
      "images": [],
      "url": "/ai/guide/?id=model-message-center",
      "updated_at": "2026-10-09T14:06:31+08:00",
      "content_hash": "63d8cfaa2cb0063287ef341e7d0f63f5197e1ebc2d5443429edb424b44381aa7"
    },
    {
      "id": "model-frontend-full-flow",
      "plugin_id": "aigeo_model",
      "title": "前台完整使用流程：首页、对话、历史、回放与积分",
      "summary": "以一次短问答串起五个主要前台页面，解释查看、继续与新对话的区别。",
      "category": "使用教程",
      "tags": [
        "模型广场",
        "前后台对应",
        "操作详解"
      ],
      "sections": [
        {
          "heading": "五个入口",
          "items": [
            "首页 plugin.php?id=aigeo_model%3Achat：新对话入口、快捷提示、最近对话；移动底部有首页/对话/记录/积分。",
            "对话 view=conversation：输入框、模型下拉、技能下拉和发送；模型可用性/聊天权限不足会禁用输入或按钮。",
            "历史 view=history：登录后按标题/摘要搜索，可查看、继续、删除。",
            "回放 view=replay&session_id=…：显示历史问答和知识引用，查看不等于自动再调用模型。",
            "积分 view=points：登录用户自己的真实模型日志及当前规则；失败显示错误状态，不伪造奖励。"
          ]
        },
        {
          "heading": "推荐第一次实际操作",
          "steps": [
            "普通测试用户打开首页，检查品牌标题、可用模型、快捷提示和登录状态。",
            "点开始新对话，选明确的测试文本模型，技能保持自动选择，输入“给我三条社区新手使用建议”，Enter发送，Shift+Enter换行。",
            "等待回答，核对中文、列表/代码/Markdown显示；需要执行技能时读取确认卡再选择确认/取消。",
            "去历史用问题标题或摘要搜索，点查看打开回放，核对同轮消息；点继续回到同session的对话，新消息保持上下文。",
            "新对话另起会话，不把旧内容删除；去积分页定位该次模型记录，核对模型、成功状态和实际扣费。",
            "删除只用一个专门的测试会话，删除后列表和回放不可再作为当前用户有效历史；保留教程示例可不删。"
          ]
        },
        {
          "heading": "为什么这样选择",
          "items": [
            "首次固定模型和普通短问句，减少自动技能、长文和图片生成变量，方便定位连接问题。",
            "指定技能用于验证其专门流程；自动选择为空值，按权限和输入判断，不保证每轮都会触发技能。",
            "历史与回放要求登录且检查session归属，不能用修改URL查看别人的会话；游客聊天是否允许由设置控制，游客没有个人历史/积分页。"
          ]
        },
        {
          "heading": "排错",
          "items": [
            "无可用模型：检查后台启用和文本/图片能力，不靠刷新无限重试。",
            "发送失败：核对积分/频率权限及调用错误；前台等待超时后先查后台避免重复付费请求。",
            "若流式错误明确显示连接 api.openai.com:443 超时，检查站点服务器的 DNS、出站 443 网络和模型配置的接口地址；浏览器能上网不代表服务器能连通。先查调用日志和备用模型设置，再决定是否重试，避免重复请求。",
            "回放不存在/无权：检查当前用户和会话ID，删除后正常拒绝，管理员全站详情权限不等于普通用户回放权限。",
            "有技能但没有快捷按钮：可能该用户权限不足或最多6个展示限制；无技能兜底提示只在没有任何可用技能时出现。"
          ]
        }
      ],
      "images": [
        {
          "file": "model-dialog.jpg",
          "section": 0,
          "caption": "同插件页面入口示例；本篇具体设置和检查项见下文",
          "captured_at": "2026-10-06"
        }
      ],
      "updated_at": "2026-10-16T11:42:21+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=model-frontend-full-flow",
      "content_hash": "362d85c28ad4ab3597dbd1470b56a94514b828965fa983d73a9399e17fbb628a"
    },
    {
      "id": "gallery-media",
      "plugin_id": "aigeo_gallery",
      "title": "我的图库：选择已有图片、导入附件与媒体删除",
      "summary": "从“我的图库”的新建窗口选择已有图片，区分图库成员和媒体文件。",
      "category": "使用教程",
      "tags": [
        "aigeo_gallery",
        "专题教程"
      ],
      "sections": [
        {
          "heading": "操作步骤与预期结果",
          "steps": [
            "打开前台“我的图库”，点“新建图库”。弹窗中的“我的图片”用于选择已有媒体；需要新文件时使用页面提供的上传入口。没有独立的“媒体库”导航按钮。",
            "进入Discuz附件来源，选择自己可使用的图片附件导入。预期媒体库产生可复用媒体，而不是直接修改原帖。",
            "用搜索找出刚才图片，加入示例图库。预期图库出现图片；再次选择已有媒体无需重新上传。",
            "管理员进入图库与媒体管理，选择媒体文件列表，检查引用。对仍被图库或其他插件引用的文件执行删除应被拒绝。",
            "从示例图库移除图片并解除演示引用，再删除示例媒体。预期进入已删除列表；后台删除只标记状态，磁盘原文件暂不清理，不等于立即释放磁盘。"
          ]
        },
        {
          "heading": "推荐填写方法及影响",
          "items": [
            "图片最大16 MB可先保持；手机截图站可设8 MB，减少上传等待。这个值作用于上传/远程下载，不是图库展示宽度。",
            "视频默认关闭；确有视频需求才开，50 MB上限配合PHP上传限制。启用能力和单文件上限都要满足。",
            "每人媒体数量与图库数量是分别计数的限制；“图片不多但不能再新建图库”应看图库限额。"
          ]
        },
        {
          "heading": "失败时逐项判断",
          "items": [
            "超限先区分单文件大小、媒体总数、图库数、PHP请求上限。",
            "仍有引用的媒体不能删；移除图库成员不是删文件。",
            "后台搜索使用示例标题/ID定位，不对全部现存媒体执行批量删除。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=gallery-media",
      "images": [
        {
          "file": "gallery-media-20261006.jpg",
          "section": 0,
          "caption": "新建图库：选择已有图片",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "a1590ff9d698fe3c903f4791f60fcbb17f1a2d83482e23ed66c05db81160c3b4"
    },
    {
      "id": "gallery-edit-share",
      "plugin_id": "aigeo_gallery",
      "title": "图库：布局、封面排序、私有与公开分享",
      "summary": "新建“教程示例：帮助截图”，标题必填，加入两张已有媒体，公开先关闭。预期创建成功并进入自己的图库列表。",
      "category": "使用教程",
      "tags": [
        "aigeo_gallery",
        "专题教程"
      ],
      "sections": [
        {
          "heading": "操作步骤与预期结果",
          "steps": [
            "新建“教程示例：帮助截图”，标题必填，加入两张已有媒体，公开先关闭。预期创建成功并进入自己的图库列表。",
            "设置列数3、间距8、灯箱开启；保存后打开图库详情。预期网格对应列数/间距，点击图片可查看大图。",
            "调整图片顺序并选择封面。预期详情顺序改变，列表封面对应所选媒体，而不是仍显示旧第一图。",
            "切换公开保存，复制详情地址，在未登录浏览器访问；预期可见。再改私有，普通其他用户不应打开私密图库。",
            "访问公开列表和该用户公开图库页。预期公开示例能找到，私有示例不出现在公共列表。"
          ]
        },
        {
          "heading": "推荐填写方法及影响",
          "items": [
            "默认列数/间距/公开只初始化新图库；已有图库应在自身编辑页面改，不能把全局保存说成批量重排。",
            "包含内部资料的图库建议设为私有；公开前检查图片中是否含有不宜分享的信息。",
            "封面需选图库中的媒体，顺序/封面保存后看列表与详情两处。"
          ]
        },
        {
          "heading": "失败时逐项判断",
          "items": [
            "无权操作检查登录用户是否图库owner。",
            "标题空创建返回标题不能为空；达到每人或单图库限额另有失败提示。",
            "匿名检查是分享检查必要一步，管理员自己看到私有内容不能证明公开。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=gallery-edit-share",
      "images": [
        {
          "file": "gallery-edit-share-20261006.jpg",
          "section": 0,
          "caption": "图库详情：列数、间距与公开状态",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "57ab5486218fd185d61f7256329592bf75be7b37426b46fabe3f8d1b2aeeabf6"
    },
    {
      "id": "gallery-sources",
      "plugin_id": "aigeo_gallery",
      "title": "图库来源：免费素材、AI生图和微信采集",
      "summary": "免费素材选择已启用来源，搜索明确物体，选一张导入。预期导入后存在媒体记录并能加入图库。",
      "category": "使用教程",
      "tags": [
        "aigeo_gallery",
        "专题教程"
      ],
      "sections": [
        {
          "heading": "操作步骤与预期结果",
          "steps": [
            "免费素材选择已启用来源，搜索明确物体，选一张导入。预期导入后存在媒体记录并能加入图库。",
            "AI生图明确选择可用生图模型，输入单对象提示词，查看生成预览，再导入。预期实际图片可见；只有文本回复不等于生图成功。",
            "电脑创建微信采集会话，手机扫码打开采集页上传演示图片。预期电脑会话状态和媒体列表更新。",
            "测试后撤销采集会话，旧采集入口不能继续作为长期公开上传链接。"
          ]
        },
        {
          "heading": "推荐填写方法及影响",
          "items": [
            "先用不依赖Key的素材来源排除密钥问题，再配置Pexels/Pixabay自己的服务Key。",
            "AI模型空选择用可用列表第一项，建议明确选择已验证的模型，结果更稳定。",
            "微信采集开关控制手机采集能力；会话链接不发布到公共教程。"
          ]
        },
        {
          "heading": "失败时逐项判断",
          "items": [
            "AI生图失败检查模型是否可用/返回图片URL是否可下载/大小限制；不要重复点生成造成重复费用。",
            "素材查询成功而导入失败，进一步检查远程图片下载与媒体额度。",
            "微信页面打不开检查会话是否过期或已撤销，而不是立即重新上传。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=gallery-sources",
      "images": [
        {
          "file": "gallery-sources-20261006.jpg",
          "section": 0,
          "caption": "新建图库：从历史附件导入图片",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "c4f5e7b0363ea5fab83ea2ec79ba6858cfcb3ef07c454f8c58b3d0658549ea64"
    },
    {
      "id": "livecode-create",
      "plugin_id": "aigeo_livecode",
      "title": "新建活码：网页入口和群二维码",
      "summary": "新建“教程示例：帮助入口”，选网页类型，填https开头公开文档URL，保持manual。预期保存返回活码记录及公开地址。",
      "category": "使用教程",
      "tags": [
        "aigeo_livecode",
        "专题教程"
      ],
      "sections": [
        {
          "heading": "操作步骤与预期结果",
          "steps": [
            "新建“教程示例：帮助入口”，选网页类型，填https开头公开文档URL，保持manual。预期保存返回活码记录及公开地址。",
            "另建群二维码示例，用识别成功且当前用户拥有的干净二维码媒体。预期扫码内容可被解析，而普通图片应被拒绝。",
            "复制公开地址，访问确认标题、说明、二维码或打开网页按钮；网页按钮应进入所填目标。",
            "记录固定公开地址，后续只改目标，不把群二维码原地址当活码分享链接。"
          ]
        },
        {
          "heading": "推荐填写方法及影响",
          "items": [
            "首次用网页链接验证不依赖二维码识别；这样能把码管理和图片识别问题分开。",
            "测试数据正式投放前可停用；默认启用不代表目标已核验。",
            "微信群有效期7天只是初始值，按实际二维码有效期填写，不承诺自动续期。"
          ]
        },
        {
          "heading": "失败时逐项判断",
          "items": [
            "URL必须HTTP(S)且有host，无账号密码、控制字符；二维码载荷为空或媒体不属于当前用户会失败。",
            "未启用活码或无启用目标，公开页不可用。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=livecode-create",
      "images": [
        {
          "file": "livecode-create-20261006.jpg",
          "section": 0,
          "caption": "新建活码：网页入口和群二维码：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "3260cbe358e99bcbd144f28609b0748f85b04861b881241a846e85fb91595c46"
    },
    {
      "id": "livecode-maintain",
      "plugin_id": "aigeo_livecode",
      "title": "活码维护：默认入口、导航、到期和停用",
      "summary": "给独立示例码添加两个网页目标，manual选择第一个为默认，保存。预期公开页只显示一个入口。",
      "category": "使用教程",
      "tags": [
        "aigeo_livecode",
        "专题教程"
      ],
      "sections": [
        {
          "heading": "操作步骤与预期结果",
          "steps": [
            "给独立示例码添加两个网页目标，manual选择第一个为默认，保存。预期公开页只显示一个入口。",
            "改第二个为默认并保存，访问相同公开地址。预期地址未变，展示目标改变。",
            "切navigation保存，公开页应列出全部启用入口供用户选择。此模式不是自动轮询或满员换群。",
            "把示例目标设为过去时间。预期出现到期提示；网页打开按钮隐藏；不会自动把过期默认切到下一目标。",
            "停用整个示例码，再访问公开地址不可用；启用恢复。确认无后续用途的示例才删除。"
          ]
        },
        {
          "heading": "推荐填写方法及影响",
          "items": [
            "manual适合单一当前群或固定主入口；navigation适合帮助文档/多个渠道，由用户自主选择。",
            "expired_tip写更新联系人或备用办法，让过期用户知道下一步。",
            "限额试用可每人10码每码3入口，扩大前先确认维护成本。"
          ]
        },
        {
          "heading": "失败时逐项判断",
          "items": [
            "默认目标不存在时代码回退第一启用目标；这与因到期自动切换不同。",
            "删除是标记码与目标删除，不能作为公开链接恢复方式。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=livecode-maintain",
      "images": [
        {
          "file": "livecode-create-20261006.jpg",
          "section": 0,
          "caption": "活码维护：默认入口、导航、到期和停用：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "5a0b8f7b4864b5ccbdbe06fe2063656c95075dcb9d3264b6a3bd6b3873168171"
    },
    {
      "id": "feedback-submit",
      "plugin_id": "aigeo_feedback",
      "title": "提交反馈：标题、附件、匿名回看与本人编辑",
      "summary": "设置显示标题与标题必填，前台填“教程示例：菜单别名保存”，正文写操作、预期、实际三部分。预期表单标题可见且空标题被阻止。",
      "category": "使用教程",
      "tags": [
        "aigeo_feedback",
        "专题教程"
      ],
      "sections": [
        {
          "heading": "操作步骤与预期结果",
          "steps": [
            "设置显示标题与标题必填，前台填“教程示例：菜单别名保存”，正文写操作、预期、实际三部分。预期表单标题可见且空标题被阻止。",
            "附一张无私人信息截图提交，登录用户跳我的反馈。预期新记录待处理，内容附件正确。",
            "匿名模式另用演示反馈测试提交和guest_detail回看；按页面验证流程操作，不把匿名回看当成全站公开。",
            "登录本人编辑示例内容保存，再回详情看修改；其他普通用户不应编辑该记录。"
          ]
        },
        {
          "heading": "推荐填写方法及影响",
          "items": [
            "5–10 MB截图上限适合手机，过大增加流量；截图附具体按钮和提示，比整页截图更有用。",
            "登录图库附件只在图库安装启用且管理开放时生效，匿名仍原上传。",
            "关闭标题字段后自动截取内容前30字；必填只有显示开启才生效。"
          ]
        },
        {
          "heading": "失败时逐项判断",
          "items": [
            "提交失败查必填、附件限额、formhash、分类是否启用；不要重复提交制造多记录。",
            "匿名详情需自己的验证信息，不在公开截图展示回看凭证。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=feedback-submit",
      "images": [
        {
          "file": "feedback-submit-20261006.jpg",
          "section": 0,
          "caption": "提交反馈：标题、附件、匿名回看与本人编辑：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "9341cfa0e68668c2744429cc62a1d001b5d04fd6dd3a528a1757ebed976c74be"
    },
    {
      "id": "feedback-handle",
      "plugin_id": "aigeo_feedback",
      "title": "后台处理反馈：筛选、回复、解决与公告",
      "summary": "后台待处理筛选并搜索新建示例，打开详情。预期看到对应反馈而非另一用户同名记录。",
      "category": "使用教程",
      "tags": [
        "aigeo_feedback",
        "专题教程"
      ],
      "sections": [
        {
          "heading": "操作步骤与预期结果",
          "steps": [
            "后台待处理筛选并搜索新建示例，打开详情。预期看到对应反馈而非另一用户同名记录。",
            "在详情回复明确解决动作，回用户详情核对回复出现；状态已回复与已解决分别表达不同阶段。",
            "问题确认解决后设置已解决，回后台列表和用户状态标签核对；只回复不等于用户问题已解决。",
            "创建不含个人信息的公告，公开公告页及前台公告区域核对；公告数0时顶部区域关闭，但不应认为公告数据删除。"
          ]
        },
        {
          "heading": "推荐填写方法及影响",
          "items": [
            "状态0待处理、1已回复、2已解决、3已关闭、4已删除；根据处理事实选，不用关闭替代完成。",
            "通知UID填实际负责人，多UID逗号分隔；演示测试避免向真实人员通知。",
            "公告数量3通常够用，过多挤占提交入口。"
          ]
        },
        {
          "heading": "失败时逐项判断",
          "items": [
            "admin_detail模块正常跳前台detail/announcement是实现设计，不当作加载失败。",
            "搜索/状态无结果核对条件和记录分类；公告不是普通待处理反馈。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=feedback-handle",
      "images": [
        {
          "file": "feedback-handle-20261006.jpg",
          "section": 0,
          "caption": "后台处理反馈：筛选、回复、解决与公告：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "3f41d3d3d596147c2b2d801596a1e779f62f34193c9ae5f161bba609ae2791c3"
    },
    {
      "id": "feedback-agent",
      "plugin_id": "aigeo_feedback",
      "title": "Agent接入：密钥、回复预览与人工确认",
      "summary": "管理员在Agent接入创建命名清晰的示例Key，建议有效期7天测试。预期明文只显示一次，立即保存在自己的安全配置中，不截图。",
      "category": "使用教程",
      "tags": [
        "aigeo_feedback",
        "专题教程"
      ],
      "sections": [
        {
          "heading": "操作步骤与预期结果",
          "steps": [
            "管理员在Agent接入创建命名清晰的示例Key，建议有效期7天测试。预期明文只显示一次，立即保存在自己的安全配置中，不截图。",
            "把API地址和公开Skill说明接给Agent，通过Authorization使用Key；先list/get读取独立示例反馈与revision。预期只按绑定管理员实时权限读取。",
            "调用prepare_reply提交feedback_id、revision及回复正文，得到preview与confirmation_token。此时只是准备，用户尚无新回复。",
            "管理员明确确认preview后commit_reply。预期只新增这条确认回复；再次使用token应被拒绝。",
            "撤销测试Key再读接口应失效；账号降权、Key过期也应失效。"
          ]
        },
        {
          "heading": "推荐填写方法及影响",
          "items": [
            "测试Key建议7天，正式90天需轮换计划；名称仅区分接入，不改变权限。",
            "读取与回复scope由服务授予，实际权限是账号实时权限与Key交集；不是拿到Key就永久管理员。",
            "确认有效期300秒，过期重新get/prepare/确认；不在Agent中实现自动绕过人工确认。"
          ]
        },
        {
          "heading": "失败时逐项判断",
          "items": [
            "接口第一版无批量、删除、附件和自动关闭；不能编写这些动作教程。",
            "revision变化/确认过期/确认已用应重新读取，不重放旧commit。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=feedback-agent",
      "images": [
        {
          "file": "feedback-agent-20261006.jpg",
          "section": 0,
          "caption": "Agent接入：密钥、回复预览与人工确认：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "65f9219a464e190c432fe9590c0557dd24a42c4c3494e82c81902905befd8a78"
    },
    {
      "id": "prompt-use",
      "plugin_id": "aigeo_prompt",
      "title": "提示词详情：模板填空、复制和带入模型",
      "summary": "前台按分类和关键词找一条模板，打开detail&pid=真实ID。预期启用内容详情展示变量。",
      "category": "使用教程",
      "tags": [
        "aigeo_prompt",
        "专题教程"
      ],
      "sections": [
        {
          "heading": "操作步骤与预期结果",
          "steps": [
            "前台按分类和关键词找一条模板，打开detail&pid=真实ID。预期启用内容详情展示变量。",
            "填写文本变量或选择选项，查看生成提示词；预期占位符被具体值替换，默认值符合表单。",
            "复制生成内容后粘贴检查完整性；再用模型广场入口，预期输入内容已带入。打开页面不表示调用模型成功。",
            "选择外部AI平台入口，核对URL中提示词编码和目标页面；跳转不代表第三方模型执行。"
          ]
        },
        {
          "heading": "推荐填写方法及影响",
          "items": [
            "优先选明确用途模板并先填最小有效输入，能看出变量影响。",
            "模型桥需设置开启且模型插件安装启用，否则入口不可用；别只开开关。",
            "平台url_template必须留{prompt}，没有占位符无法带入内容。"
          ]
        },
        {
          "heading": "失败时逐项判断",
          "items": [
            "详情用pid不是id；禁用提示词直接详情也应报不存在。",
            "复制失败核对浏览器剪贴板权限，平台打开成功不算复制完成。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=prompt-use",
      "images": [
        {
          "file": "prompt-use-20261006.jpg",
          "section": 0,
          "caption": "提示词详情：模板填空、复制和带入模型：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "bd39f3fd482f088ea596c2d13e5f1ec443859a23599bc41892a2a75041a3e614"
    },
    {
      "id": "prompt-create",
      "plugin_id": "aigeo_prompt",
      "title": "创建和编辑提示词：分类、变量与注意事项",
      "summary": "登录创建，填用途标题与正文，选择内容形式，再选属于该形式的细分分类。预期保存成功返回ID。",
      "category": "使用教程",
      "tags": [
        "aigeo_prompt",
        "专题教程"
      ],
      "sections": [
        {
          "heading": "操作步骤与预期结果",
          "steps": [
            "登录创建，填用途标题与正文，选择内容形式，再选属于该形式的细分分类。预期保存成功返回ID。",
            "案例类型用完整正文；模板类型添加变量名、label、type、default，select补options。预期详情出现对应控件。",
            "用name=product、label=商品名、type=text、default=演示商品建立一个变量，正文占位符按现有模板一致格式填写，不自行猜语法。",
            "后台编辑该条目调整描述、标签、排序和注意事项，保存后回前台搜索与详情核对。"
          ]
        },
        {
          "heading": "推荐填写方法及影响",
          "items": [
            "title最多200字、description500、正文50000，建议标题短而说明具体任务。",
            "变量最多30，name最多80；type只text/select，选项最多30，使用实际业务允许值。",
            "关闭allow_user_create仅限制普通用户，管理员仍可创建；精选内容站建议关闭。",
            "排序数值越大越靠前，使用10/20便于插入；注意事项写输出需核对哪些事实。"
          ]
        },
        {
          "heading": "失败时逐项判断",
          "items": [
            "内容形式不选、分类不属于形式、空标题/正文会失败。",
            "非法变量JSON未必显式报错，应检查保存后变量控件确实生成，不能仅看成功提示。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=prompt-create",
      "images": [
        {
          "file": "prompt-create-20261006.jpg",
          "section": 0,
          "caption": "创建和编辑提示词：分类、变量与注意事项：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "12fcc355662fc468e043aa13231b350dc4901af1576b936797a4a11cff8ef5ca"
    },
    {
      "id": "prompt-platforms",
      "plugin_id": "aigeo_prompt",
      "title": "平台管理：新增跳转目标、排序与禁用",
      "summary": "新增演示平台英文key、显示名和含{prompt}的URL模板，排序0起步。预期后台保存，key保存后不可修改。",
      "category": "使用教程",
      "tags": [
        "aigeo_prompt",
        "专题教程"
      ],
      "sections": [
        {
          "heading": "操作步骤与预期结果",
          "steps": [
            "新增演示平台英文key、显示名和含{prompt}的URL模板，排序0起步。预期后台保存，key保存后不可修改。",
            "前台详情选择此平台，用短提示词检查跳转及编码；先确认目标实际支持带入查询参数。",
            "禁用该平台，再打开详情确认不在启用平台列表；恢复或删除独立示例，不改已有真实平台配置。"
          ]
        },
        {
          "heading": "推荐填写方法及影响",
          "items": [
            "平台名给用户识别，key给系统标识；重命名显示名不改key。",
            "不要把API服务端地址当用户聊天网页；这里是浏览器跳转模板而非模型适配器。",
            "官方常用平台保留少量，避免详情选择区拥挤。"
          ]
        },
        {
          "heading": "失败时逐项判断",
          "items": [
            "URL打开但提示词没带入，检查{prompt}和第三方是否支持对应参数。",
            "禁用后浏览器旧详情可能需重新进入获取启用列表，不能只看旧DOM。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=prompt-platforms",
      "images": [
        {
          "file": "prompt-platforms-20261006.jpg",
          "section": 0,
          "caption": "平台管理：新增跳转目标、排序与禁用：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "2a1a5faa82a76a334cdde3cf30e871f48c94527cddf056f3c18138b31b02ad25"
    },
    {
      "id": "service-sessions",
      "plugin_id": "aigeo_service",
      "title": "后台会话列表、详情与标记解决",
      "summary": "客服工作台用于人工查看用户咨询与跟进状态；不是客服模型的配置页。前台新会话进入此列表，点击详情按消息ID顺序显示用户/客服全文。",
      "tags": [
        "aigeo_service",
        "admin_dashboard"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-06T17:22:13+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "客服工作台用于人工查看用户咨询与跟进状态；不是客服模型的配置页。前台新会话进入此列表，点击详情按消息ID顺序显示用户/客服全文。",
            "进行中=resolved=0且unresolved=0；未解决=unresolved=1且resolved=0；已转反馈只按feedback_id>0筛选，可与已解决重叠；每页30条，按更新时间倒序。",
            "从 plugin.php?id=ailiangzai_admin 进入独立后台，选择智能客服及对应功能；这些页面复用原 Discuz 插件管理程序，菜单迁移不改变权限、设置或数据。原 Discuz 插件后台也可进入。 统一客服工作台产生的会话仍出现在这里；模型广场聊天记录不是客服会话列表。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "先在前台建立“教程示例”会话并提一个明确FAQ问题。",
            "进入客服工作台选择全部/进行中，按末次问题及时间找到示例，点击查看详情。",
            "核对问答顺序与前台一致；从详情返回时原筛选和页码保留。",
            "问题已人工处理后标记解决，再切已解决筛选核对。"
          ],
          "settings": [
            {
              "name": "会话筛选",
              "default": "all",
              "recommended": "需要人工接手先未解决",
              "reason": "减少在全部历史中查找",
              "frontend_effect": "只改变后台查询，不改变前台回答"
            },
            {
              "name": "标记解决",
              "default": "未标记",
              "recommended": "实际核对后再点",
              "reason": "只是跟进状态，不触发模型重新回答",
              "frontend_effect": "后台状态变为已解决，写解决时间"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "依赖概览“模型已启用”不证明选中模型网络通畅。",
            "详情不存在应回列表；分享会话截图时遮盖用户身份和私人问答。",
            "清空会话记录删除全部会话和消息，不是清当前筛选；教程不点击。"
          ]
        }
      ],
      "url": "/ai/guide/?id=service-sessions",
      "images": [
        {
          "file": "service-sessions-20261006.jpg",
          "section": 0,
          "caption": "后台会话列表、详情与标记解决：操作界面",
          "captured_at": "2026-10-06"
        },
        {
          "file": "service-sessions-detail-20261006.jpg",
          "section": 1,
          "caption": "客服会话详情与返回入口",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "da3e9baff4c43188c29f1287fe486bf3b71f7c797a585d4e8850138d273939dc"
    },
    {
      "id": "service-faq-management",
      "plugin_id": "aigeo_service",
      "title": "FAQ编辑、排序、停用和链接检查",
      "summary": "FAQ可独立回答，不要求安装知识库。列表同时显示答案摘要、关键词、启用状态、命中次数与编辑/停用/删除。",
      "tags": [
        "aigeo_service",
        "admin_faq"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "FAQ可独立回答，不要求安装知识库。列表同时显示答案摘要、关键词、启用状态、命中次数与编辑/停用/删除。",
            "新建默认启用、排序0；最多读取200条。问题和答案必填，相关链接必须HTTPS。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "点击新增，问题填“教程示例：如何打开菜单管理？”，答案写“工作台→菜单管理→搜索插件→修改→保存”。",
            "关键词填写明确短语，链接文字填“菜单教程”，URL填写公开HTTPS教程。",
            "保存返回列表，核对状态、排序和链接；前台快捷问题点击后应返回完全配置答案。",
            "先停用再验证快捷项消失，随后启用；删除只用于不再需要的独立测试项。"
          ],
          "settings": [
            {
              "name": "问题/答案",
              "default": "空",
              "recommended": "完整问题+可执行步骤",
              "reason": "空值拒绝保存",
              "frontend_effect": "FAQ直接回答内容"
            },
            {
              "name": "关键词",
              "default": "空",
              "recommended": "菜单管理,菜单别名",
              "reason": "宽泛词会错误抢先命中知识问答",
              "frontend_effect": "用户提问FAQ匹配"
            },
            {
              "name": "排序",
              "default": "0",
              "recommended": "高频问题小序号",
              "reason": "升序，同序ID倒序",
              "frontend_effect": "快捷问题位置"
            },
            {
              "name": "链接文字/URL",
              "default": "空",
              "recommended": "公开HTTPS资料",
              "reason": "HTTP或无效链接拒绝保存",
              "frontend_effect": "答案末尾相关链接"
            },
            {
              "name": "启用",
              "default": "1",
              "recommended": "审核后启用",
              "reason": "停用不参与匹配",
              "frontend_effect": "前台列表/回答"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "命中次数增1不代表模型调用次数。",
            "排序只影响展示和同分候选；匹配仍按问句与关键词评分。",
            "链接非法/必填缺失应报错，不能把跳回列表当保存成功。"
          ]
        }
      ],
      "url": "/ai/guide/?id=service-faq-management",
      "images": [
        {
          "file": "service-faq-management-20261006.jpg",
          "section": 0,
          "caption": "FAQ编辑、排序、停用和链接检查：操作界面",
          "captured_at": "2026-10-06"
        },
        {
          "file": "service-faq-editor-20261006.jpg",
          "section": 1,
          "caption": "FAQ 编辑：问题、回答和相关链接",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "5f91c9409f61619accebffb59a2053b2794dc8b70a27bfc18f0be14460d63cf5"
    },
    {
      "id": "service-skills-logs",
      "plugin_id": "aigeo_service",
      "title": "知识检索、反馈技能开关与工具日志",
      "summary": "当前技能管理只展示knowledge_search与feedback_link；知识检索自动读允许资料，反馈引导把无法解决的问题转人工。",
      "tags": [
        "aigeo_service",
        "admin_skill"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-06T17:22:13+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "当前技能管理只展示knowledge_search与feedback_link；知识检索自动读允许资料，反馈引导把无法解决的问题转人工。",
            "商城订单、退款等词虽然有预留引导，不是页面已提供真实订单/退款工具。工具日志是决策摘要，不是完整会话。",
            "统一客服Agent的模型技能白名单只有knowledge_search。转意见反馈是用户主动操作的状态API，不是让模型自动创建反馈。旧客服技能页的feedback_link开关仍控制转反馈可用性；不能据此宣传已开放订单或退款执行工具。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "确认知识检索启用且知识库有已发布AI资料；用非FAQ样例提问。",
            "查看工具日志的时间、技能、用户和决策，核对hit/miss与前台资料引用。",
            "暂时关闭知识检索，重提非FAQ问题验证兜底，然后恢复；FAQ应仍正常。",
            "反馈技能只在明确需要接手时保留，真实反馈创建另按前台流程核对。"
          ],
          "settings": [
            {
              "name": "knowledge_search",
              "default": "预置启用",
              "recommended": "保持启用",
              "reason": "无知识检索只剩FAQ/规则与兜底",
              "frontend_effect": "普通问题知识引用"
            },
            {
              "name": "feedback_link",
              "default": "预置启用",
              "recommended": "需要人工跟进时启用",
              "reason": "转接需反馈插件可用",
              "frontend_effect": "未解决提交反馈入口"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "工具日志最多显示最新100条，早期事件可能未展示。",
            "清空日志是全表删除，不是删除当前一条。",
            "llm_error是模型异常，hit仅表示资料命中；需结合实际回答。"
          ]
        }
      ],
      "url": "/ai/guide/?id=service-skills-logs",
      "images": [
        {
          "file": "service-skills-logs-20261006.jpg",
          "section": 0,
          "caption": "知识检索、反馈技能开关与工具日志：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "57204f25ec34874c52fbe2a7e2a2389447af8509010f6b59e257649cff998d3a"
    },
    {
      "id": "service-front-followup",
      "plugin_id": "aigeo_service",
      "title": "前台继续会话、未解决与转意见反馈",
      "summary": "前台入口plugin.php?id=aigeo_service；sid表示继续一个属于当前用户/游客身份的会话，不能拿别人的sid看历史。",
      "tags": [
        "aigeo_service",
        "index"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-08T20:53:57+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "前台入口plugin.php?id=aigeo_service；sid表示继续一个属于当前用户/游客身份的会话，不能拿别人的sid看历史。",
            "提问后回答可来自FAQ、知识+模型或规则；前台转反馈创建反馈记录并把session.feedback_id关联，后台已转反馈统计据此显示。",
            "统一客服工作台使用 agent=service 和 sid，客服会话仍保存到原客服表，不迁移到模型聊天表。游客暂不进入统一工作台；客服访问模式为login时仍须登录。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "打开客服，先确认登录/游客入口与品牌头像。",
            "发送明确问题，核对回答及引用；继续同一sid提问，检查历史连续。",
            "需要人工时在当前会话提交简明标题/描述；填写具体操作和错误提示，方便管理员定位问题。",
            "跳到反馈详情核对创建记录，再到客服后台已转反馈核对同一会话。",
            "在统一工作台发送后刷新，检查URL保留sid、消息和状态连续；换一个普通账号访问他人sid应拒绝。点击“已解决”“未解决”或“转意见反馈”后刷新并到客服工作台核对状态。"
          ],
          "settings": [
            {
              "name": "问题长度",
              "default": "1000",
              "recommended": "简明提供插件、版本、步骤",
              "reason": "超长会被拒绝",
              "frontend_effect": "发送前校验"
            },
            {
              "name": "提问频率",
              "default": "10/分钟",
              "recommended": "正常逐条问",
              "reason": "超限提示稍后再试",
              "frontend_effect": "前台发送"
            },
            {
              "name": "会话上限",
              "default": "100次用户提问",
              "recommended": "满额新开会话",
              "reason": "统计user消息不是全部消息",
              "frontend_effect": "前台当前会话提示"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "访问受限先查access_mode，不以插件已安装推断游客可用。",
            "访客反馈详情依赖查询凭据，不把凭据放截图。",
            "反馈创建不代表管理员已答复，更不代表业务已执行。"
          ]
        },
        {
          "heading": "常见问题快捷入口与处理状态",
          "steps": [
            "统一客服工作台的常见问题快捷按钮用于提交对应问题，点击后核对实际问句与回答；重复点击时等待本次响应。",
            "先收到回答，再选择“已解决”或“未解决”，核对状态提示；重新进入同一会话和后台会话详情检查状态。",
            "新会话尚未回答时不应直接标记解决；需要人工继续处理时选择提交反馈，核对最终创建结果。"
          ]
        }
      ],
      "url": "/ai/guide/?id=service-front-followup",
      "images": [
        {
          "file": "service-front-followup-20261006.jpg",
          "section": 0,
          "caption": "前台继续会话、未解决与转意见反馈：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "403a139ec8e92990b0e0dbd4ce0c2a544874da652bb5efcb0979ae8f795fe45c"
    },
    {
      "id": "knowledge-editor",
      "plugin_id": "aigeo_knowledge",
      "title": "资料新增、编辑和正文分块重建",
      "summary": "资料管理是正文维护入口；当前编辑界面显示标题、类型、状态、关键词、优先级、摘要、正文及AI/公开开关。业务域、模块、适用版本、来源等当前是隐藏保留字段，不应说在普通编辑页有可见输入框。",
      "tags": [
        "aigeo_knowledge",
        "admin_list"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "资料管理是正文维护入口；当前编辑界面显示标题、类型、状态、关键词、优先级、摘要、正文及AI/公开开关。业务域、模块、适用版本、来源等当前是隐藏保留字段，不应说在普通编辑页有可见输入框。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "资料管理点击新增，标题明确问题范围；类型选doc，先保持草稿。",
            "摘要填解决目标，正文按Markdown标题组织步骤、结果、排错；关键词用用户实际搜索短语。",
            "先保存，再重新打开核对正文；保存会重建该资料全部分块。",
            "审核后在编辑页选已发布，分别设置AI与前台公开，保存；内部AI资料公开保持关闭。"
          ],
          "settings": [
            {
              "name": "类型",
              "default": "doc",
              "recommended": "步骤说明doc；短问答faq；工具说明tool_spec",
              "reason": "让资料类型与内容一致",
              "frontend_effect": "前台类型标签/工具说明分类"
            },
            {
              "name": "状态",
              "default": "draft",
              "recommended": "核对完published",
              "reason": "草稿不会进入常规搜索",
              "frontend_effect": "前台和AI检索"
            },
            {
              "name": "关键词",
              "default": "空",
              "recommended": "菜单管理,模型计费等具体词",
              "reason": "标题命中80分、关键词60、摘要40、正文10，优先级额外小分",
              "frontend_effect": "搜索排序"
            },
            {
              "name": "优先级",
              "default": "normal",
              "recommended": "普通；仅权威常用规则high",
              "reason": "不是全部标high",
              "frontend_effect": "列表/检索排序"
            },
            {
              "name": "AI可调用",
              "default": "1",
              "recommended": "审核内容后决定",
              "reason": "控制AI引用范围",
              "frontend_effect": "客服知识答案"
            },
            {
              "name": "前台公开",
              "default": "0",
              "recommended": "公共教程才开",
              "reason": "公开API/前台要求published+public",
              "frontend_effect": "公开列表和正文"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "列表发布快捷按钮会同时public_access=1，内部资料不能用。",
            "正文为空不应期望命中；分块不是另存一份独立权限资料。",
            "列表筛选关键词/状态/类型，仅影响管理查询。"
          ]
        }
      ],
      "url": "/ai/guide/?id=knowledge-editor",
      "images": [
        {
          "file": "knowledge-editor-20261006.jpg",
          "section": 0,
          "caption": "新增资料：标题、类型、状态、正文与访问权限",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "c3358d21f97f81224fdb8a0ba24d2e7b61b564aff694caddd07db00fc5e50341"
    },
    {
      "id": "knowledge-review-sources-tools",
      "plugin_id": "aigeo_knowledge",
      "title": "待审核、来源统计和工具说明三个入口",
      "summary": "待审核显示draft和pending，最近更新在前，最多50条；点击审核编辑进入资料编辑，不会自动发布。来源是source_domain/source_module/source_type分组数量统计，不是自动同步配置。工具说明列出type=tool_spec资料，编辑仍使用资料管理。",
      "tags": [
        "aigeo_knowledge",
        "admin_review"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-08T20:53:57+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "待审核显示draft和pending，最近更新在前，最多50条；点击审核编辑进入资料编辑，不会自动发布。来源是source_domain/source_module/source_type分组数量统计，不是自动同步配置。工具说明列出type=tool_spec资料，编辑仍使用资料管理。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "待审核找到教程样例，打开审核编辑，逐段核对内容和公开/AI权限再保存发布。",
            "来源统计对照导入来源分组，查看数量是否符合；新增手工资料可能是未填写来源的分组。",
            "工具说明新建资料时选tool_spec，写用途、输入、输出、权限、失败处理；不要写不存在的业务执行能力。",
            "前台搜索工具名称核对公开权限，客服检索核对AI权限。"
          ],
          "settings": [
            {
              "name": "工具说明类型",
              "default": "普通新增doc",
              "recommended": "明确选tool_spec",
              "reason": "工具列表按类型查",
              "frontend_effect": "工具说明页出现该资料"
            },
            {
              "name": "审核后状态",
              "default": "draft/pending",
              "recommended": "核对后published或保留草稿",
              "reason": "审核列表不是审批自动化",
              "frontend_effect": "公开/AI检索可用性"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "待审核没有记录不代表全库为空，已发布不会列在此页。",
            "来源统计不等于文件/接口连通状态。",
            "工具说明只是文档，不会注册可执行客服技能。"
          ]
        },
        {
          "heading": "分类、状态与统计核对",
          "steps": [
            "管理列表分别选择状态和分类，核对筛选值、条数和翻页结果；全部分类汇总与当前筛选结果不同。",
            "新增或变更资料后，核对已发布、停用、待审核等状态统计；停用资料不应进入前台公开搜索。"
          ]
        }
      ],
      "url": "/ai/guide/?id=knowledge-review-sources-tools",
      "images": [
        {
          "file": "knowledge-review-sources-tools-20261006.jpg",
          "section": 0,
          "caption": "待审核、来源统计和工具说明三个入口：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "05036c82ef0d1ca7b1dd54f598c47d96fd894118cd9a16fbf5603479057cb6cd"
    },
    {
      "id": "knowledge-search-log",
      "plugin_id": "aigeo_knowledge",
      "title": "搜索日志：关键词、命中与来源排错",
      "summary": "日志展示最新100条UID、关键词、命中ID、来源与时间。front是公开页搜索；api是公开接口；ai是token AI搜索，客服检索还需结合客服工具日志判断。",
      "tags": [
        "aigeo_knowledge",
        "admin_log"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "日志展示最新100条UID、关键词、命中ID、来源与时间。front是公开页搜索；api是公开接口；ai是token AI搜索，客服检索还需结合客服工具日志判断。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "使用明确的公开教程样例关键词在知识前台搜索。",
            "进入搜索日志找到对应时间、关键词与命中ID，再打开资料核对权限和正文。",
            "故意用不会命中的唯一测试词，确认空命中记录；用于区分没资料与接口没执行。",
            "设置中保持日志启用及适当保留天数，教程不点清空。"
          ],
          "settings": [
            {
              "name": "搜索日志启用",
              "default": "1",
              "recommended": "排错期间启用",
              "reason": "关闭后新请求不记日志",
              "frontend_effect": "后台可观察性"
            },
            {
              "name": "保留天数",
              "default": "90",
              "recommended": "90；有制度再调整",
              "reason": "0不按天数清理",
              "frontend_effect": "旧搜索日志留存"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "列表最新100条不是完整历史；没有出现先看是否开启日志。",
            "清空全部日志不可用于“刷新列表”。",
            "关键词可能含用户私人问题，配图只用教程样例。"
          ]
        }
      ],
      "url": "/ai/guide/?id=knowledge-search-log",
      "images": [
        {
          "file": "knowledge-search-log-20261006.jpg",
          "section": 0,
          "caption": "搜索日志：关键词、命中与来源排错：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "c46fd26b3186a5e98f43e8cab5366a61a20a5f6952e0b922bd451bafbd485253"
    },
    {
      "id": "knowledge-front-detail",
      "plugin_id": "aigeo_knowledge",
      "title": "前台搜索、正文目录和返回客服会话",
      "summary": "前台plugin.php?id=aigeo_knowledge仅查询published+public_access=1；AI开关不控制此公开列表。正文根据分块渲染Markdown，多块才显示目录，点目录定位章节。",
      "tags": [
        "aigeo_knowledge",
        "index"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-08T20:53:57+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "前台plugin.php?id=aigeo_knowledge仅查询published+public_access=1；AI开关不控制此公开列表。正文根据分块渲染Markdown，多块才显示目录，点目录定位章节。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "发布一个公开教程样例，在知识前台搜特定章节关键词。",
            "点结果详情，核对摘要、业务域、类型、更新时间和正文目录；无摘要使用正文截断摘要。",
            "从详情返回保持关键词/页码；从客服带from=service&sid进入时返回客服应带同一会话。",
            "关闭该样例公开权限后再次访问详情应提示不存在或未公开，然后恢复。"
          ],
          "settings": [
            {
              "name": "前台访问",
              "default": "public",
              "recommended": "公共教程public，会员login",
              "reason": "访问开关与单篇权限独立",
              "frontend_effect": "列表和详情入口"
            },
            {
              "name": "每页条数",
              "default": "20",
              "recommended": "20",
              "reason": "10-50，搜索结果分页",
              "frontend_effect": "前台分页"
            },
            {
              "name": "使用模型导航",
              "default": "默认关闭",
              "recommended": "已启用模型统一壳时按需开",
              "reason": "否则独立资料页",
              "frontend_effect": "前台侧栏"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "detail参数是kid/itemid，不把插件id参数替换成资料ID。",
            "停用或未公开详情不应展示正文。",
            "返回客服会话是上下文链接，不意味着知识正文自动作为新消息发送。"
          ]
        },
        {
          "heading": "自然问句与无匹配时继续操作",
          "steps": [
            "先准备与本站业务相关、已发布且公开的资料；分别搜索“如何申请退款”“退款怎么处理”“帖子怎么发”，核对首条资料主题。没有对应资料时，不应为了命中测试而公开内部内容。",
            "检索会提取有限的主题词并按标题、关键词、摘要和正文相关性排序；版本号等通用词不应独占结果。它不是任意问题都能理解的语义问答。",
            "没有结果时，尝试更短、更具体的词；使用“查看全部公开资料”“向亮仔提问”或“提交反馈”继续。打开入口不等于已发送问题或创建反馈。",
            "从客服进入资料时，核对返回链接仍指向同一会话；草稿、停用和私有资料不应因搜索词变化而公开。"
          ]
        }
      ],
      "url": "/ai/guide/?id=knowledge-front-detail",
      "images": [
        {
          "file": "knowledge-front-detail-20261006.jpg",
          "section": 0,
          "caption": "前台搜索、正文目录和返回客服会话：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "a76add61090a3d120d36e29332b040d0a0f2faee5dfc9391b41b1c49b4331b46"
    },
    {
      "id": "engine-dashboard",
      "plugin_id": "aigeo",
      "title": "收录控制台：健康度、URL诊断和规范地址",
      "summary": "健康度综合文件、Schema、OG与计划任务，仅机器可读基础评分，不是搜索引擎收录率。URL诊断读站点样例并GET检测HTTP状态，显示耗时；返回200还需人工核对是否正常正文。",
      "tags": [
        "aigeo",
        "admin_dashboard"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "健康度综合文件、Schema、OG与计划任务，仅机器可读基础评分，不是搜索引擎收录率。URL诊断读站点样例并GET检测HTTP状态，显示耗时；返回200还需人工核对是否正常正文。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "概览查看优先处理项，先修未生成llms/sitemap或缺少robots声明。",
            "URL诊断核对首页、帖子/文章样例及sitemap包含状态；观察HTTP和耗时。",
            "基础设置填写公开HTTPS规范站点地址；改后重新生成llms.txt和sitemap。",
            "站长平台复制站点sitemap地址，到平台完成验证后提交并查看真实抓取索引。"
          ],
          "settings": [
            {
              "name": "规范站点地址",
              "default": "由站点地址取值",
              "recommended": "最终对外HTTPS完整地址",
              "reason": "供多个SEO文件统一URL，迁站尤其重要",
              "frontend_effect": "llms/sitemap/robots/Schema/OG链接"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "URL检测有5秒超时，不能据一次超时认定页面坏。",
            "URL样本中当前域名不一致时重新生成文件。",
            "站长平台外部登录验证独立完成，插件不会自动登录或宣称已收录。"
          ]
        }
      ],
      "url": "/ai/guide/?id=engine-dashboard",
      "images": [
        {
          "file": "engine-dashboard-20261006.jpg",
          "section": 0,
          "caption": "收录控制台：健康度、URL诊断和规范地址：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "7b5e282dd84b07cad2bf2edfd99f475e9601938621eecd2809ffdd788da1a271"
    },
    {
      "id": "engine-llms",
      "plugin_id": "aigeo",
      "title": "llms.txt：站点说明与核心链接",
      "summary": "此教程对应llms.txt：站点说明与核心链接，把后台保存、文件/标签输出和外部抓取结果分开验证。",
      "tags": [
        "aigeo",
        "admin_llms"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "此教程对应llms.txt：站点说明与核心链接，把后台保存、文件/标签输出和外部抓取结果分开验证。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "编辑站点说明和链接后保存生成。",
            "预览核对文件内容和每条链接，实际匿名访问根目录llms.txt。",
            "使用说明阅读格式，迁域名后重新生成。"
          ],
          "settings": [
            {
              "name": "站点标题",
              "default": "站点名",
              "recommended": "真实品牌名",
              "reason": "文件一级标题",
              "frontend_effect": "llms.txt第一行"
            },
            {
              "name": "摘要",
              "default": "SEO描述",
              "recommended": "一两句话讲清业务",
              "reason": "避免空泛定位",
              "frontend_effect": "文件站点摘要"
            },
            {
              "name": "详细说明",
              "default": "自动默认",
              "recommended": "写公开内容范围和特色",
              "reason": "支持Markdown",
              "frontend_effect": "详细说明"
            },
            {
              "name": "核心/可选链接",
              "default": "自动公开样例",
              "recommended": "名称|URL|备注每行一条",
              "reason": "核心高优先，可选可忽略",
              "frontend_effect": "AI可发现入口"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "保存失败先查根目录写权限。",
            "不放管理地址、token、私有内容链接。"
          ]
        }
      ],
      "url": "/ai/guide/?id=engine-llms",
      "images": [
        {
          "file": "engine-llms-20261006.jpg",
          "section": 0,
          "caption": "llms.txt：站点说明与核心链接：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "4856e0f6f29f397da5c1ced154f515a86a4068887ba42a0d56c351bf2ff37c0e"
    },
    {
      "id": "engine-sitemap",
      "plugin_id": "aigeo",
      "title": "Sitemap：生成范围、排除与计划刷新",
      "summary": "此教程对应Sitemap：生成范围、排除与计划刷新，把后台保存、文件/标签输出和外部抓取结果分开验证。",
      "tags": [
        "aigeo",
        "admin_sitemap"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "此教程对应Sitemap：生成范围、排除与计划刷新，把后台保存、文件/标签输出和外部抓取结果分开验证。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "设置范围、上限和排除fid，保存生成。",
            "状态预览核对时间/大小与计划任务状态；实际匿名访问sitemap.xml。",
            "用公开测试帖验证链接存在，排除其fid后再生成应消失，随后恢复原配置。"
          ],
          "settings": [
            {
              "name": "生成内容",
              "default": "当前存值",
              "recommended": "综合站全部生成",
              "reason": "计划任务沿用",
              "frontend_effect": "首页版块帖子文章链接"
            },
            {
              "name": "数量上限",
              "default": "当前存值",
              "recommended": "大站50000",
              "reason": "单文件控制规模",
              "frontend_effect": "sitemap链接数量"
            },
            {
              "name": "排除版块",
              "default": "空",
              "recommended": "无需索引fid英文逗号分隔",
              "reason": "避免不需要发现内容",
              "frontend_effect": "对应帖子从生成范围排除"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "手动成功不证明计划任务正常。",
            "空文件先看公开内容、范围、fid与权限。"
          ]
        }
      ],
      "url": "/ai/guide/?id=engine-sitemap",
      "images": [
        {
          "file": "engine-sitemap-20261006.jpg",
          "section": 0,
          "caption": "Sitemap：生成范围、排除与计划刷新：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "215accb9d79c9f71f64e95b26e6bb8d89edf5dd1fd971b513010b3498c1d4884"
    },
    {
      "id": "engine-robots",
      "plugin_id": "aigeo",
      "title": "robots.txt：编辑抓取声明与Sitemap入口",
      "summary": "此教程对应robots.txt：编辑抓取声明与Sitemap入口，把后台保存、文件/标签输出和外部抓取结果分开验证。",
      "tags": [
        "aigeo",
        "admin_robots"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "此教程对应robots.txt：编辑抓取声明与Sitemap入口，把后台保存、文件/标签输出和外部抓取结果分开验证。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "先复制原内容作为恢复依据，检查已有商城/同城规则。",
            "修改明确需要的User-agent/Disallow，保存。",
            "匿名读取robots.txt核对Sitemap地址及规则，测试后恢复试验规则。"
          ],
          "settings": [
            {
              "name": "robots.txt内容",
              "default": "现有文件/预填",
              "recommended": "保持已有业务规则，补公开Sitemap",
              "reason": "保存补Sitemap声明但不是访问控制",
              "frontend_effect": "根目录robots.txt"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "robots不能保护私密页面，权限仍由站点控制。",
            "不要为测试填Disallow:/使全站抓取禁止。"
          ]
        }
      ],
      "url": "/ai/guide/?id=engine-robots",
      "images": [
        {
          "file": "engine-robots-20261006.jpg",
          "section": 0,
          "caption": "robots.txt：编辑抓取声明与Sitemap入口：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "b1ac6b262006a258a338c05960d0a0a0c6a08802c368d05af867a45548da7c4d"
    },
    {
      "id": "engine-schema",
      "plugin_id": "aigeo",
      "title": "Schema：配置、预览和实际页面JSON-LD",
      "summary": "此教程对应Schema：配置、预览和实际页面JSON-LD，把后台保存、文件/标签输出和外部抓取结果分开验证。",
      "tags": [
        "aigeo",
        "admin_schema"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "此教程对应Schema：配置、预览和实际页面JSON-LD，把后台保存、文件/标签输出和外部抓取结果分开验证。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "填写基本站点信息，默认模板先保存。",
            "效果预览核对JSON格式和字段，再打开真实公开帖子/文章查看源码。",
            "自定义帖子变量只用tid/subject/author/dateline/views/message；文章用aid/title/author/dateline/catname。"
          ],
          "settings": [
            {
              "name": "站点名称/描述",
              "default": "站点名/描述",
              "recommended": "真实品牌与用途",
              "reason": "结构化name/description",
              "frontend_effect": "首页JSON-LD"
            },
            {
              "name": "站点类型",
              "default": "默认类型",
              "recommended": "最符合内容业务类型",
              "reason": "不伪造内容类型",
              "frontend_effect": "Schema @type"
            },
            {
              "name": "首页/帖子/文章模板",
              "default": "预填代码",
              "recommended": "先沿用默认",
              "reason": "占位符适用范围不同",
              "frontend_effect": "对应前台HTML JSON-LD"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "后台预览不等于爬虫已读取。",
            "JSON错误或未替换变量先恢复默认，避免空想字段。"
          ]
        }
      ],
      "url": "/ai/guide/?id=engine-schema",
      "images": [
        {
          "file": "engine-schema-20261006.jpg",
          "section": 0,
          "caption": "Schema：配置、预览和实际页面JSON-LD：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "24f2e4190c136ce18dc46520158677d9f57364f413c5f287bd8ef235d82a82ae"
    },
    {
      "id": "engine-og",
      "plugin_id": "aigeo",
      "title": "OG：公开分享图与页面标签检查",
      "summary": "此教程对应OG：公开分享图与页面标签检查，把后台保存、文件/标签输出和外部抓取结果分开验证。",
      "tags": [
        "aigeo",
        "admin_og"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "此教程对应OG：公开分享图与页面标签检查，把后台保存、文件/标签输出和外部抓取结果分开验证。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "确认图片可匿名访问，再填默认分享图片并开启保存。",
            "查看公开帖子/文章源码的og:title/type/image。",
            "目标社交平台检查预览，缓存未更新与标签缺失分开排查。"
          ],
          "settings": [
            {
              "name": "启用OG",
              "default": "现值",
              "recommended": "需要社交预览开启",
              "reason": "开关输出标签",
              "frontend_effect": "帖子/文章og标签"
            },
            {
              "name": "默认分享图",
              "default": "空/现值",
              "recommended": "公开HTTPS 1200×630图片",
              "reason": "无页面图片时回退",
              "frontend_effect": "分享预览缩略图"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "标签存在不保证平台立即刷新。",
            "后台私有图片URL不适合作默认分享图。"
          ]
        }
      ],
      "url": "/ai/guide/?id=engine-og",
      "images": [
        {
          "file": "engine-og-20261006.jpg",
          "section": 0,
          "caption": "OG：公开分享图与页面标签检查：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "757784abf1d86541d90f1536513ae93c5a6822079e3caa17f52381002bb9b874"
    },
    {
      "id": "engine-access-log",
      "plugin_id": "aigeo",
      "title": "爬虫访问日志、AI UA规则、CSV与清理",
      "summary": "访问日志默认启用但普通用户访问默认不记；保存匿名化IP、路径及User-Agent，不存UID、用户名或URL查询参数。UA识别只是请求自称标识，不证明真实AI爬虫身份或已经索引。",
      "tags": [
        "aigeo",
        "admin_accesslog"
      ],
      "category": "使用教程",
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "页面用途与对应前台",
          "paragraphs": [
            "访问日志默认启用但普通用户访问默认不记；保存匿名化IP、路径及User-Agent，不存UID、用户名或URL查询参数。UA识别只是请求自称标识，不证明真实AI爬虫身份或已经索引。"
          ]
        },
        {
          "heading": "按步骤操作",
          "steps": [
            "访问日志按时间、爬虫和关键词筛选，使用具体页面地址定位访问记录。",
            "AI UA规则每行标签=UA关键词，例如教程样例=TutorialBot，具体规则放上方；保存后用样例UA请求普通公开页面验证分类。",
            "导出面板按同样范围导出CSV，核对表头与行数；不公开真实IP/UA全量文件。",
            "清理设置选择保留天数并核对计划任务，不演示删除真实历史。"
          ],
          "settings": [
            {
              "name": "启用访问日志",
              "default": "1",
              "recommended": "开启",
              "reason": "关闭后common嵌入点不写记录",
              "frontend_effect": "后台访问统计"
            },
            {
              "name": "记录普通用户",
              "default": "0",
              "recommended": "保持关闭，专项诊断再短期开启",
              "reason": "减少不必要人类访问存储",
              "frontend_effect": "访问日志范围"
            },
            {
              "name": "保留天数",
              "default": "30",
              "recommended": "30，月度比对可90",
              "reason": "允许30/90/180/365/730",
              "frontend_effect": "定时清除过期记录"
            },
            {
              "name": "AI UA规则",
              "default": "内置+自定义",
              "recommended": "明确标签=独特关键词",
              "reason": "按从上往下匹配",
              "frontend_effect": "AI：标签分类"
            }
          ]
        },
        {
          "heading": "异常与结果检查",
          "items": [
            "普通浏览器请求无日志可能是默认log_human=0，不是坏了。",
            "清理会真实删除超期数据。",
            "统计增长不代表搜索引擎收录增长。"
          ]
        }
      ],
      "url": "/ai/guide/?id=engine-access-log",
      "images": [
        {
          "file": "engine-access-log-20261006.jpg",
          "section": 0,
          "caption": "爬虫访问日志、AI UA规则、CSV与清理：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "092c0dc1731bca57e44de4fa485847e46f1b21781baa21a09572015a17292830"
    },
    {
      "id": "accounts-add-methods",
      "plugin_id": "aigeo_accounts",
      "title": "添加账号专题：已有UID、用户组导入与批量创建",
      "summary": "分别按三种方法读输入、结果与失败边界，避免把导入账号当注册新用户。",
      "category": "使用教程",
      "tags": [
        "页面专题",
        "操作细节",
        "aigeo_accounts"
      ],
      "sections": [
        {
          "heading": "已有UID导入",
          "steps": [
            "先从网站用户管理找到一个可用普通用户UID，在添加账号选择导入已有账号；输入UID支持逗号、空格或换行，备注“教程示例：运营账号”。",
            "提交后读成功/跳过/失败及错误，不只看“完成”；搜索该UID确认加入池。重复导入可能跳过，不应把跳过视为新增重复账号。"
          ]
        },
        {
          "heading": "按用户组导入",
          "items": [
            "用户组必须选真实目标组；默认最多500，范围1～5000，按UID升序选最多这一数量，不是按最近活跃或随机选。建议首次5，确认正确再扩大。",
            "这只导入已存在的网站用户；冻结成员被跳过，不会新注册用户，也不会持续自动跟踪以后新加入该组的所有用户。"
          ]
        },
        {
          "heading": "批量创建的字段与影响",
          "items": [
            "前缀默认AI用户，后缀加入日期和随机数形成唯一名称；数量界面默认5、允许1～100，建议首次1。",
            "用户组0使用网站默认新用户组；建议普通测试组，不给管理员/敏感业务组。",
            "密码留空生成12位随机字符串，本批次共用；成功提示可能显示密码，请妥善保存；分享操作截图时遮盖密码。",
            "通过UCenter注册并在Discuz成员表建立真实网站用户，邮箱生成virtual.local示例地址，不是用户真实收件邮箱。",
            "移出账号池不会撤销UCenter用户创建；因此首次少量创建，清理时要区分池记录与真实网站用户。"
          ]
        },
        {
          "heading": "添加后检查与排错",
          "steps": [
            "测试已有UID导入一条、重复同UID一次、一个不存在UID一次，分别核对成功/跳过/错误。",
            "按测试组限额1导入，确认不跨组；批量创建1个明确示例，记录UID而不公开密码。",
            "UCenter函数未加载或注册失败先看返回错误，不用重复增加数量。",
            "创建结束查看账号列表来源“批量创建”，前台用户空间存在；不立即开启自动任务。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=accounts-add-methods",
      "images": [
        {
          "file": "accounts-add-methods-20261006.jpg",
          "section": 0,
          "caption": "添加账号专题：已有UID、用户组导入与批量创建：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "98697901761b0f32ddbec160a74d3e9faec98cf9b305dc20049ba4b5c6588291"
    },
    {
      "id": "accounts-usage-records",
      "plugin_id": "aigeo_accounts",
      "title": "账号使用记录：分配次数、合并计数与日限额核对",
      "summary": "使用记录是被分配的次数，不是成功发帖/回帖统计。",
      "category": "使用教程",
      "tags": [
        "页面专题",
        "操作细节",
        "aigeo_accounts"
      ],
      "sections": [
        {
          "heading": "页面口径",
          "items": [
            "显示最近50条使用记录，按最近使用时间排序；同账号、同自然日、同用途合并计数，不能当作50条独立业务执行日志。",
            "用途autopost/autoreply区别发帖/回帖，日期是使用统计日期，累计次数由分配记录增加。",
            "账号被选择时就记录使用；后来模型失败或论坛写入失败仍可能已有使用记录。成功内容数量应到发帖/回帖列表核对。",
            "已移出池时用户名可能显示“已移出账号”，UID仍可帮助追踪历史，不意味着真实网站用户删除。"
          ]
        },
        {
          "heading": "推荐核对步骤",
          "steps": [
            "记录测试账号当前日期/用途次数和日限额，例如限额2。",
            "完成一条受控任务，核对对应用途计数、内容列表和前台作者；若失败，查任务日志，避免把使用次数误称成功发布数。",
            "同一天另一用途也占账号当日日限额：候选池统计该账号所有使用场景，不仅当前任务。",
            "测试结束恢复日限额和账号状态；不通过修改历史使用表来绕过限额。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=accounts-usage-records",
      "images": [
        {
          "file": "accounts-usage-records-20261006.jpg",
          "section": 0,
          "caption": "账号使用记录：分配次数、合并计数与日限额核对：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "edadcce110223fdddaf736cdbde49cc611f82557b8543440cdd5b7f6d8f519fc"
    },
    {
      "id": "moderation-results-review",
      "plugin_id": "aigeo_moderation",
      "title": "审核结果人工处理：待复核、待处理、已处理与隐藏",
      "summary": "标记处理状态和隐藏论坛帖子是两个不同动作。",
      "category": "使用教程",
      "tags": [
        "页面专题",
        "操作细节",
        "aigeo_moderation"
      ],
      "sections": [
        {
          "heading": "筛选和统计",
          "items": [
            "全部、正常、高风险、待复核、待处理、已处理基于当前帖子审核状态表，不是历史执行次数。",
            "待复核：risk_level=2或建议review；待处理：状态0/1且风险≥2或建议review/hide；高风险risk_level=3。分类可能交叉，不可把各卡数直接相加当总量。",
            "关键词支持标题、作者及数字PID/TID。列表最多80条，按风险等级与更新时间排序，没有在这一列表通过无限分页浏览所有历史。推荐精确PID定位。"
          ]
        },
        {
          "heading": "三个动作准确作用",
          "items": [
            "“待处理”只将审核记录action_status设1；不直接改变论坛帖子可见性。",
            "“已处理”只将记录action_status设2并记录时间；不删除、不隐藏、不恢复论坛帖子。应先实际人工审核再标记。",
            "“隐藏帖子”将对应回复invisible=-2；如果是首帖同时主题displayorder=-2，并标记已处理和hide建议。高风险未处理记录才展示相应操作。",
            "隐藏后恢复应走论坛原生审核/恢复流程，本页没有“恢复显示”专用按钮；标记已处理不是恢复按钮。"
          ]
        },
        {
          "heading": "推荐工作流及测试计划",
          "steps": [
            "先打开原帖，读上下文、分类、分数、理由；疑似项标待处理供复核，不盲目隐藏。",
            "完成人工判断后再标已处理；确认需隐藏的示例用隐藏动作，并用非管理用户前台核对可见性。",
            "“标记已处理”只更新管理状态，不会隐藏帖子；需要隐藏时应另行选择隐藏操作。",
            "处理后打开对应帖子，确认实际可见性与审核措施一致。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=moderation-results-review",
      "images": [
        {
          "file": "moderation-results-review-20261006.jpg",
          "section": 0,
          "caption": "审核结果人工处理：待复核、待处理、已处理与隐藏：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "c9c38e8e9cef3159d67499821b0574955dac538168df838681ef88e646acf29a"
    },
    {
      "id": "moderation-execution-log",
      "plugin_id": "aigeo_moderation",
      "title": "审核执行日志：模型依赖、状态筛选与错误追踪",
      "summary": "这里查真实任务执行历史，区别审核结果表的当前状态。",
      "category": "使用教程",
      "tags": [
        "页面专题",
        "操作细节",
        "aigeo_moderation"
      ],
      "sections": [
        {
          "heading": "日志来源与字段",
          "items": [
            "依赖启用的模型广场及TaskLogRepository；日志不可用提示是依赖缺失/未启用或仓储不可用，不应解读为全部审核成功。",
            "只查询aigeo_post_moderation任务；状态0待处理、1处理中、2完成、3失败、4跳过、5取消、6部分成功，每页20条。",
            "记录任务ID、PID/TID/FID、风险结果与类别/分数、原因或错误、实际模型、重试次数/上限、耗时、创建/完成时间。",
            "关键词用于帖子标题、PID、任务ID或错误信息，统计状态数量与关键词关联。推荐先用具体任务ID/PID，避免一屏不同帖子混淆。"
          ]
        },
        {
          "heading": "排错与测试步骤",
          "steps": [
            "从审核结果找到目标帖子 PID，进入执行日志搜索PID，记录任务ID。",
            "已完成但原帖未隐藏，先查处理建议与自动执行开关；有review/none说明没有该自动隐藏条件，不是任务失败。",
            "最终失败先查模型错误与重试，修正配置后在任务中心进行受控单次执行；不要在日志页反复刷新当作重试。",
            "将同PID当前结果与历史任务对照：历史低风险、最新高风险可能因正文更新/复扫，记录具体时间而不是判断数据不一致。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=moderation-execution-log",
      "images": [
        {
          "file": "moderation-execution-log-20261006.jpg",
          "section": 0,
          "caption": "审核执行日志：模型依赖、状态筛选与错误追踪：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "beeba5df4f0c53627ee607daa54a51ee0380fcd5ca88a041f24efc984a7368a8"
    },
    {
      "id": "sign-frontend-calendar",
      "plugin_id": "aigeo_sign",
      "title": "签到前台专题：今日按钮、月历、排名与重复签到",
      "summary": "用户从登录到领取、查看日历、核对后台渠道的完整步骤。",
      "category": "使用教程",
      "tags": [
        "页面专题",
        "操作细节",
        "aigeo_sign"
      ],
      "sections": [
        {
          "heading": "页面与设置对应",
          "items": [
            "前台入口plugin.php?id=aigeo_sign%3Acheckin，未登录先进入正常登录。后台副标题、Logo、签到说明对应页头和提示区。",
            "当前连续/历史最长连续/累计签到/累计积分取个人签到记录，今日排名和全站人数取当天签到顺序，不按奖励金额排序。",
            "月历切换月份读取当前登录用户该月记录，显示各日奖励；只是查看，不补签、不回写日期。",
            "今日成功后按钮变已签到，显示今日奖励和排名；重复签到返回当天已有记录，不再获得第二笔奖励。网页渠道1、AI对话渠道0共享同一每日限制。"
          ]
        },
        {
          "heading": "推荐用户操作与测试计划",
          "steps": [
            "用普通测试账号记录所选积分余额及当前连续天数，打开签到页，确认日期和按钮状态。",
            "点击签到一次，核对提示奖励、按钮变更、日历今日标记和奖励；刷新后状态应保持已签到。",
            "再次点击可用入口或从AI签到，余额不应再增加，后台该UID当天应只有一条日志。",
            "点击前后月份只查看个人记录，无签到日期/积分改变；再回本月今日高亮。",
            "后台记录页按UID和今日日期查询，核对channel1、reward及连续天数；正文奖励公式详见原签到入门教程。"
          ]
        },
        {
          "heading": "失败排查",
          "items": [
            "登录过期/安全验证失败：重新正常登录并刷新页面获取有效状态，不反复提交过期formhash。",
            "前台奖励与预期不符：查当天已有记录及当时配置，修改奖励不会重算已经领过的当天积分。",
            "排名靠后不是积分少；总积分卡是签到累计，不代表当前钱包余额（用户可能消费过）。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=sign-frontend-calendar",
      "images": [
        {
          "file": "sign-frontend-calendar-20261006.jpg",
          "section": 0,
          "caption": "签到前台专题：今日按钮、月历、排名与重复签到：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "5e330ebbaf19f786f9b99b0b57e7407d5c4ae5c53e4b9d02ebfcc6f9c8a9f8ff"
    },
    {
      "id": "sign-reports-export",
      "plugin_id": "aigeo_sign",
      "title": "签到报表与CSV导出：月内最长连续和历史最长连续",
      "summary": "明确日期包含范围、月度/历史统计与导出全部匹配记录。",
      "category": "使用教程",
      "tags": [
        "页面专题",
        "操作细节",
        "aigeo_sign"
      ],
      "sections": [
        {
          "heading": "筛选项与建议",
          "items": [
            "概览月份默认当前月；记录日期默认本月1日至今天，开始晚于结束会自动交换，结束日纳入筛选（内部用次日排除边界）。",
            "UID精确、用户名模糊、渠道0AI对话/1签到页面；建议首次仅一个测试UID，不把全站真实用户明细导出用于教程。",
            "用户报表有month和total两种模式：月签到天数/奖励/该月内最长连续与历史总天数/历史最长连续/历史累计奖励不是同一个口径。",
            "月内最长连续仅按月份内日期连续段计算，跨月连续即使前台仍长连，本月报表也从本月范围计算；切换月份不改个人连续历史。",
            "记录和用户列表每页30；CSV导出获取当前筛选全部匹配行，不仅当前页。导出需要当前formhash，不应分享含凭据的导出地址。"
          ]
        },
        {
          "heading": "CSV列与核对",
          "items": [
            "日志导出：记录ID、UID、用户名、日期/时间、连续天数、奖励、积分类型、渠道。",
            "月用户导出：月天数、月积分、月内最长连续、月首末签到；历史用户导出：历史天数/最长连续/累计积分及首末时间。",
            "UTF-8带BOM，Excel通常可直接识别；可能以公式开头的用户字段经过CSV安全处理，不把公式逃逸看成姓名乱码。",
            "积分类型列按当前配置标签填入；若过去改过奖励积分类型，历史日志并未保存每笔类型，不能靠当前标签证明旧奖励所属钱包。"
          ]
        },
        {
          "heading": "操作后检查",
          "steps": [
            "对一个目标用户 UID分别查当月日志、月用户、历史用户，记录行数及奖励合计。",
            "导出三类CSV，在本地表格核对列名、全部匹配行数和金额；导出文件包含用户信息，请仅提供给有权限的人员。",
            "设一个没有记录的日期范围，列表及导出仅表头/无匹配行，应不是接口失败。",
            "保留清楚标记的样例即可；导出行为不增加签到或奖励。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=sign-reports-export",
      "images": [
        {
          "file": "sign-reports-export-20261006.jpg",
          "section": 0,
          "caption": "签到报表与CSV导出：月内最长连续和历史最长连续：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "631c8b89726a8b731ba8b17df4ae43a6563c8d1556fd642ecae3e708b018a0a1"
    },
    {
      "id": "tools-menu-regions-details",
      "plugin_id": "aigeo_tools",
      "title": "工具插件菜单管理：个人收藏与X5两种区域",
      "summary": "保留原工具菜单能力，并与亮仔工作台菜单管理区分。",
      "category": "使用教程",
      "tags": [
        "页面专题",
        "操作细节",
        "aigeo_tools"
      ],
      "sections": [
        {
          "heading": "三个区域分别影响哪里",
          "items": [
            "个人收藏配置具体功能模块、标题与排序，适合常用客服/模型管理入口。",
            "X5经典侧边栏配置插件入口、自定义名称与顺序。",
            "X5新平台区域另有勾选、名称和顺序，两个区域可以不同配置。",
            "缺少X5菜单API的X3.x核心隐藏两种X5区域，但个人收藏仍可用；不是页面丢失导致无法管理。",
            "这里影响Discuz后台，不影响亮仔工作台自己的图标/别名顺序；工作台菜单到工作台菜单管理设置。"
          ]
        },
        {
          "heading": "建议填写及保存",
          "steps": [
            "只选择经常使用的模块，标签写业务名称如“客服FAQ”，不要用无辨识度的短缩写。",
            "排序建议10、20、30，数字小的在前，相同按原选择序列；预留数字间隔方便插入。",
            "只改一个需要调整的菜单标题和序号，保存后刷新对应区域核对；该插件必须启用，否则行禁用。",
            "在X5分别核对经典与平台区域，在X3.x确认个人收藏可用且不出现不可用X5区域；最后恢复示例标题顺序。"
          ]
        },
        {
          "heading": "原引导入口边界",
          "paragraphs": [
            "console_guide原工具页引导的是aigeo_admin独立后台，未安装/未启用时提示安装该插件；不会自动指向ailiangzai_admin。教程应明确入口实际名称，别把两个后台混成一个已安装工作台。"
          ]
        }
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "url": "/ai/guide/?id=tools-menu-regions-details",
      "images": [
        {
          "file": "tools-menu-regions-details-20261006.jpg",
          "section": 0,
          "caption": "工具插件菜单管理：个人收藏与X5两种区域：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "7a3fb682d1a497bedd0b00750c9aab8783cc7b62e9bcf69eb33daa3b39bbcfe4"
    },
    {
      "id": "workspace-login",
      "plugin_id": "ailiangzai_admin",
      "title": "登录、退出与安全问题：进入工作台的完整流程",
      "summary": "区分首次登录和已登录站点后的管理员验证，说明权限、返回入口及登录失败处理。",
      "category": "使用教程",
      "tags": [
        "工作台",
        "页面专题"
      ],
      "updated_at": "2026-10-06T23:51:03+08:00",
      "sections": [
        {
          "heading": "首次进入和再次验证",
          "steps": [
            "打开 plugin.php?id=ailiangzai_admin。未登录站点时填写管理员帐号和密码；已登录站点时显示当前帐号，仅需管理员密码。",
            "帐号没有安全问题时保持“无安全问题”；启用了安全提问则展开并选择真实问题、填写答案。不要把无安全问题当作绕过验证的方法。",
            "点“进入工作台”，预期进入工作台或原 basic_route 页面。先确认右上角当前帐号，再开始管理。登录论坛不等于已完成后台验证。"
          ]
        },
        {
          "heading": "退出与权限失败",
          "steps": [
            "右上角点退出，后台验证状态退出并返回工作台登录页。登录后可再次使用；此处是管理中心退出，不承诺注销全站论坛帐号。",
            "当前帐号不是管理员时不能通过输入普通帐号密码获得管理权限；用户与数据功能还要求创始人权限。",
            "密码错误时在登录页纠正；连续失败遵循 Discuz 管理中心的限制，勿反复试错。启用扫码专用登录的站点按页面入口前往原生管理中心。"
          ]
        },
        {
          "heading": "进入工作台与论坛主导航",
          "paragraphs": [
            "1.0.2 起不再自动在 Discuz 论坛主导航添加工作台菜单。启用插件后，直接访问 plugin.php?id=ailiangzai_admin；也可从原生插件管理的“进入工作台”打开。入口自身仍执行管理员验证。已有版本生成的导航记录需在 Discuz 导航设置中隐藏或移除；修改 XML 不会自动删除站长现有菜单。"
          ],
          "steps": [],
          "settings": []
        }
      ],
      "url": "/ai/guide/?id=workspace-login",
      "images": [
        {
          "file": "workspace-login-20261006.jpg",
          "section": 0,
          "caption": "工作台登录：确认帐号、填写密码并进入工作台",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "d298bd002c6a3edaa06475c813df71ea4d5389cfe84b15d12081956992d19936"
    },
    {
      "id": "workspace-users-create",
      "plugin_id": "ailiangzai_admin",
      "title": "用户管理：搜索、添加用户与重复帐号提示",
      "summary": "从列表查询到创建普通用户，逐项说明输入要求、用户组及失败后的处理。",
      "category": "使用教程",
      "tags": [
        "工作台",
        "页面专题"
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "先搜索，避免建重复帐号",
          "steps": [
            "工作台→用户管理。在搜索框输入 UID、用户名或邮箱，点查询。数字同时匹配 UID 和包含该数字的用户名/邮箱，其他文本按包含匹配。",
            "点重置回完整列表；每页20条，列表显示UID、用户组、总积分、状态、最近访问、注册时间。状态只是展示，本页没有冻结/解冻按钮。"
          ]
        },
        {
          "heading": "填写添加用户弹窗",
          "steps": [
            "点添加用户。用户名3–15字符，先用明确的普通示例名；不要用admin或站点保留名称。",
            "填合法邮箱，两次填写同一8–64字符密码。推荐独立强密码；教程示例邮箱不能用于实际收信。",
            "用户组优先选择站点普通新用户组，如新手上路；这里只允许普通 member 组，不能创建管理员组帐号。",
            "提交前核对邮箱和用户组，点创建用户。成功在当前列表查询新用户名和UID；帐号由UCenter注册并写Discuz本地成员资料，初始积分遵循站点设置。",
            "失败在当前弹窗查看具体提示并纠正；用户名重复、邮箱限制、UCenter失败、两次密码不一致分别处理，不要重复点提交。失败后密码不回填，需要重新填写。"
          ]
        }
      ],
      "url": "/ai/guide/?id=workspace-users-create",
      "images": [
        {
          "file": "workspace-users-list-20261006.jpg",
          "section": 0,
          "caption": "用户列表：查询、添加与管理入口",
          "captured_at": "2026-10-06"
        },
        {
          "file": "workspace-users-add-20261006.jpg",
          "section": 1,
          "caption": "添加用户：填写账号信息与用户组",
          "captured_at": "2026-10-06"
        },
        {
          "file": "workspace-users-error-20261006.jpg",
          "section": 1,
          "caption": "用户名已存在：在添加窗口中查看并纠正提示",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "9ad4e19a7b8f2d2f69e2df07177c4b56d62f6ccc0c3f79f1dfa1943c1bdc2b89"
    },
    {
      "id": "workspace-users-credit-password",
      "plugin_id": "ailiangzai_admin",
      "title": "管理单个用户：调整积分、修改密码及审计核对",
      "summary": "在管理弹窗内完成账号操作，区分总积分、扩展积分和真实UCenter密码变更。",
      "category": "使用教程",
      "tags": [
        "工作台",
        "页面专题"
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "定位帐号与详情",
          "steps": [
            "按UID搜索，点该行管理，先核对用户名、邮箱、用户组、余额和状态，避免同名或错误行。",
            "管理弹窗有调整积分和修改密码两张独立表单；列表是总积分，选择框显示各 extcredits 实际余额，二者不是同一数值。详情页还显示注册和最近IP，手工建号可能显示Manual Acting。"
          ]
        },
        {
          "heading": "调整积分：推荐小额验证",
          "steps": [
            "选择要调整的积分类型，确认目标用户、增减方向和数量，再提交。调整后重新查看用户余额。",
            "增减值正数增加、负数减少，0不允许；范围绝对值不超过10亿。这里是增减量，不是目标余额，例如当前10填2变12，填-2变8。",
            "填写具体原因至少2字符，如“教程示例：补发1点”，勾确认执行，再点确认调整积分。",
            "保存后重新打开管理弹窗核对原余额+增减值；到积分日志按UID查询，同时到变更操作日志核对管理员、动作和前后值。前台积分页面或AI扣费可用余额取决于该插件选择的积分类型。"
          ]
        },
        {
          "heading": "修改密码：与积分调整分开提交",
          "steps": [
            "只有确认需要重置该用户密码时才填写；两次输入同一8–64字符新密码，填写原因并勾确认强制修改。",
            "点强制修改密码，预期提示用户密码已修改；通过Discuz/UCenter原生接口执行。受保护用户可能拒绝强制变更，不要通过数据库绕过。",
            "请用户重新登录确认新密码可用；操作审计不保存明文密码。"
          ]
        }
      ],
      "url": "/ai/guide/?id=workspace-users-credit-password",
      "images": [
        {
          "file": "workspace-users-password-20261006.jpg",
          "section": 0,
          "caption": "用户管理：账号资料与操作入口",
          "captured_at": "2026-10-06"
        },
        {
          "file": "workspace-users-credit-20261006.jpg",
          "section": 1,
          "caption": "用户积分调整界面",
          "captured_at": "2026-10-06"
        },
        {
          "file": "workspace-users-password-page-20261006.jpg",
          "section": 2,
          "caption": "修改用户密码界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "cf4efbec8ceabd500bd66e533be975b18998b8c1e57e3d0734f63a75d11e0e06"
    },
    {
      "id": "workspace-data-backups",
      "plugin_id": "ailiangzai_admin",
      "title": "导出、自动备份与清理：数据治理逐步核对",
      "summary": "从用户列表进入数据集工具，辨别CSV导出、备份文件、保留策略与任务记录。",
      "category": "使用教程",
      "tags": [
        "工作台",
        "页面专题"
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "导出与立即备份",
          "steps": [
            "用户管理工具栏选择导出CSV或立即备份，进入数据治理对应数据集操作页。先看数据集名称和能力，确认是用户数据，而不是所有表。",
            "按页面确认提交后读取下载结果、记录数和任务状态。导出和备份生成文件，不会自动还原数据库；CSV也不等于完整站点或UCenter备份。",
            "备份历史查看数据集、用途、格式、记录数、大小和SHA256，下载后点校验核对。删除备份是删备份记录/文件，不是删用户。"
          ]
        },
        {
          "heading": "自动备份和保留清理",
          "steps": [
            "首次保持未启用，先手工确认一份备份可下载和校验，再按数据集启用自动备份并选择合理周期。定时任务必须实际启用，保存计划不等于已经运行。",
            "只对中央白名单中支持保留/清理的数据集设置保留策略；用户members没有自动清理能力，不应根据页面能力标签推断全表可删。",
            "清理前先备份并核对范围；教程不执行真实删除。到数据任务记录查询数据集、任务、状态、影响行数和错误信息，success且影响行数0可能只是没有匹配旧数据。"
          ]
        },
        {
          "heading": "操作审计和任务记录的不同用途",
          "steps": [
            "变更操作日志追踪谁、何时、在哪个路由执行什么，成功或失败以及摘要；数据任务记录追踪导出/备份/清理调度的结果。",
            "创建用户失败时，在变更操作日志中查找 create_user 记录，查看失败原因；有失败记录不代表用户已创建。"
          ]
        }
      ],
      "url": "/ai/guide/?id=workspace-data-backups",
      "images": [
        {
          "file": "workspace-data-20261006.jpg",
          "section": 0,
          "caption": "导出、自动备份与清理：数据治理逐步核对：操作界面",
          "captured_at": "2026-10-06"
        },
        {
          "file": "workspace-backups-20261006.jpg",
          "section": 1,
          "caption": "导出、自动备份与清理：数据治理逐步核对：操作界面",
          "captured_at": "2026-10-06"
        },
        {
          "file": "workspace-audit-20261006.jpg",
          "section": 2,
          "caption": "导出、自动备份与清理：数据治理逐步核对：操作界面",
          "captured_at": "2026-10-06"
        },
        {
          "file": "workspace-jobs-20261006.jpg",
          "section": 2,
          "caption": "导出、自动备份与清理：数据治理逐步核对：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "f0638fd836a332ef5bfbc999f3714f69c23954c1e1ec677620dc9eb19e446f29"
    },
    {
      "id": "workspace-credit-types-logs",
      "plugin_id": "ailiangzai_admin",
      "title": "积分类型与日志：选对扣费积分，再查一次增减",
      "summary": "理解8个扩展积分槽位及名称、单位、兑换比率的影响，按UID追查实际流水。",
      "category": "使用教程",
      "tags": [
        "工作台",
        "页面专题"
      ],
      "updated_at": "2026-10-06T13:14:51+08:00",
      "sections": [
        {
          "heading": "积分类型设置",
          "steps": [
            "工作台→积分类型。每个extcredits槽位固定编号1–8，先记录当前已启用名称、单位和比率，不要因名称相似而换槽位。",
            "推荐保留站点已有积分类型，AI试运行选择低风险测试积分。启用时必须有名称；名称和单位影响界面显示，不会自动给用户发积分。",
            "兑换比率用于Discuz的兑换基础配置，不是模型token费用单价。AI扣费类型和价格仍在模型广场常用设置；不要把这里的比率当人民币汇率。",
            "仅在明确要变更时保存；本页保留showinthread、exchangein/out等高级原字段，不等于提供完整论坛积分策略编辑。"
          ]
        },
        {
          "heading": "按UID核对日志",
          "steps": [
            "工作台→积分日志，填写用户UID与关键词，点查询。核对Log ID、操作码、积分变更、标题、原因、关联ID和时间。",
            "例如同一用户一条“金钱+2”不能证明“威望”也变化；回用户管理选择同一积分类型核对余额。",
            "删除日志只改变日志留存，不会撤销扣费或补发积分。推荐先导出/备份，不把删除日志当退款。"
          ]
        }
      ],
      "url": "/ai/guide/?id=workspace-credit-types-logs",
      "images": [
        {
          "file": "workspace-credits-20261006.jpg",
          "section": 0,
          "caption": "积分类型与日志：选对扣费积分，再查一次增减：操作界面",
          "captured_at": "2026-10-06"
        },
        {
          "file": "workspace-credit-logs-20261006.jpg",
          "section": 1,
          "caption": "积分类型与日志：选对扣费积分，再查一次增减：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "b96563d1128fc9ef100c5b59f443d8394f69a08574db5241e8bd249d09286f2b"
    },
    {
      "id": "workspace-messages-manage",
      "plugin_id": "ailiangzai_admin",
      "title": "消息管理：通知、群发与私人会话",
      "summary": "工作台分别管理个人通知、管理员群发和 Discuz 私人会话；私聊可在弹窗中查看与回复。",
      "category": "使用教程",
      "tags": [
        "工作台",
        "页面专题"
      ],
      "updated_at": "2026-10-09T14:06:31+08:00",
      "sections": [
        {
          "heading": "先区分通知和私人消息",
          "steps": [
            "点击工作台右上角消息图标进入消息管理。我的未读和我的全部只处理当前管理员的通知与群发接收记录。",
            "私人消息在“我的私信”范围中单独显示，不会作为通知列入“用户通知”或全部通知列表。收到私信后切换到我的私信查看会话。",
            "全站管理用于查看所有用户通知和管理员群发记录；仅打开全站列表不会替其他用户标记已读。"
          ],
          "items": [
            "工作台角标对应当前管理员的未读通知，不代表私人会话列表。",
            "查看私人会话后，私信未读状态按 Discuz 原生会话状态同步。"
          ]
        },
        {
          "heading": "查看和回复私人会话",
          "steps": [
            "进入“我的私信”，在会话列表中确认对方与最近消息，再点击“查看与回复”。",
            "在弹窗中查看双方完整对话，在“回复对方”输入内容并点击“发送回复”。",
            "服务器确认发送成功后，新回复立即显示在当前弹窗；发送失败会保留草稿并显示错误。",
            "需要核对原生兼容性时，可在 Discuz 私人消息页面查看同一会话。亮仔AI只展示和回复原生私人消息，不另建一份聊天记录。"
          ]
        },
        {
          "heading": "发送与删除通知的边界",
          "steps": [
            "全站管理 → 发送消息。先向自己的 UID 发送一条确认效果，再选择多个收件人；UID 用逗号、空格或分号分隔，只允许正整数，单次最多 500。",
            "填写明确标题和正文，勿包含密码或密钥；发送后分别核对管理记录、目标用户收到的通知和角标。",
            "用户通知和管理员群发使用各自的数据集；删除通知不等于撤回私人消息。操作前先确认数据范围。"
          ]
        }
      ],
      "url": "/ai/guide/?id=workspace-messages-manage",
      "images": [
        {
          "file": "workspace-messages-20261006.jpg",
          "section": 0,
          "caption": "消息管理：个人未读、全站通知与发送消息：操作界面",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "834faa04c31b79c4ac2d898cef62aff26025c60e0189104ecf41cc336961a458"
    },
    {
      "id": "workspace-admin-navigation",
      "plugin_id": "ailiangzai_admin",
      "title": "在工作台内管理插件：列表、子页与返回路径",
      "summary": "说明工作台内嵌管理页面、最多 8 个标签的自动替换规则与未保存内容保护。",
      "category": "使用教程",
      "tags": [
        "工作台",
        "页面专题"
      ],
      "updated_at": "2026-10-16T11:42:21+08:00",
      "sections": [
        {
          "heading": "从工作台进入并操作",
          "steps": [
            "打开亮仔AI工作台，左侧选择马甲管理→账号管理。添加账号、测试身份、使用记录是当前页栏目切换，外层应保持 plugin.php?id=ailiangzai_admin。",
            "先选择少量账号导入，提交后仍应显示工作台左侧菜单和顶栏；测试身份切换会影响同站其他标签，切换前保存正在编辑的内容。",
            "智能客服→客服工作台→示例会话查看。详情和返回工作台应留在内嵌区域，内层 admin.php 存在是正常实现，不代表外层已经离开工作台。"
          ]
        },
        {
          "heading": "页面容量、历史与未保存输入",
          "steps": [
            "同时打开的管理页面最多 8 个；打开第 9 个时会自动关闭最早打开的页面，新页面显示在标签栏右侧，标签栏会滚到最右侧。",
            "如果最早页面有尚未保存的输入，系统会弹窗询问。确认后继续打开新页面；取消会保留原页面，也不会打开新页面。",
            "在内嵌页面进入详情或筛选后，再切换其它标签并返回；使用浏览器前进、后退时检查对应页面与外层 URL。刷新不承诺恢复尚未保存的表单。"
          ]
        }
      ],
      "url": "/ai/guide/?id=workspace-admin-navigation",
      "images": [
        {
          "file": "accounts-add-methods-20261006.jpg",
          "section": 0,
          "caption": "在工作台内管理插件：列表、子页与返回路径：操作界面",
          "captured_at": "2026-10-06"
        },
        {
          "file": "accounts-usage-records-20261006.jpg",
          "section": 0,
          "caption": "在工作台内管理插件：列表、子页与返回路径：操作界面",
          "captured_at": "2026-10-06"
        },
        {
          "file": "service-sessions-detail-20261006.jpg",
          "section": 0,
          "caption": "客服会话详情与返回入口",
          "captured_at": "2026-10-06"
        }
      ],
      "content_hash": "6797b84648de85dfbe799b4fca2ffb14aa57ec17aa7b3f8898f7707b05601403"
    },
    {
      "id": "service-unified-workspace",
      "plugin_id": "aigeo_service",
      "title": "统一客服工作台：升级默认开启、用户入口与关闭回退",
      "summary": "访问权限设为公开时，登录用户和游客都进入统一客服工作台；设为仅登录时，游客转到 AI 登录页。",
      "category": "使用教程",
      "tags": [
        "客服更新",
        "前后台对应"
      ],
      "updated_at": "2026-10-16T11:42:21+08:00",
      "url": "/ai/guide/?id=service-unified-workspace",
      "sections": [
        {
          "heading": "升级与依赖检查",
          "paragraphs": [
            "从 plugin.php?id=ailiangzai_admin 进入独立后台，选择智能客服及对应功能；这些页面复用原 Discuz 插件管理程序，菜单迁移不改变权限、设置或数据。原 Discuz 插件后台也可进入。",
            "本轮安装或首次升级自动开启统一工作台及已接通的客服能力。需安装并启用模型广场和智能客服；缺少依赖时仍保留原客服入口。关闭后最高管理员仍可预览，普通会员不能进入新工作台。"
          ],
          "steps": [
            "升级前备份文件与数据库，记录模型及客服配置。",
            "依次升级模型广场、知识库、智能客服，查看客服设置中的默认开启项。",
            "用普通会员从原客服入口测试FAQ、公开资料、无匹配问题以及刷新保留会话。",
            "若需恢复原入口，关闭统一客服工作台并保存；升级重复执行不会重新打开已关闭项。"
          ]
        },
        {
          "heading": "开放后的用户体验",
          "paragraphs": [
            "已登录用户访问原智能客服入口会进入统一工作台。客服 sid 沿用原客服会话，模型 session_id 不是客服 sid；无需迁移历史数据。",
            "访问权限设为公开时，游客也使用统一工作台，历史会话按当前游客标识保留。设为仅登录时，游客会转到 AI 工作区登录页；游客不能查看或标记其他身份的会话。",
            "公开模式下游客可以提问和查看自己的会话，但“已解决”“未解决”和提交反馈等登录用户操作不会显示。"
          ],
          "steps": [
            "普通会员从原客服入口进入，发送并刷新检查自己的客服历史。",
            "将访问权限设为公开，用未登录窗口提问并刷新，确认游客工作台与该游客自己的会话可继续使用。",
            "将访问权限改为仅登录，再用未登录窗口打开客服入口，确认进入 AI 登录页；登录用户仍可继续原客服会话。",
            "如需回退，关闭统一客服工作台并使用原客服入口，核对原会话仍能继续。"
          ]
        },
        {
          "heading": "范围与验收",
          "items": [
            "关闭开关不会删除客服历史，管理员预览仍可访问。",
            "公开模式下游客可提问，但不会显示登录用户专属的解决状态和反馈操作。",
            "访客会话按当前游客标识隔离；清除或更换浏览器站点数据后，不保证继续访问原游客会话。",
            "回复可以提供流程建议，但不会自动执行退款、订单或后台配置。"
          ]
        }
      ],
      "content_hash": "c1826ed3b7a2a08b5af385ac115e14c0474f786d46dd2e796723ef87cc6cbaca"
    },
    {
      "id": "service-brand-avatar",
      "plugin_id": "aigeo_service",
      "title": "自定义客服名称与图库头像",
      "summary": "默认亮仔，可按站点品牌改名并从灯箱图库选择头像。",
      "category": "使用教程",
      "tags": [
        "客服更新",
        "前后台对应"
      ],
      "updated_at": "2026-10-06T17:22:13+08:00",
      "url": "/ai/guide/?id=service-brand-avatar",
      "sections": [
        {
          "heading": "名称与头像设置",
          "paragraphs": [
            "从 plugin.php?id=ailiangzai_admin 进入独立后台，选择智能客服及对应功能；这些页面复用原 Discuz 插件管理程序，菜单迁移不改变权限、设置或数据。原 Discuz 插件后台也可进入。",
            "在客服设置填写助手名称，保留站点自定义品牌；统一工作台仅将旧默认名称映射为亮仔。默认头像为内置亮仔图片。图库未启用或素材失效时回退默认头像。"
          ],
          "steps": [
            "启用灯箱图库，准备自己的JPEG、PNG或WebP图片。",
            "在客服设置打开图库选择或上传，选择自己有权使用的图片。",
            "保存设置，重新打开核对名称和选择值，在统一工作台检查标题与消息头像。",
            "需要恢复时清空头像选择并保存；原客服页、已有会话和自我介绍分别核对。"
          ]
        },
        {
          "heading": "注意事项",
          "items": [
            "不支持直接填外部URL或私有服务器路径作为头像。",
            "另一位管理员保存其他设置可保留原已授权头像；换图需选择自己的有效素材。",
            "原客服页与统一工作台展示路径不同，不能用工作台截图承诺所有旧入口头像已统一。"
          ]
        }
      ],
      "content_hash": "3846ae19285107f53612da6bf23e6687d3fd89c6c57e78960210f5a95e412620"
    },
    {
      "id": "model-knowledge-skill",
      "plugin_id": "aigeo_model",
      "title": "资料库检索技能：选择、引用与空结果",
      "summary": "在模型对话中显式选择资料库检索，检查公开资料来源和会话连续。",
      "category": "使用教程",
      "tags": [
        "客服更新",
        "前后台对应"
      ],
      "updated_at": "2026-10-08T20:53:57+08:00",
      "url": "/ai/guide/?id=model-knowledge-skill",
      "sections": [
        {
          "heading": "准备与操作",
          "paragraphs": [
            "在亮仔AI工作台进入模型广场的技能管理，启用knowledge_search；知识库中准备已发布、前台公开且AI可调用的资料。模型聊天与客服工作台是不同会话入口。"
          ],
          "steps": [
            "进入模型聊天，在技能选择中选资料库检索。",
            "输入可命中资料的具体问题，核对实际资料片段与引用卡片。",
            "继续提问，确认选择未自动复位；刷新后检查同一session_id历史。",
            "输入无匹配问题，检查明确无资料，不把模型常识当知识库命中。"
          ]
        },
        {
          "heading": "资料权限与结果",
          "items": [
            "引用以当前数据库权限重新核对；草稿、未公开、AI关闭资料不应暴露。",
            "工具调用在后台处理，原始tool_call标签不应作为答案显示。",
            "未命中与未调用是不同情况，应结合技能/调用日志判断。"
          ]
        },
        {
          "heading": "与前台检索对照",
          "paragraphs": [
            "资料库前台和检索技能共用自然问句提取及相关性排序；技能仍额外要求资料允许AI调用。公开但关闭AI调用的资料可以出现在公开列表，不应进入技能引用。"
          ],
          "steps": [
            "用同一问题对照资料前台和显式选择的资料库检索技能，核对允许AI调用资料的主题与引用。",
            "“X5账号和用户系统有什么变化”应优先对应账号与用户主题；本站没有相应资料时接受空结果，不把模型常识当资料命中。"
          ]
        }
      ],
      "content_hash": "84f013deb844f73057b7e1745c4be4aa5460043d028e538c4acd33d47c29b042"
    },
    {
      "id": "service-release-defaults",
      "plugin_id": "aigeo_service",
      "title": "本轮升级默认开启哪些能力：开关与回答流程",
      "summary": "逐项说明默认开启、关闭影响、依赖缺失和资料权限边界。",
      "category": "使用教程",
      "tags": [
        "客服更新",
        "设置详解"
      ],
      "updated_at": "2026-10-06T17:27:40+08:00",
      "url": "/ai/guide/?id=service-release-defaults",
      "sections": [
        {
          "heading": "默认开启项目",
          "items": [
            "统一客服工作台：登录用户从原客服入口转入新工作台；关闭后恢复原入口，不删除旧客服历史。游客继续原页面。",
            "工作台导航：前台显示模型广场的统一侧栏；关闭仅改变导航，不改变资料权限。",
            "命中资料后的模型回答：选择的可用文本模型组织检索资料；未命中不调用模型自由补答。不开启插件、没有可用模型或接口异常时不能保证模型回答。",
            "仅依据资料回答与失败摘要兜底：资料不足提示补充；模型失败保留命中资料的摘要。",
            "知识检索与转意见反馈技能：本轮首次升级启用这两个已接通技能。关闭知识检索后FAQ仍匹配；关闭反馈技能后不提供对应转反馈能力。反馈插件需要安装启用。"
          ]
        },
        {
          "heading": "升级规则与站长选择",
          "paragraphs": [
            "默认启用只在本轮首次安装或升级执行一次。站长后续关闭的选择在重复升级时保留。自定义名称、头像、模型选择、密钥和技能风险规则保留。未接通的订单、退款等业务技能不自动开启。",
            "不自动公开任何知识资料，不扩大游客或会员访问权限。新客服只检索已发布、公开且允许AI调用的资料；私有资料不会因默认开启而进入新客服。"
          ]
        },
        {
          "heading": "回答顺序与验收",
          "steps": [
            "先匹配FAQ和固定流程，命中则直接返回；一般知识问题再检索允许使用的公开资料。",
            "检索命中时可用模型组织答案并展示资料引用；没有命中时提示资料不足。",
            "模型失败时使用命中资料摘要；无模型不影响FAQ与基础检索。",
            "用普通会员测试新入口、刷新会话、解决状态和反馈；游客直接打开新工作台应显示友好登录引导，点击登录进入网站表单并携带客服返回地址。原游客入口仍按原访问规则运行。",
            "关闭统一客服后保存并重新进入原入口，确认历史保留；如需恢复新体验重新开启。"
          ]
        }
      ],
      "content_hash": "2eab0df862bb9448a210f957d4ef7d1a3c5e562a7a4ceaa4c53361e9071ed51c"
    },
    {
      "id": "workspace-config-assistant",
      "plugin_id": "ailiangzai_admin",
      "title": "亮仔配置助手：按当前页面找设置入口",
      "summary": "从亮仔AI工作台的总览或后台页面询问亮仔，定位设置入口、了解页面用途并按步骤排查。",
      "category": "使用教程",
      "tags": [
        "亮仔助手",
        "设置入口",
        "工作台"
      ],
      "sections": [
        {
          "heading": "打开亮仔并确认当前页面",
          "paragraphs": [
            "在工作台顶部点击“问亮仔”；工作台总览还提供“让亮仔帮我找设置”入口。面板中的“当前”会显示亮仔正在参考的页面。",
            "可以点击快捷问题，也可以直接描述要完成的配置，例如询问当前页面用途、从哪一步开始，或设置后如何检查。需要阅读长回答时，点击标题栏关闭按钮旁的宽度图标可放大面板，再点一次恢复。"
          ],
          "steps": [
            "先打开目标后台页面或常用设置中的目标分区，再点击“问亮仔”。",
            "确认面板显示的当前页面与目标一致，然后选择快捷问题或输入具体目标。"
          ]
        },
        {
          "heading": "从回答进入对应功能",
          "paragraphs": [
            "回答可能提供工作台内的设置入口按钮和相关教程链接。入口按钮会打开相应页面；教程链接会在新标签页打开。"
          ],
          "steps": [
            "先阅读回答中的操作步骤，再点击对应的“打开”入口。",
            "按页面说明修改设置，并在原设置页面检查填写值和保存结果。"
          ]
        },
        {
          "heading": "设置确认与使用边界",
          "paragraphs": [
            "亮仔根据当前页面和内置功能说明提供指引，不读取表单中尚未保存的内容或实时配置值，也不会替管理员保存设置或执行插件业务操作。最终仍由管理员在原设置页核对并确认保存。",
            "提问会使用站点配置的模型服务额度，不扣用户积分。对回答有疑问时，优先核对相关教程和原设置页面。"
          ],
          "steps": [
            "操作后返回目标功能，检查页面显示或实际行为是否符合预期。",
            "若入口没有出现，检查当前账号权限、插件启用状态和工作台菜单显示设置。"
          ]
        }
      ],
      "url": "https://docs.liangjianyun.com/ai/guide/?id=workspace-config-assistant",
      "images": [
        {
          "file": "workspace-config-assistant-20261014.png",
          "section": 0,
          "caption": "菜单管理页面中的亮仔配置助手，展示当前页面提示、入口按钮与教程链接。",
          "captured_at": "2026-10-14"
        }
      ],
      "updated_at": "2026-10-16T11:42:21+08:00",
      "content_hash": "b3418fc1ceb15a693bed0c4abac80f24ce29fd8d44f59f0c25bec9bce6515b84"
    },
    {
      "id": "model-account-access",
      "plugin_id": "aigeo_model",
      "title": "AI 工作区登录、注册、退出与密码找回",
      "summary": "配置 AI 工作区登录与注册，设置邀请码引导并完成站内回跳，再按站点账号找回密码、重置和退出。",
      "category": "使用教程",
      "tags": [
        "登录注册",
        "账号设置",
        "AI工作区",
        "找回密码",
        "退出登录"
      ],
      "steps": [
        "进入亮仔 AI 工作台的模型广场，打开“登录注册”设置。",
        "分别设置统一登录页面、允许新用户注册和允许找回密码；站点注册总开关关闭时，插件设置不会重新开放注册。",
        "勾选工作区登录页要接受的账号类型，并选择默认类型；UID、手机号等选项仅在站点提供相应能力时显示。",
        "按需填写品牌名称、共用说明以及登录、注册、找回页面各自的标题与说明，保存后重新打开页面核对。",
        "从 AI 对话入口打开登录或注册页，完成一次页面路径核对；继续返回原 AI 页面，确认回跳目标仍在站内。",
        "未登录访问积分等受限页面会转到 AI 登录页；登录后应返回刚才访问的 AI 页面。",
        "在 AI 登录页选择“找回密码”，填写绑定邮箱；用户名可选。系统对匹配和不匹配的申请使用相同确认文案。",
        "打开站点邮件里的密码重置链接（有效期三天），按站点密码规则设置新密码；成功后回 AI 登录页使用原账号登录。",
        "登录后从 AI 工作区退出，确认页面仍保持 AI 工作区样式；退出会清除 Discuz/UCenter 登录状态。"
      ],
      "boundary": "AI 工作区继续复用 Discuz/UCenter 账号和站点邮件设置；插件级注册开关不能覆盖站点注册总开关。找回申请不会透露账号或邮箱是否匹配，重置链接三天有效并在成功后失效。退出会结束当前 Discuz/UCenter 登录状态；未登录访问受限 AI 页面时会回到 AI 登录入口并保留站内回跳地址。",
      "sections": [
        {
          "heading": "页面开关与登录方式",
          "steps": [
            "打开“登录注册”设置，先按站点策略决定是否启用 AI 工作区登录页、注册入口和找回入口。",
            "至少保留一种登录账号类型，并将默认账号类型设为已勾选项；只选择一种时，登录页直接显示该输入方式。",
            "如果 UID 或手机号选项未显示，先检查站点是否提供相应登录能力；不要因此修改全站登录规则。"
          ]
        },
        {
          "heading": "品牌文案与页面检查",
          "steps": [
            "填写品牌名称和共用说明，再分别调整登录、注册、找回页面的标题与说明；可选文案留空时会隐藏。",
            "保存后重新打开设置页，确认值已保留；再分别打开工作区登录与注册入口检查标题和默认账号输入框。",
            "站点关闭注册时，即使工作区注册入口开启，也不会提供新用户注册。"
          ]
        },
        {
          "heading": "注册邀请码提示与 AI 对话回填",
          "steps": [
            "在“登录注册”设置的注册表单说明中，可用 <strong>/<b>、<mark>、<em>/<i>、<br> 和 <a href> 设置强调、换行与链接；链接仅允许本站相对路径或 http/https，其他标签和属性会过滤。",
            "未拿到邀请码时，可将链接指向 plugin.php?id=aigeo_model%3Achat&q=生成邀请码。注册页会显示强调后的提示；点击链接后，AI 对话输入框应自动预填“生成邀请码”。游客可按页面显示的剩余次数体验，次数用完后登录或注册即可继续。",
            "邀请码生成结果中的注册链接会进入亮仔 AI 自己的注册页，并自动带入邀请码；注册和登录后的提示页保持 AI 工作区样式。"
          ]
        },
        {
          "heading": "密码找回与 AI 工作区退出",
          "steps": [
            "登录页开放找回入口时，填写账号绑定邮箱并可选填写用户名；如果邮箱未登记或邮件服务未配置，按页面提示检查站点账户与邮件设置。",
            "用站点邮件服务发送的限时链接设置新密码。密码长度、强度以及 UCenter 账号更新遵循站点规则；链接成功使用后不可再次重置。",
            "从 AI 工作区退出后会注销站点登录状态，并显示 AI 工作区退出页；再次访问积分等受限页面时先进入 AI 登录页。",
            "登录入口只处理 AI 工作区的页面和回跳，不会替代 Discuz 管理员后台的验证流程。"
          ]
        }
      ],
      "url": "https://docs.liangjianyun.com/ai/guide/?id=model-account-access",
      "updated_at": "2026-10-17T21:16:37+08:00",
      "content_hash": "e76739ef56a2731f818feb911d740a4a5655457af1b85c1bd92d798e872f39e0",
      "images": [
        {
          "file": "model-account-access-invitation-20261017.png",
          "section": 2,
          "caption": "注册页邀请码提示与 AI 对话入口示例；提示文字和链接使用界面强调色。"
        }
      ]
    },
    {
      "id": "workspace-contact-tutorial",
      "plugin_id": "ailiangzai_admin",
      "title": "配置教程：在线反馈、使用教程与微信联系",
      "summary": "从工作台的配置教程页打开前台入口、在线反馈、使用说明和微信联系渠道。",
      "category": "工作台使用",
      "tags": [
        "配置教程",
        "在线反馈",
        "联系方式"
      ],
      "steps": [
        "在亮仔 AI 工作台左侧进入“模型广场”，再打开“配置教程”。",
        "页面顶部显示 AI 对话前台入口，可复制链接或打开页面。",
        "在“在线反馈”卡片点击“前往在线反馈”，提交问题、建议或异常信息；该链接会在新窗口打开。",
        "在“配置教程”卡片点击“打开配置教程”，查看模型广场的配置与使用说明。",
        "需要联系时，扫描“客服微信”二维码添加客服；扫描“亮仔微信交流群”二维码加入交流群。"
      ],
      "boundary": "前台入口供站点用户访问 AI 对话；在线反馈用于提交问题和建议；配置教程用于查看使用说明。客服二维码与交流群二维码用途不同，请按页面标签选择。",
      "sections": [
        {
          "heading": "前台入口",
          "steps": [
            "打开工作台的“配置教程”页，查看页面顶部的 AI 对话链接。",
            "使用“复制”分享入口，或点击“打开”在新窗口检查前台页面。"
          ]
        },
        {
          "heading": "在线反馈和配置说明",
          "steps": [
            "遇到问题或有建议时，点击“前往在线反馈”并填写问题、建议或异常信息。",
            "查看插件配置说明时，点击“打开配置教程”；教程会在新窗口打开。"
          ]
        },
        {
          "heading": "微信联系",
          "items": [
            "“客服微信”二维码用于添加客服。",
            "“亮仔微信交流群”二维码用于加入交流群。",
            "扫码前核对卡片标题，避免把客服入口和交流群入口混淆。"
          ]
        }
      ],
      "url": "https://docs.liangjianyun.com/ai/guide/?id=workspace-contact-tutorial",
      "updated_at": "2026-10-16T11:42:21+08:00",
      "content_hash": "887e6bb48d652a06065b2133cd7f9897a29e3c7b0d126dce8c590d74595c0d61"
    },
    {
      "id": "model-guest-gallery",
      "plugin_id": "aigeo_model",
      "title": "游客试用与 AI 对话图库：额度、选图和保存生成图片",
      "summary": "从游客体验次数设置、默认文本模型，到图库图片提问与生成图片归档，完成前台闭环核对。",
      "category": "使用教程",
      "tags": [
        "模型广场",
        "游客体验",
        "AI 对话",
        "图片中心"
      ],
      "sections": [
        {
          "heading": "游客试用额度与登录入口",
          "steps": [
            "在管理后台打开模型广场的“常用设置”，找到“游客体验次数”。默认值为 10，范围为 0–1000；设为 0 会关闭游客体验。保存后回到 AI 对话页面核对提示。",
            "启用一个可用的默认文本模型。游客只能使用这个默认文本模型，不扣站点会员积分；没有可用默认文本模型时，页面会提示登录或注册。",
            "退出登录或使用未登录窗口发送一条短问题，核对剩余体验次数随请求更新。额度按浏览器匿名标识累计，发起请求时扣一次；上游模型失败也可能消耗一次。此额度用于体验，不是实名或防刷配额。",
            "额度用完后点击 AI 页面内的“登录或注册”，登录成功后返回原页面继续使用。游客仍可看到需要登录的功能菜单，点击后会进入 AI 自己的登录页。"
          ]
        },
        {
          "heading": "从图片中心选择图片进行提问",
          "steps": [
            "先登录，并确认“亮剑AI灯箱图库”插件已安装且启用；在模型管理中准备支持图片理解的可用模型。游客模式只提供默认文本模型，不能从图库附加图片。",
            "打开新对话，在输入区点击“图库选图”，选择当前账号拥有的图片。最多选择 4 张，每张不超过 4 MB；删除不需要的缩略图后再发送。",
            "选择支持图片理解的模型并发送一个具体问题，例如“比较这几张图的主要差异”。确认用户消息中显示图片缩略图，并检查模型回复是否实际引用图片内容。",
            "回到同一账号的对话历史打开该会话，确认图片缩略图仍显示。图库选图会校验当前用户对媒体的所有权，不能通过修改媒体编号读取他人图片。"
          ]
        },
        {
          "heading": "把 AI 生成图片保存到图片中心",
          "steps": [
            "保持登录并启用灯箱图库，选择可用的图片生成模型发起生成请求。只有本站生成目录中的图片会显示“保存到图片中心”按钮；外部图片链接不会显示此按钮。",
            "在 AI 回复下方点击“保存到图片中心”，等待按钮变为“已保存到图片中心”。失败时页面会显示原因，可在确认网络和图库上传设置后重试。",
            "打开图片中心的媒体库，确认新图片已归当前账号所有；需要长期整理时，再把媒体加入目标图库。保存操作不会自动公开图片或图库。"
          ]
        },
        {
          "heading": "常见情况检查",
          "items": [
            "没有“图库选图”：检查是否已登录及灯箱图库是否启用。",
            "选图后模型没有理解图片：确认所选模型支持图片输入；文本模型不能完成视觉理解。",
            "没有“保存到图片中心”：确认回复包含本站生成目录中的可访问图片，并检查灯箱图库是否启用。",
            "游客剩余次数减少：每次发起的模型请求会计入额度，上游失败也可能消耗；检查当前浏览器的游客提示和模型调用错误。"
          ]
        }
      ],
      "images": [],
      "url": "https://docs.liangjianyun.com/ai/guide/?id=model-guest-gallery",
      "updated_at": "2026-10-16T19:03:25+08:00",
      "content_hash": "c9390805d0463dace6c4579dfe58327ff02fc93d4eee7a1c6a3a41c11a86bb4a"
    },
    {
      "id": "trending-overview",
      "plugin_id": "ailiangzai_trending",
      "title": "全网热榜：浏览筛选、核验报道与 AI 阅读",
      "summary": "从 15 类公开榜单和资讯源查找热点；先核实可读正文，再进行单篇或批量 AI 阅读。",
      "steps": [
        "安装并启用“亮仔AI全网热榜”。仅浏览榜单不需要内容平台账号；要使用 AI 阅读或热点创作，再安装并配置“亮剑AI模型广场”的可用文本模型。",
        "打开前台“全网热榜”，在“热点榜单”和“已读简报”之间切换。榜单卡片展示来源、最近采集时间、排名和条目标题。",
        "先选择“全部、社交热搜、新闻资讯、技术社区”，再用搜索、主题、时间和排序筛选。批量 AI 阅读按钮位于分类行右侧，按当前筛选范围最多处理 12 篇未读文章。",
        "阅读某条热点前先核对来源和标题。点原始标题查看来源页面；点“解读/创作”进入单篇流程。搜索入口或话题页会先查找并核验相关报道，只有找到可信且主题匹配的文章、并成功读取公开正文后，才进入 AI 阅读。",
        "批量阅读前先收窄筛选范围并检查页面提示的可读未读数量。提交后到“已读简报”查看状态和 AI 摘要；被跳过或失败的条目可以单篇重新核验。",
        "管理员进入“插件 → 亮仔AI全网热榜”检查数据源、采集任务、AI 阅读任务、阅读设置、热点内容和采集日志。先启用所需来源并核对采集间隔，再手动运行一次，查看运行状态、采集条数和错误摘要。",
        "自动采集任务为“热榜自动更新（ailiangzai_trending_refresh）”，在模型广场任务中心配置启停和任务间隔。任务触发方式沿用模型广场全局调度模式；使用云端/URL 外部触发时设置 HTTP 触发入口，选择 Discuz! 计划任务时由站点计划任务触发。",
        "使用“创作”生成的内容是待核对草稿。发布前再次核查原文、人物、时间、事实和版权要求。"
      ],
      "boundary": "榜单是采集时的公开页面内容，排名会随更新变化。搜索结果页、话题页不能直接视为文章全文；没有可信匹配报道或正文读取失败时，不会提供虚构摘要。AI 阅读只作辅助，不替代人工核实。插件不要求提供内容平台账号密码。",
      "sections": [
        {
          "heading": "浏览榜单和组合筛选",
          "paragraphs": [
            "前台榜单聚合微博、百度、小红书、新闻资讯和技术社区等公开来源。首页按来源分栏，分类行提供社交热搜、新闻资讯和技术社区过滤；筛选栏可以组合关键词、主题、时间与排序。"
          ],
          "steps": [
            "点击“热点榜单”查看当前来源条目，或点击“已读简报”回看已处理文章。",
            "选择一个分类，再输入标题关键词；必要时继续选择主题、时间范围和排序方式，最后点“筛选”。",
            "查看来源名称、采集时间和当前排名。打开原始标题核验来源页面。排名不是实时承诺，取决于各来源下一次成功采集。"
          ],
          "settings": []
        },
        {
          "heading": "单篇阅读与批量阅读",
          "paragraphs": [
            "“解读/创作”会先判断链接类型。搜索入口类话题需要通过关联报道发现与核验；系统会检查标题、正文链接和主题是否匹配，避免把搜索结果列表当成文章正文。"
          ],
          "steps": [
            "打开条目后核对来源与标题，再选择“解读/创作”。",
            "有可读正文时查看正文读取结果和 AI 简报；无可读正文时直接核验来源或稍后重试，不把榜单标题改写成文章内容。",
            "批量阅读前确认当前分类/关键词/主题/时间筛选及可读未读数量；每次最多 12 篇。提交后在“已读简报”查看每篇状态。",
            "阅读摘要用于快速了解线索。转载、发布或据此决策前应回到原文复核。"
          ],
          "settings": []
        },
        {
          "heading": "后台数据源和运行记录",
          "paragraphs": [
            "后台把来源配置、采集任务、AI 阅读任务、阅读策略、热点条目和采集日志分开管理。当前采集结果在热点内容页按平台查看；采集日志用于判断数据源是否成功及耗时。"
          ],
          "steps": [
            "先在“数据源”启用需要的来源并设置各自采集间隔。来源平台限流或故障时，不必启用所有来源。",
            "进入“采集任务”查看任务配置，可手动执行一次进行检查；返回“热点内容”核对条目、分类、排名和采集时间。",
            "打开“采集日志”，按数据源检查成功状态、条数、耗时和错误摘要。",
            "在“阅读设置”检查正文读取和文章核验策略；在“AI 阅读任务”检查阅读队列与结果。"
          ],
          "settings": []
        },
        {
          "heading": "配置计划采集",
          "paragraphs": [
            "热榜自动更新任务使用模型广场任务中心，并沿用全局调度模式。来源自己的采集间隔决定哪些数据源到期；任务中心间隔和批次限制决定处理节奏。"
          ],
          "steps": [
            "打开模型广场 → 任务中心，搜索“热榜自动更新”或 `ailiangzai_trending_refresh`。",
            "点“设置”核对实例间隔、每批平台数和关联话题处理数量，再按站点承载能力保存。",
            "确认是否启用该任务。需要避免 Discuz! 全局计划任务触发时，在模型广场 → 定时任务选择“云端 / URL 外部触发”并配置外部 HTTP 入口；选择 Discuz! 计划任务则由站点计划任务触发。",
            "回任务中心看最近执行与日志，确认实际采集结果；只看到“已启用”不代表外部触发或站点计划任务已经运行。"
          ],
          "settings": []
        },
        {
          "heading": "故障排查与内容边界",
          "items": [
            "榜单没有更新：确认来源已启用、来源采集间隔已到期，再查看采集日志中的错误摘要。",
            "AI 阅读入口不可用：当前筛选下可能没有可读的未读文章；减少筛选条件或使用单篇流程查找关联报道。",
            "关联报道不匹配：检查热点标题、报道标题和主题是否一致。不要把搜索结果列表或话题页当作正文来源。",
            "AI 阅读失败：确认模型广场已启用可用文本模型，再查看任务中心或 AI 阅读日志。入队状态不表示正文读取和简报生成已完成。",
            "自动采集没有执行：检查组件与实例开关、任务间隔、全局调度模式、外部触发配置及最近执行日志。"
          ],
          "paragraphs": [
            "插件保存公开榜单条目、来源链接、排名快照和运行日志。请遵守来源网站条款与版权要求，不要向插件提供内容平台登录凭证。"
          ],
          "settings": []
        }
      ],
      "category": "使用教程",
      "tags": [
        "热榜浏览",
        "关联报道",
        "AI 阅读",
        "后台采集",
        "设置详解"
      ],
      "updated_at": "2026-10-22T09:58:19+08:00",
      "url": "https://docs.liangjianyun.com/ai/guide/?id=trending-overview",
      "images": [
        {
          "file": "trending-front-20261022.webp",
          "section": 0,
          "caption": "前台分类行：按当前筛选最多批量 AI 阅读 12 篇"
        },
        {
          "file": "trending-admin-items-20261022.webp",
          "section": 2,
          "caption": "后台热点内容：按来源筛选并检查当前排名"
        }
      ],
      "content_hash": "01d67d4c98de0189767cfddd96b6ae6a93607d7e55a213a66659a381eff5cf9c"
    }
  ],
  "reference_revision": "guides-e786d94b265c0838",
  "cache_contract": {
    "endpoint": "https://docs.liangjianyun.com/ai/data/reference.json",
    "identity": [
      "plugin_id",
      "id"
    ],
    "revision": "reference_revision",
    "entry_revision": "content_hash",
    "search_fields": [
      "title",
      "summary",
      "tags",
      "sections"
    ],
    "refresh_after_upgrade": true,
    "keep_last_valid_on_error": true,
    "read_only": true,
    "excluded": [
      "credentials",
      "site configuration values",
      "user data",
      "chat records",
      "executable administration commands"
    ]
  }
}
