智盈学院

后台管理系统

{{ loginError }}

数据概览

总用户数 👥

{{ stats.total || 0 }}

↑ 本周新增 {{ stats.newThisWeek || 0 }}

学生用户 🎓

{{ stats.students || 0 }}

占比 {{ stats.total ? ((stats.students / stats.total) * 100).toFixed(1) : 0 }}%

教师用户 👨‍🏫

{{ stats.teachers || 0 }}

占比 {{ stats.total ? ((stats.teachers / stats.total) * 100).toFixed(1) : 0 }}%

活跃用户

{{ stats.active || 0 }}

今日新增 {{ stats.newToday || 0 }}

用户角色分布

用户增长趋势

教学风格使用统计

用户活跃度

用户管理

ID 用户名 昵称 角色 积分 套餐 无限制 Pro 模式 学习时长 注册时间 操作
{{ user.id }}
{{ user.username[0].toUpperCase() }}
{{ user.username }}
{{ user.nickname || '-' }} {{ getRoleLabel(user.role) }} {{ user.points }}
{{ user.subscription_plan === 'free' ? '免费' : user.subscription_plan === 'v1' ? 'V1' : user.subscription_plan === 'v1_vip' ? 'V1 VIP' : user.subscription_plan === 'pro' ? 'Pro' : user.subscription_plan === 'unlimited' ? '无限' : '免费' }} {{ new Date(user.subscription_expiry) < new Date() ? '已过期' : '至 ' + new Date(user.subscription_expiry).toLocaleDateString('zh-CN', {month:'short',day:'numeric'}) }}
无限制
已开启
⏱ {{ formatStudyTime(user.total_study_seconds) }} - {{ formatDate(user.created_at) }}

脑力管理

用户每次使用功能会消耗对应脑力值。可在下方配置各模式消耗,并在用户列表中调整个人脑力。

🎁 新用户默认脑力

⚡ 各功能脑力消耗

修改后立即生效

{{ {'chat':'💬','interactive':'🎓','ggb':'∑','3d':'📦','video':'🎬','exam_paper':'📝','ppt':'📊','image_gen':'🖼️','explainer_video':'🎬','cotton':'📈','zhiji':'🧠','circuit':'⚡','physics':'⚛️','code_run':'💻'}[item.action] || '⚙️' }} {{ item.label || item.action }}

{{ item.description }}

👤 用户脑力

调整个人脑力,或开启「脑力无限制」(不扣脑力;与 VIP/套餐次数无限制无关)

用户 当前脑力 状态 备注 操作
{{ user.nickname || user.username }}
@{{ user.username }}
{{ user.brain_power ?? 0 }} 脑力无限制 按脑力扣减 {{ user.note || '—' }}

调整脑力 · {{ unlimitedForm.username }}

用户使用记录

用户每次调用 AI 功能会自动记录,支持筛选与导出 Excel。

今日调用

{{ usageLogsSummary.todayCount }}

今日消耗脑力

{{ usageLogsSummary.todayCost }}

今日活跃用户

{{ usageLogsSummary.todayActiveUsers }}

筛选结果总数

{{ usageLogsPagination.total }}

时间 用户 功能 用户发送内容 消耗 剩余脑力 备注
加载中…
暂无使用记录
{{ formatDateTime(log.created_at) }}
{{ log.nickname || log.username || ('用户#' + log.user_id) }}
{{ log.username || log.email || '' }}
{{ log.action_label || log.action }}

{{ log.user_content || '—' }}

{{ log.cost > 0 ? ('-' + log.cost) : '0' }} {{ log.balance_after }} {{ log.note || '—' }}
共 {{ usageLogsPagination.total }} 条 · 第 {{ usageLogsPagination.page }} / {{ usageLogsPagination.totalPages || 1 }} 页

脑力套餐

配置前台售卖的脑力充值包。用户购买后立即到账,永久有效。

前台只显示「已上架」的脑力套餐。 用户点击个人卡片中的「剩余脑力」即可购买。

{{ plan.display_name }}

{{ plan.name }}

{{ plan.badge }}

🧠 {{ plan.brain_power_amount }}脑力

¥{{ plan.price }}

