ilearnassist交互式学习助理
English
GitHub下载

自托管 · 数据在你手里 · MIT 开源

一个会讲课、会出题、会记住你疑问的学习助手

它不是又一个聊天框。它会制定学习计划、一项一项讲解、出选择题检验你是否真的理解、把你的疑问和笔记记下来,并把这些整理成看得见的面板。所有数据都在你选择的文件夹里,不上传到任何第三方服务器——除了你自己配置的大模型接口。

或从源码运行

  • 本机运行
  • 数据不出你的文件夹
  • 自带 Key,不限服务商
  • MIT 开源

为什么不一样

聊天框能回答问题,但它不负责你学会了没有

和一个通用聊天机器人学东西,问题不在于它答得不好,而在于它没有「教学过程」这个概念:它不知道你学到哪了,不检验你有没有懂,也留不住你中途冒出来的疑问。

通用聊天框ilearnassist
学习计划没有,你得自己想学什么、按什么顺序带多级编号的计划,讲到哪里一目了然,可跳到任意章节
讲解节奏一口气把整块内容倒给你一轮通常只讲一项,你确认了才继续
有没有检验你说懂了它就信出选择题、判分、客观指出误区,不直接把答案说出来
你的疑问沉在消息流里,翻不回去笔记带原文引用,点一下跳回原文位置
数据在哪在别人的服务器上在你首次启动时选的文件夹里

功能

装好、填一个 Key,就能开始用

下面这些不需要额外配置。首次启动时选一个放数据的文件夹、创建一个管理员账号、填一家模型服务商的 Key,就全部可用。

「引导学习」助理(内置)

一位懂得循序渐进的导师:先了解你想学什么,给出带多级编号的学习计划,等你确认后逐项讲解;每讲完一个知识点出选择题检验。你说什么语言,它就用什么语言教。

七个学习控件

右侧面板上的计划、测验、脉络、笔记、图表、思考、参考资料。它们不是装饰——每一步教学都会往里面写东西,你随时能回头看。

追问任意对象

选中一段话,或点一下某个图表、表格、笔记、参考资料,就能针对它提问。助手回答时会去读它当前的样子,而不是它被写下来时的样子。

助理可以自己定义

人设提示词、可用工具、默认控件,都可以做成一个助理。对话开始时会复制一份设定,之后改助理不会影响已经开始的对话。

资料库与 @ 引用

上传 PDF / Word / Excel / PPT / 纯文本,或收藏网页。在输入框里打 @ 挑一份资料,它就成为这轮对话的上下文;也可以 @ 一整个工作区。

文档解析,本地离线

PDF 和 Office 文档在本机提取文字,不需要联网。扫描件也可以接云端解析服务(MinerU、LlamaParse 等),但那是可选项。

网页搜索与抓取

内置 Bing / DuckDuckGo,免 Key 可用;也支持 Tavily / SearXNG。助手可以把确认有用的网页收藏成资料,之后随时引用。

文件预览

代码高亮、Markdown、Mermaid 图表、表格、图片、PDF 都在应用内直接看,不用切到别的程序。

还有

  • 多账号,三级权限
  • 桌面控制面板
  • 局域网扫码用手机看
  • Token 用量与成本统计
  • 中英双语界面
  • 明暗主题

七个控件

教学过程是看得见的

大多数 AI 学习工具把过程藏在对话流里。这里每个控件都对应教学中的一个环节,并且会随着讲解自动长出来。

  1. 计划

    一份可勾选进度的多级 TODO 列表,讲到哪里一目了然,可以跳到任意章节。

  2. 测验

    助手出题后,题卡可以直接作答,答完由助手判分解析;错过或跳过的题目可以补做。

  3. 脉络

    每一轮对话被自动归类到学习脉络里,可按主题回看。

  4. 笔记

    选中任意一段话写笔记,也可以给图表、表格、参考资料写;笔记带原文引用,点击可以跳回原文位置。

  5. 图表

    助手画的结构图、流程图,以及它给出的表格,都在这里,点开即看。

  6. 思考

    一键让助手回顾整个过程,给出关于你学习状况的观察(难点、易混淆点、强项)。

  7. 参考资料

    本次对话用到的文件、网页,一目了然。

内置助理

「引导学习」是怎么上课的

它是一个公开助理,所有账号都能看到并使用,同时启用了上面那七个控件。

它的说话方式是深度、实战、最佳实践导向的,不是入门简介。用哪种语言由你决定:你用中文它就用中文,你用英文它就用英文,中途换语言它也跟着换——计划、清单、题目和总结都跟着换。

  1. 你提出一个学习主题(或它引导你明确一个)。
  2. 它做网页搜索确认最新情况,然后给出学习计划:背景 → 一个整体实例 → 核心内容清单。
  3. 讲完一个知识点出一组选择题检验,等你作答后判分并客观解析——它不会自己把答案说出来。
  4. 你答完,它问你是否继续;你说继续,它进入下一项。
  5. 你可以随时打断追问,或按编号跳过某一项,它会回到主线。
  6. 全部讲完做总结,包括内容清单和过程中发现的、需要加强的部分。

隐私与自托管

数据在你手里,这件事是能验证的

「本地优先」这句话谁都会说。下面是具体的、你可以自己去文件夹里核对的事实。

数据在你选的文件夹里

首次启动时你挑一个位置(面板建议 ~/ilearnassist)。里面是 db/sqlite/ilearnassist.sqlite(数据库)、users/<用户名>/workspaces/(工作区与对话文件)、users/<用户名>/sources/(上传的资料)。

唯一的对外请求是你配置的模型接口

