一个基于 AI 的智能错题管理系统,帮助学生高效整理、分析和复习错题。
本应用的屏幕截图功能依赖浏览器的安全上下文(HTTPS)。在 Docker 或局域网环境中使用时,请参考 HTTPS 配置指南启用内置 HTTPS 支持。
本项目支持 PWA(Progressive Web App),您可以将应用添加到手机主屏幕,获得原生应用般的使用体验。
功能特性:
使用方法:
您可以选择 直接使用命令(适合快速测试)或 Docker Compose(适合长期运行)。
docker run -d --name wrong-notebook \
-e NEXTAUTH_SECRET="your_secret_key" \
-p 3000:3000 \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config \
ghcr.io/wttwins/wrong-notebook
使用 docker-compose.yml 文件进行管理。
curl -o docker-compose.yml https://raw.githubusercontent.com/wttwins/wrong-notebook/refs/heads/main/docker-compose.yml
docker-compose up -d
docker-compose logs -f
docker-compose down
git clone https://github.com/wttwins/wrong-notebook.git
cd wrong-notebook
确保已安装 Node.js(v18+)和 npm。
npm install
复制 .env.example 为 .env 并填入必要的配置:
cp .env.example .env
| 环境变量 | 描述 | 默认值 | 说明 |
|---|---|---|---|
| DATABASE_URL | 数据库连接地址 | file:./dev.db | SQLite 数据库路径 |
| NEXTAUTH_SECRET | Auth 密钥 | 无 | 用于加密 Session,生产环境建议设置,可以使用 openssl rand -base64 32 生成随机字符串作为密钥 |
| NEXTAUTH_URL | 访问地址 | [***] | 部署后的访问地址 |
| AUTH_TRUST_HOST | 信任主机头 | true | 设置为 true 时自动推断 URL,适合 Docker/PaaS |
| LOG_LEVEL | 日志级别 | debug(开发)/ info(生产) | 可选值:trace, debug, info, warn, error, fatal |
| HTTP_PROXY | HTTP 代理 | 无 | 设置 HTTP 代理 |
| HTTPS_PROXY | HTTPS 代理 | 无 | 设置 HTTPS 代理 |
| 环境变量 | 描述 | 默认值 | 说明 |
|---|---|---|---|
| AI_PROVIDER | AI 提供商 | gemini | 可选 gemini、openai 或 azure |
| 环境变量 | 描述 | 默认值 | 说明 |
|---|---|---|---|
| GOOGLE_API_KEY | Gemini API Key | 无 | 使用 Gemini 时必填,从 Google AI Studio 获取 |
| GEMINI_BASE_URL | Gemini API 地址 | 无 | 可选,默认 [***] |
| GEMINI_MODEL | Gemini 模型 | gemini-2.5-flash | 可选,如 gemini-2.5-pro、gemini-3.0-flash 等 |
| 环境变量 | 描述 | 默认值 | 说明 |
|---|---|---|---|
| OPENAI_API_KEY | OpenAI API Key | 无 | 使用 OpenAI 时必填,从 OpenAI Platform 获取 |
| OPENAI_BASE_URL | OpenAI API 地址 | 无 | 可选,默认 [***] |
| OPENAI_MODEL | OpenAI 模型 | gpt-4o | 可选,如 gpt-4-turbo、o3、o4-mini 等 |
| 环境变量 | 描述 | 默认值 | 说明 |
|---|---|---|---|
| AZURE_OPENAI_API_KEY | Azure API Key | 无 | 使用 Azure OpenAI 时必填,从 Azure 门户获取 |
| AZURE_OPENAI_ENDPOINT | Azure Endpoint | 无 | Azure 资源端点,如 [***] |
| AZURE_OPENAI_DEPLOYMENT | 部署名称 | 无 | Azure 中配置的部署名称,如 gpt-4o |
| AZURE_OPENAI_API_VERSION | API 版本 | 2024-02-15-preview | 可选,Azure API 版本 |
| AZURE_OPENAI_MODEL | Azure 模型 | gpt-4o | 可选,显示用的模型名称 |
npx prisma migrate dev
npx prisma db seed
默认管理员账户:
[!NOTE] 管理员登录后,可在“设置” -> “用户管理”中管理系统用户。
npm run dev
访问 [***] 开始使用。
本项目支持动态配置 AI 模型,无需重启服务器。
[!NOTE] 注意:网页配置会保存到 config/app-config.json 文件中,该文件的优先级高于 .env 环境变量。
选择提供商后,填写对应参数即可。各服务商获取方式如下:
| 参数 | 获取方式 |
|---|---|
| API Key | Google AI Studio → 创建 API Key |
| Base URL | 默认 [***] |
| 模型 | gemini-2.5-flash(推荐)、gemini-2.5-pro、gemini-3.0-flash 等 |
| 参数 | 获取方式 |
|---|---|
| API Key | OpenAI Platform → Create new secret key |
| Base URL | 默认 [***] |
| 模型 | gpt-4o(推荐)、gpt-4-turbo、o3、o4-mini 等 |
[!NOTE] 兼容模式:OpenAI 提供商兼容所有支持 OpenAI API 格式的第三方服务。只需将 Base URL 改为对应服务地址,即可使用硅基流动、智谱 GLM、月之暗面 Kimi、通义千问 DashScope 等平台的模型。模型名称需填写对应平台的完整模型 ID。
| 参数 | 获取方式 |
|---|---|
| API Key | Azure 门户 → 你的 OpenAI 资源 → 密钥和终结点 |
| Endpoint | Azure 门户 → 你的 OpenAI 资源 → 终结点,如 [***] |
| 部署名称 | Azure 中配置的模型部署名称,如 gpt-4o |
| API 版本 | 默认 2024-02-15-preview |
| 模型 | 显示用的模型名称,如 gpt-4o |
在 scripts/ 目录下提供了一些实用脚本,用于维护和调试:
node scripts/reset-password.js
示例:
node scripts/reset-password.js user@example.com 123456
本应用的屏幕截图功能依赖浏览器的安全上下文 (HTTPS)。在 Docker 或局域网环境中使用时,请参考 HTTPS 配置指南 启用内置 HTTPS 支持。
本项目支持 PWA (Progressive Web App),您可以将应用添加到手机主屏幕,获得原生应用般的使用体验。
功能特性:
使用方法:
您可以选择 直接使用命令 (适合快速测试) 或 Docker Compose (适合长期运行)。
选项 A:直接使用 Docker 命令
docker run -d --name wrong-notebook \
-e NEXTAUTH_SECRET="your_secret_key" \
-p 3000:3000 \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config \
ghcr.io/wttwins/wrong-notebook
选项 B:使用 Docker Compose (推荐)
使用 docker-compose.yml 文件进行管理。
curl -o docker-compose.yml https://raw.githubusercontent.com/wttwins/wrong-notebook/refs/heads/main/docker-compose.yml
docker-compose up -d
docker-compose logs -f
docker-compose down
git clone https://github.com/wttwins/wrong-notebook.git
cd wrong-notebook
确保已安装 Node.js (v18+) 和 npm。
npm install
复制 .env.example 为 .env 并填入必要的配置:
cp .env.example .env
基础配置
| 环境变量 | 描述 | 默认值 | 说明 |
|---|---|---|---|
DATABASE_URL | 数据库连接地址 | file:./dev.db | SQLite 数据库路径 |
NEXTAUTH_SECRET | Auth 密钥 | 无 | 用于加密 Session,生产环境建议设置,可以使用 openssl rand -base64 32 生成一个随机字符串作为密钥 |
NEXTAUTH_URL | 访问地址 | http://your-domain-name:3000 | 部署后的访问地址 |
AUTH_TRUST_HOST | 信任主机头 | true | 设置为 true 时自动推断 URL,适合 Docker/PaaS |
LOG_LEVEL | 日志级别 | debug (开发) / info (生产) | 可选值:trace, debug, info, warn, error, fatal |
HTTP_PROXY | HTTP 代理 | 无 | 设置 HTTP 代理 |
HTTPS_PROXY | HTTPS 代理 | 无 | 设置 HTTPS 代理 |
AI 配置
| 环境变量 | 描述 | 默认值 | 说明 |
|---|---|---|---|
AI_PROVIDER | AI 提供商 | gemini | 可选 gemini、openai 或 azure |
Gemini 配置
| 环境变量 | 描述 | 默认值 | 说明 |
|---|---|---|---|
GOOGLE_API_KEY | Gemini API Key | 无 | 使用 Gemini 时必填,从 Google AI Studio 获取 |
GEMINI_BASE_URL | Gemini API 地址 | 无 | 可选,默认 https://generativelanguage.googleapis.com,通常无需修改 |
GEMINI_MODEL | Gemini 模型 | gemini-2.5-flash | 可选,如 gemini-2.5-pro、gemini-3.0-flash 等 |
OpenAI 配置
| 环境变量 | 描述 | 默认值 | 说明 |
|---|---|---|---|
OPENAI_API_KEY | OpenAI API Key | 无 | 使用 OpenAI 时必填,从 OpenAI Platform 获取 |
OPENAI_BASE_URL | OpenAI API 地址 | 无 | 可选,默认 https://api.openai.com/v1;使用第三方兼容服务时填写对应地址 |
OPENAI_MODEL | OpenAI 模型 | gpt-4o | 可选,如 gpt-4-turbo、o3、o4-mini 等 |
Azure OpenAI 配置
| 环境变量 | 描述 | 默认值 | 说明 |
|---|---|---|---|
AZURE_OPENAI_API_KEY | Azure API Key | 无 | 使用 Azure OpenAI 时必填,从 Azure 门户获取 |
AZURE_OPENAI_ENDPOINT | Azure Endpoint | 无 | Azure 资源端点,如 https://xxx.openai.azure.com |
AZURE_OPENAI_DEPLOYMENT | 部署名称 | 无 | Azure 中配置的部署名称,如 gpt-4o |
AZURE_OPENAI_API_VERSION | API 版本 | 2024-02-15-preview | 可选,Azure API 版本 |
AZURE_OPENAI_MODEL | Azure 模型 | gpt-4o | 可选,显示用的模型名称 |
npx prisma migrate dev
npx prisma db seed
默认管理员账户:
admin@localhost123456[!NOTE] 管理员登录后,可在“设置” -> “用户管理”中管理系统用户。
npm run dev
访问 [***] 开始使用。
本项目支持动态配置 AI 模型,无需重启服务器。
[!NOTE] 网页配置会保存到
config/app-config.json文件中,该文件的优先级高于.env环境变量。
选择提供商后,填写对应参数即可。各服务商获取方式如下:
| 参数 | 获取方式 |
|---|---|
| API Key | Google AI Studio → 创建 API Key |
| Base URL | 默认 https://generativelanguage.googleapis.com,通常无需修改 |
| 模型 | gemini-2.5-flash(推荐)、gemini-2.5-pro、gemini-3.0-flash 等 |
| 参数 | 获取方式 |
|---|---|
| API Key | OpenAI Platform → Create new secret key |
| Base URL | 默认 https://api.openai.com/v1 |
| 模型 | gpt-4o(推荐)、gpt-4-turbo、o3、o4-mini 等 |
[!NOTE] 兼容模式:OpenAI 提供商兼容所有支持 OpenAI API 格式的第三方服务。只需将 Base URL 改为对应服务地址,即可使用硅基流动、智谱 GLM、月之暗面 Kimi、通义千问 DashScope 等平台的模型。模型名称需填写对应平台的完整模型 ID。
| 参数 | 获取方式 |
|---|---|
| API Key | Azure 门户 → 你的 OpenAI 资源 → 密钥和终结点 |
| Endpoint | Azure 门户 → 你的 OpenAI 资源 → 终结点,如 https://xxx.openai.azure.com |
| 部署名称 | Azure 中配置的模型部署名称,如 gpt-4o |
| API 版本 | 默认 2024-02-15-preview |
| 模型 | 显示用的模型名称,如 gpt-4o |
在 scripts/ 目录下提供了一些实用脚本,用于维护和调试:
node scripts/reset-password.js
示例:
node scripts/reset-password.js user@example.com 123456
MIT License
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务