原价 ¥{{ plan.original_price }}

{{ plan.description }}

{{ plan.is_visible ? '已上架' : '已隐藏' }}

  • · {{ f }}

暂无脑力套餐,请添加

累计支付总额

¥{{ orderStats.total_paid_amount }}

已支付订单

{{ orderStats.paid_count }}

订单总数

{{ orderStats.total_orders }}

待支付 / 已取消

{{ orderStats.pending_count || 0 }} / {{ orderStats.cancelled_count || 0 }}

订单号 用户 套餐 金额 状态 支付时间 脑力 操作
{{ o.order_no }} {{ o.nickname || o.username }} {{ o.plan_display_name || o.plan_id }} ¥{{ o.amount }} {{ orderStatusLabel(o.status) }} {{ o.paid_at ? formatDateTime(o.paid_at) : '—' }} +{{ o.brain_power_amount || '—' }}

加载中…

暂无订单

{{ ordersPagination.page }} / {{ ordersPagination.totalPages }}

{{ pricingPlanForm.id ? '编辑脑力套餐' : '新建脑力套餐' }}

功能管理

控制PPT、视频和交互课件在前端的可见性

{{ feature.icon }}

{{ feature.feature_name }}

{{ feature.feature_key }}

{{ feature.description }}

排序: {{ feature.sort_order }} {{ feature.is_enabled ? '✅ 已启用' : '❌ 已禁用' }}

暂无功能开关

AI 配置

左侧选择功能模块,右侧配置 API 地址与密钥。保存后请刷新前台。

🏠 首页标题设置

💡 这个标题会显示在首页顶部,用户未开始对话时可见

🌐 联网·生图·讲解视频

聊天输入框「联网」「生图」「讲解视频」功能在此配置;保存后请刷新前台页面

联网搜索

开启联网后先检索再回答。推荐 Serper(google.serper.dev)

🖼️ AI 生图

OpenAI 兼容 /v1/images/generations(如 dall-e-3)

🎬 讲解视频(Hammerath)

聊天输入栏「讲解视频」按钮。提交时会将下方系统提示词与用户输入拼接:提示词 + 【用户讲解需求】 + 用户输入,再发给 Hammerath API。

也可在左侧「系统提示词」页编辑 explainer_video 模式;两处内容相同,保存时会一并写入。

🖼️ 聊天图片分析(V1 / Pro 专用)

仅当用户在 V1 或 Pro 对话中上传/粘贴图片时调用;分析结果以文字交给对话模型,对话/Pro 主 API 不变。需支持 vision 的模型(如 gpt-4o)

💬 对话模式

每次请求随机使用一个非空密钥

📐 GeoGebra 模式

每次请求随机使用一个非空密钥

📊 PPT 文案生成

幻灯片大纲/逐页文案 JSON · 四密钥轮询 · 留空则回退旧 ppt 或对话模式

系统提示词请在「系统提示词」页编辑 ppt 模式

📈 Cotton 智能图表

数据分析与图表 JSON · 留空密钥则回退对话模式

系统提示词请编辑 cotton_analyzecotton_generate

📒 智记

资料上传分析对话 · 支持 chart_json 图表

系统提示词请编辑 zhiji 模式

🏫 学校 AI 导员

专属辅导员 · 根据学生问题自动匹配板块文字资料,普通对话模型即可(如 gpt-4o-mini)

系统提示词请前往左侧「系统提示词」,编辑 school_counselor 模式(可用 {school_name} 占位符)

⚡ 电路分析

Canvas 电路图 + 图解 · 建议 gpt-4o 等视觉模型

系统提示词请编辑 circuit 模式(含 Canvas 绘图规范)

⚛️ 物理沙盒模式

自包含 HTML + Matter.js 场景 · 每次请求随机使用一个非空密钥

系统提示词请在「系统提示词」中编辑 physics 模式

🎨 3D 模式

每次请求随机使用一个非空密钥

📊 课程分析模式

每次请求随机使用一个非空密钥

⚡ 强交互模式

数学用 GeoGebra,物理/电路/化学用 2D HTML,每次随机选一个非空密钥

📝 智能出卷

教师端 HTML 试卷生成;留空则回退「强交互模式」API。系统提示词请编辑 exam_paper 模式