没有账号体系、没有遥测、没有回传。除了你填入的那家模型服务商,应用不会主动往外发请求——网页搜索是你主动触发时才发生的。

局域网共享默认关闭

服务默认只监听 127.0.0.1。手机扫码访问需要你在控制面板里主动打开一个开关,打开后同一网络内的设备可以看到你的工作区、对话和 Key 配置——所以它是关着的。

卸载不删数据

程序和数据放在两个地方。卸载应用不动你的数据文件夹;想彻底清除,手动删掉那个文件夹即可。

升级前自动快照

数据库结构变化时,应用会在升级之前先复制一份到 <数据文件夹>/backups/(保留最近 5 份),因为一次「成功但结果不对」的升级没有别的退路。

模型服务商由你选

内置 DeepSeek、智谱 GLM、通义千问、Kimi、MiniMax、OpenAI、Google Gemini,也支持任何 OpenAI 兼容的服务(Ollama、LM Studio、vLLM、自建网关……)。换服务商不用换工具。

演示

每一个环节,都录下来了

下面六段录屏都是真实操作,没有剪辑。点击播放。

从下载到能用:选数据目录、创建管理员、打开应用,只有这几步。
填入 Key 之后,模型才会出现在选择器里。
学习计划会随讲解逐项长出来,讲完一项就用选择题检验。
答错会被客观指出;笔记可以点回原文。
上传的资料可以用 @ 引用,助手会读它。
图表与脉络面板自动汇集这个对话画过的和讨论过的。

开始使用

四条屏幕,从下载到能上课

推荐直接下载安装包。不想用安装包的话,源码路径在下面。

下载安装包

安装包托管在 GitHub Releases。选择对应你系统的版本,下载后按提示安装。

前往下载页

先说清楚:安装包没有代码签名

这个项目没有购买代码签名证书,所以系统会拦一下。这不是出错,只是系统不认识这个开发者。

  • macOS:在应用上点右键 → 打开 → 再点一次「打开」。只需一次。
  • Windows:在 SmartScreen 提示里点「更多信息」→「仍要运行」。

也正因为没有证书,这里没有做「一键自动更新」—— macOS 上的自动更新要求付费签名。三个平台用同一套做法(下载新安装包覆盖安装,你的数据在数据文件夹里,覆盖安装不会碰它),比一个只在两个平台能用的按钮更诚实。

从源码运行

需要 Node.js ≥ 20 和 pnpm ≥ 9。

终端
git clone https://github.com/waychan23/ilearnassist.git
cd ilearnassist
pnpm install

# 配置:数据目录 + 模型 Key
cp .env.example .env
# 编辑 .env,至少填一个 DEEPSEEK_API_KEY(或其他服务商的 Key)

# 全新的数据目录里没有管理员,先创建一个
pnpm --filter @ilearnassist/server cli create-admin --username <你的用户名> --generate

pnpm dev

首次启动会走这四步

  1. 启动应用,控制面板出现。
  2. 选择数据文件夹(面板会建议 ~/ilearnassist)。这里将存放你的数据库、工作区和上传的文件。
  3. 创建超级管理员:填一个用户名和密码。忘了可以用控制面板重置。
  4. 服务器自动启动,点「打开应用」登录。
  5. 填一个模型 API Key(平台管理 → 模型服务)。填好之前,模型列表是空的。
  6. 新建工作区 → 新建对话 → 助理选「引导学习」,然后告诉它你想学什么。

首次遇到防火墙询问时,请允许应用在本机(127.0.0.1)通信。默认不对外开放。

模型服务商

用你自己已经开通的那家

首次启动时下面这些会自动写入,之后以「平台管理 → 模型服务」为准。国内和国际的接口是分开的条目(两边的地址和 Key 都不通用),按你的网络情况选一个填 Key 即可。

  • DeepSeekapi.deepseek.com/v1
  • 智谱 GLMopen.bigmodel.cn/api/paas/v4
  • 通义千问dashscope.aliyuncs.com/compatible-mode/v1
  • Kimiapi.moonshot.cn/v1
  • MiniMaxapi.minimaxi.com/v1
  • OpenAIapi.openai.com/v1
  • Google Geminigenerativelanguage.googleapis.com/v1beta/openai/

只显示已经配置好的。没填 Key 的服务商不会出现在模型选择器里——与其给你一个点了没反应的服务商,不如不给。

任何 OpenAI 兼容的服务都能在控制台里手动添加:Ollama、LM Studio、vLLM、自建网关……

常见问题

你可能想问的

我的数据在哪里?

在你首次启动时选择的那个数据文件夹里(默认建议 ~/ilearnassist)。控制面板会显示这个路径,并有一个按钮可以在文件管理器里打开它。复制这个文件夹就是完整备份。

忘记密码了怎么办?

用桌面控制面板的「重置管理员密码」。它不需要服务在运行——忘了密码往往和别的问题一起被发现,所以恢复手段不能依赖一个可能已经出问题的服务。

为什么模型列表是空的?

没有填 API Key。到「平台管理 → 模型服务」配置一个,它会立刻出现在模型选择器里。

手机能一起用吗?

可以。控制面板里有「局域网共享」开关,打开后会显示一个二维码,手机连同一个 Wi-Fi 扫码即可。打开之前请想清楚:这会让同一网络内的设备看到你的工作区、对话和 Key 配置。默认是关闭的。

卸载会删掉我的数据吗?

不会。程序和数据在两个地方,卸载程序不动你的数据文件夹。想彻底清除,手动删除该文件夹。

查看全部问题 · 反馈问题