单词本翻译

划词记单词时的 AI 释义,与对话模式独立配置;留空则自动使用对话模式 API,每次随机选一个非空密钥

翻译提示词请在「系统提示词」中编辑「单词翻译」模式

单词文章生成

根据用户单词本生成英语文章,留空则自动使用对话模式配置,每次随机选一个非空密钥

AI 解题模式

需要支持视觉识别的模型(如 gpt-4o),每次随机使用一个非空密钥

🎬 视频微课生成

HTML 动画微课 · 四密钥轮询 · 留空则回退对话模式

系统提示词请编辑 manim 模式

🔧 视频微课代码修复

生成失败时修复代码 · 四密钥 · 留空则用上方视频微课配置

API 管理

开启后,全站对话类 AI(对话、物理沙盒、出卷、PPT 等)优先使用优先级最高的启用渠道; 每个渠道 4 个密钥每次请求随机选取;下方模型列表全功能通用。关闭则使用「AI 配置」各模式独立设置。

渠道池总开关

开启后忽略各模式 API 地址/密钥(仍可用各模式「模型名」匹配渠道模型列表)

渠道列表

暂无渠道,请点击「添加渠道」
{{ ch.name }} {{ ch.vendor }} {{ ch.enabled ? '启用' : '停用' }} 优先级 {{ ch.priority }}

{{ ch.api_url }}

默认模型 {{ ch.default_model }} · 温度 {{ ch.temperature }} · 可选 {{ ch.models.length }} 个模型

{{ apiChannelForm.id ? '编辑渠道' : '新建渠道' }}

全站各功能共用;若某模式在「AI 配置」里填了模型名且在本列表中,则优先使用该名

{{ m.label || m.model_id }}

系统提示词

左侧选择功能模块,右侧编辑对应提示词

修改 database.js 后请重启后端,或点击「同步内置模板」将内置提示词写入数据库(会覆盖当前内容)。物理沙盒提示词在左侧选择「⚛️ 物理沙盒」编辑;API 在「AI 配置」中配置。

正在加载提示词…
加载失败:{{ promptsError }}

暂无提示词数据

{{ promptModeLabel(activePrompt.mode) }}

最后更新:{{ formatDate(activePrompt.updated_at) }}

🛡️ 安全规范管理(党课)

该提示词将以最高优先级注入每一次 AI 对话,用于规范 AI 的政治言论输出。

启用安全规范提示词

关闭后 AI 将不受该规范约束

此内容将拼接在每次对话 system prompt 的最前面,优先级高于所有其他提示词。

⚠️ 注意事项

  • 该提示词对所有用户、所有对话模式均生效
  • 修改后立即生效,无需重启服务
  • 建议保留默认内容,仅在必要时修改
  • 提示词过长可能影响 AI 响应速度

教学风格管理

{{ getStyleIcon(style.icon) }}

{{ style.description }}

{{ style.name }}

默认 自定义

提示词内容:

{{ style.prompt }}

最后更新:{{ formatDate(style.updated_at) }}

公告管理

{{ announcement.title }}

{{ getAnnouncementTypeLabel(announcement.type) }} 已隐藏 优先级: {{ announcement.priority }}

{{ announcement.content }}

发布者:{{ announcement.author_name }} (@{{ announcement.author_username }})

发布时间:{{ formatDate(announcement.created_at) }}

更新时间:{{ formatDate(announcement.updated_at) }}

暂无公告

点击右上角"发布新公告"按钮创建第一条公告

满意度调查问卷

创建、发布问卷,查看用户阅读与答卷情况

{{ survey.title }}

{{ getSurveyStatusLabel(survey.status) }}

{{ survey.description }}

📝 {{ survey.question_count }} 道题 👁 {{ survey.view_count }} 人已读 ✅ {{ survey.submit_count }} 人已提交 ⏭ {{ survey.dismiss_count }} 人已忽略 发布者:{{ survey.author_name }} 发布时间:{{ formatDate(survey.published_at) }}

暂无问卷

点击右上角创建第一份满意度调查

图书推送管理

管理AI推荐的图书内容,根据用户问题智能推荐

图书总数
{{ booksStats.total || 0 }}
激活图书
{{ booksStats.active || 0 }}
总引用次数
{{ booksStats.totalReferences || 0 }}
总点击次数
{{ booksStats.totalClicks || 0 }}
总忽略次数
{{ booksStats.totalIgnores || 0 }}
封面 标题 关键词 敏感度 引用次数 点击次数 忽略次数 状态 操作
无封面
{{ book.title }}
{{ book.description || '暂无描述' }}
{{ keyword.trim() }} +{{ book.keywords.split(',').length - 3 }}
{{ book.sensitivity }}
{{ book.reference_count }} {{ book.click_count }} {{ book.ignore_count }} {{ book.is_active ? '已激活' : '已禁用' }}

暂无图书

点击右上角"添加图书"按钮创建第一本图书

帮助中心管理

管理帮助中心的分类和内容,用户可在前端查看

分类列表

{{ category.icon }} {{ category.title }}
排序: {{ category.sort_order }}
暂无分类
点击右上角"新建分类"创建

{{ selectedHelpCategory.icon }} {{ selectedHelpCategory.title }} - 条目列表

{{ item.title }}

排序: {{ item.sort_order }}

{{ item.content }}

更新时间:{{ formatDate(item.updated_at) }}
该分类下暂无条目
点击右上角"新建条目"创建

请先选择左侧的分类

解题风格管理

配置 AI 解题时使用的风格和提示词,前台用户可选择

{{ style.name }}

默认

{{ style.description }}

排序: {{ style.sort_order }}

提示词预览

{{ style.system_prompt }}

{{ solveStyleForm.id ? '编辑解题风格' : '新增解题风格' }}

提示词中需要包含输出 HTML 的指令,AI 会根据此提示词生成解析页面

学校定制

添加学校并配置专属项目工程,供前台「我的学校」展示

🏫

{{ school.name }}

已禁用

{{ school.address || '未填写地址' }}

学校码:{{ school.school_code }}

📁 {{ school.project_count || 0 }} 个项目工程 · 排序 {{ school.sort_order }}

🏫

暂无学校,点击右上角添加

🏫

{{ selectedCustomSchool.name }}

{{ selectedCustomSchool.address || '未填写地址' }}

项目工程

{{ proj.title }}

已禁用

{{ proj.content || '(无正文)' }}

排序 {{ proj.sort_order }} · 文字 {{ (proj.content || '').length }} 字

暂无项目工程,点击「添加项目」

{{ customSchoolForm.id ? '编辑学校' : '添加学校' }}

留空则系统自动生成 6 位码;编辑时可修改,用户须输入正确学校码才能绑定

点击后自动发送 message 给 AI;label 为按钮文字

logo preview
logo

当前:{{ customSchoolForm.logo_name }}

{{ customProjectForm.id ? '编辑项目工程' : '添加项目工程' }}

标题用于匹配关键词;正文仅在匹配成功时发给 AI,避免浪费 token

官方知识库管理

添加平台官方知识库,用户开启知识库挂载后自动加载

{{ item.title }}

已禁用
{{ item.subject }}
排序: {{ item.sort_order }}

{{ item.description || '暂无描述' }}

📎 {{ item.file_name }} ({{ Math.round(item.file_size / 1024) }}KB)
邀请码: {{ item.invite_code }}

🏛️

暂无官方知识库,点击右上角添加

{{ officialKnowledgeForm.id ? '编辑知识库' : '新增官方知识库' }}

支持 PDF、Word、TXT 格式

当前文件:{{ officialKnowledgeForm.file_name }}

已选择新文件:{{ officialKnowledgeForm.file_name }}

3D 场景模式管理

管理前台 3D 模型页面的场景类型,每个模式可配置独立的 AI 提示词。

{{ mode.name }}

已禁用

{{ mode.description }}

排序: {{ mode.sort_order }}

占位提示

{{ mode.placeholder || '未设置' }}

AI 提示词(前100字)

{{ mode.system_prompt.substring(0, 100) }}...

{{ sceneModeForm.id ? '编辑场景模式' : '新增场景模式' }}

{{ userDetailData.username[0].toUpperCase() }}

{{ userDetailData.nickname || userDetailData.username }}

@{{ userDetailData.username }}

👤 基本信息

用户 ID

{{ userDetailData.id }}

角色

{{ getRoleLabel(userDetailData.role) }}

积分

{{ userDetailData.points }}

账号状态

{{ userDetailData.is_active ? '✓ 正常' : '✗ 已禁用' }}

邮箱

{{ userDetailData.email || '未设置' }}

注册时间

{{ formatDate(userDetailData.created_at) }}

最后登录

{{ formatDate(userDetailData.last_login) }}

📊 数据统计

{{ userDetailData.stats.chatCount }}

对话记录

点击查看

{{ userDetailData.stats.vocabularyCount }}

单词本

点击查看

{{ userDetailData.stats.mistakesCount }}

错题本

点击查看

🎭 教学风格设置

当前使用风格:

{{ getStyleIcon(userDetailData.currentTeachingStyle.icon) }}
{{ userDetailData.currentTeachingStyle.description }}

{{ userDetailData.currentTeachingStyle.name }}

自定义

{{ userDetailData.currentTeachingStyle.prompt }}

未设置(使用系统默认风格)

创建的自定义风格({{ userDetailData.customTeachingStyles.length }}个):

{{ getStyleIcon(style.icon) }}
{{ style.description }}

{{ style.name }} · 创建于 {{ formatDate(style.created_at) }}

{{ style.prompt }}

该用户未创建自定义风格

✏️

编辑用户

修改用户信息

📦 套餐管理

💬

对话记录

{{ chatHistoryUser ? `@${chatHistoryUser.username}` : '' }} 的历史对话

暂无对话记录

{{ chat.role === 'user' ? '👤' : '🤖' }}
{{ chat.role === 'user' ? '用户' : 'AI 助手' }} {{ formatDateTime(chat.timestamp) }}
{{ chat.content }}
📚

单词本

{{ vocabularyUser ? `@${vocabularyUser.username}` : '' }} 的单词收藏

暂无单词记录

{{ word.word }}

{{ word.date }}

{{ word.meaning }}

📝

错题本

{{ mistakesUser ? `@${mistakesUser.username}` : '' }} 的错题记录

暂无错题记录

{{ mistake.subject }} {{ formatDate(mistake.created_at) }}

题目:

{{ mistake.question }}

你的答案:

{{ mistake.user_answer || '未作答' }}

正确答案:

{{ mistake.correct_answer }}

解析:

{{ mistake.explanation }}

🎭

{{ showEditStyleModal ? '编辑教学风格' : '创建教学风格' }}

设置AI的回复语气和风格

用于系统识别,建议使用英文

用户看到的风格名称

这段文字会在AI回复时拼接到系统提示词中

📢

{{ showEditAnnouncementModal ? '编辑公告' : '发布新公告' }}

向所有用户发布系统公告

优先级高的公告会显示在前面

支持换行,会保留格式

📋

{{ surveyForm.id ? '编辑问卷' : '创建问卷' }}

自定义问题,发布后用户将收到弹窗

第 {{ qIdx + 1 }} 题

用户将以 1-5 星评分

用户可自由输入文字回答

答卷详情

{{ surveyResponses.survey?.title }}

{{ surveyResponses.stats.total_views || 0 }}

已阅读

{{ surveyResponses.stats.submitted || 0 }}

已提交

{{ surveyResponses.stats.dismissed || 0 }}

已忽略

{{ surveyResponses.stats.viewed_only || 0 }}

仅阅读未提交

暂无用户互动记录
{{ resp.display_name || resp.nickname || resp.username || ('访客 ' + (resp.guest_id || '').slice(-8)) }} @{{ resp.username }} 未登录访客
{{ getResponseStatusLabel(resp.status) }}
阅读时间:{{ formatDate(resp.viewed_at) }} · 提交时间:{{ formatDate(resp.submitted_at) }}
{{ q.question_text }}: {{ formatAnswerValue(resp.answers[q.id]) }}
📚

{{ showEditBookModal ? '编辑图书' : '添加图书' }}

配置图书信息和推荐规则

正在上传... ✓ 已上传

支持 JPG、PNG、WebP 等格式,单张不超过 5MB(不再使用在线链接)

封面预览

封面保存在服务器本地,前台可直接显示。

{{ keyword }}

输入与图书内容相关的关键词,AI会根据这些关键词推荐图书

敏感度越高,AI越容易推荐这本书

📁

{{ showEditCategoryModal ? '编辑分类' : '新建分类' }}

管理帮助中心的分类

输入一个 Emoji 表情作为图标

📝

{{ showEditItemModal ? '编辑条目' : '新建条目' }}

添加帮助内容

支持纯文本格式,会保留换行

⚙️

{{ showEditFeatureModal ? '编辑功能开关' : '创建功能开关' }}

控制功能在前端的显示

用于系统识别,创建后不可修改

输入一个 Emoji 表情

🧠

用户学习画像分析

{{ profileUser?.nickname || profileUser?.username }}

📊

该用户暂无画像数据

🧠

AI 正在深度理解用户...

分析聊天记录、行为数据、学习时长、情绪变化...

🎯
主导特征 {{ profileDataV2.meta.dominant_trait }}
学习风格 {{ profileDataV2.meta.learning_style }}
风险标记 ⚠ {{ profileDataV2.meta.risk_flag || '无' }}
干预优先级 {{ profileDataV2.meta.intervention_priority }}
{{ profileDataV2.emotional_score < 0.3 ? '🚨' : profileDataV2.emotional_score > 0.7 ? '✨' : '💭' }}

情绪状态

{{ profileDataV2.emotional_label }} {{ profileDataV2.emotional_trend === '上升中' ? '📈 焦虑上升' : profileDataV2.emotional_trend === '下降中' ? '📉 趋于平稳' : '➡ 稳定' }}
"{{ profileDataV2.emotional_state }}"
情绪原因
{{ profileDataV2.emotional_cause || '暂无' }}
AI 干预策略
{{ profileDataV2.emotional_strategy || '暂无' }}
积极度 {{ (profileDataV2.emotional_score * 100).toFixed(0) }}%

📊 8维度向量雷达图

💪 坚持性 {{ profileDataV2.persistence_label }}
{{ (profileDataV2.persistence_score * 100).toFixed(0) }}%
"{{ profileDataV2.persistence_state }}"
🎯 {{ profileDataV2.persistence_strategy }}
🎯 自主性 {{ profileDataV2.autonomy_label }}
{{ (profileDataV2.autonomy_score * 100).toFixed(0) }}%
"{{ profileDataV2.autonomy_state }}"
🎯 {{ profileDataV2.autonomy_strategy }}
{{ dim.icon }} {{ dim.label }}
{{ (profileDataV2[dim.key + '_score'] * 100).toFixed(0) }}%
{{ profileDataV2[dim.key + '_label'] }}
{{ profileDataV2[dim.key + '_state'] }}

🎯 整体画像总结

{{ profileDataV2.overall_summary || '暂无总结' }}

画像更新时间:{{ formatDate(profileDataV2.last_updated) }}
{{ mentalData && mentalData.anxiety_level >= 2 ? '🚨' : mentalData && (mentalData.mental_tag === '兴奋' || mentalData.mental_tag === '高动机') ? '✨' : '💭' }}

心理/情感状态(每30分钟更新)

高焦虑预警
{{ mentalData.mental_tag }}
当前状态
{{ (mentalData.mental_score * 100).toFixed(0) }}%
积极度评分
{{ ['无焦虑','轻度','中度','高度'][mentalData.anxiety_level || 0] }}
焦虑等级
分析依据:{{ mentalData.analysis_basis }}
⚠️ AI 备课建议:当前用户处于高焦虑状态,AI 将自动:降低讲解难度、增加鼓励语、拆分步骤、及时给予肯定反馈。
最后更新:{{ formatDate(mentalData.last_updated) }}

📊 8维度向量雷达图

📋 维度详情

{{ dim.icon }} {{ dim.label }} {{ dim.tag }}
{{ (dim.score * 100).toFixed(0) }}%
{{ dim.basis }}

🎯 整体画像总结

{{ profileData.overall_summary || '暂无总结' }}

画像更新时间:{{ formatDate(profileData.last_updated) }}