Skip to content
项目

liangxiao777/TeachMeCoding has 48 GitHub stars and 4 forks. GitHot measured +12 stars in 24 hours. Last checked 2026-11-15 04:43 UTC. Last push 2026-10-30.

这些数字如何统计

48 星标4 复刻 +12 24小时

可以做什么

  • A complete learning workflow: clarify your needs → plan a roadmap → study lessons and practice coding → receive assessments and feedback.
  • An adaptable learning roadmap: organized into stages and units, with units unlocking in order once lessons for preceding units are ready.
  • Real projects and terminals: each learning space has a project directory on disk. The editor saves as you type, and the terminal is a real shell.
  • Assessments backed by execution evidence: coding submissions run locally and their output is checked, with support for Python, JavaScript, TypeScript, Rust, and Bash.

实测星标增长

24小时
+12
7天
正在收集历史
15天
正在收集历史
1个月
正在收集历史

各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。

关于

Local-first AI coding tutor with personalized roadmaps, lessons, hands-on practice, and execution-backed assessments. 本地 AI 编程老师:生成学习路线和课件,在真实项目中练习,用运行结果辅助测评。

人工智能

README.zh.md

原文

TeachMeCoding 标志

TeachMeCoding

English · 简体中文

本地运行的 AI 编程教学应用:从学习目标出发,生成路线和课件,在真实项目里练习,并用真实执行结果测评。

License Apache-2.0 Node 24.15 pnpm 11.1 平台 macOS、Linux 状态 alpha

快速开始 · 文档 · 参与贡献 · 安全

TeachMeCoding 学习路线与 Agent 对话

TeachMeCoding 为每个学习目标创建独立的学习空间。教学 Agent 先和你澄清需求,再规划学习路线、编写课件;你在内置 IDE 和本机终端中动手练习,代码题在本机真实运行后再由模型评估。所有数据保存在本机的 SQLite 和项目目录中,整个应用只需一个 Node 进程。

[!WARNING] Agent 以运行服务的系统账号权限读取文件、执行 Bash 和访问网络,不是沙箱。请只在你信任模型、工具和资料的环境中运行,详见 SECURITY.zh.md。

目录

功能特性

  • 完整学习流程:澄清需求 → 规划路线 → 学习课件与编程练习 → 测评与反馈。
  • 可调整的学习路线:按阶段和单元组织,单元在前序课件完成后依次解锁。
  • 真实项目与终端:每个学习空间对应磁盘上的项目目录;编辑器输入即自动保存,终端是真实的 shell。
  • 基于执行证据的测评:代码题在本机运行并比对输出,支持 Python、JavaScript、TypeScript、Rust 和 Bash。
  • 改动先确认再生效:路线调整、课件重写、文件修改和学习结论都以提案呈现;也可以按会话开启 YOLO 模式自动接受。
  • 多模型 Provider:基于 Pi 接入多家 Provider,支持 API Key 与 OAuth 登录,并显示上下文用量。
  • 资料库:上传任意格式的参考资料,Agent 按需读取。
  • 联网能力:14 种可选的搜索服务(含无需 API Key 的 DuckDuckGo)和内置的网页抓取。
  • MCP 与 Skills:在设置中添加 MCP 服务器,从 skills.sh 浏览和安装 Skills。
  • English 与简体中文界面,以及亮色与暗色主题。
单元页:Agent 正在生成课件,显示执行进度与工具调用 全屏 IDE:编辑 Python 练习文件并在本机终端运行
课件生成 全屏 IDE 与本机终端

截图来自本机实际运行的学习空间。

项目状态

0.2.0 是早期版本,功能、接口和数据格式都可能变化。

仅支持 macOS 和 Linux(Ubuntu/Debian);不支持 Windows。

本地验证使用 Node 24.15.0,已在 macOS 26 / arm64 和非 root 的 Debian 12 / arm64 Docker 环境中通过安装、类型检查、构建、测试及 SQLite/PTY 检查;macOS 还通过了 Google Chrome 浏览器执行测试。Linux 浏览器检查仅限 x86_64,Linux arm64 仅完成后端/原生依赖验证;Intel Mac 尚未验证。测试命令和 CI 覆盖范围见开发指南。

快速开始

环境要求

  • Node.js 24.15.0
  • pnpm 11.1.0
  • PATH 中的 Git 和 Bash。

原生依赖(better-sqlite3、node-pty)在没有可用预编译二进制时需要 Python 3 和编译工具。macOS 的 node-pty 补丁始终从源码编译。

系统 原生编译依赖
macOS Python 3 和 Xcode Command Line Tools(xcode-select --install)
Linux(Ubuntu/Debian) sudo apt-get update && sudo apt-get install -y git bash build-essential python3

代码测评需要的其他语言工具链(如 rustc)请自行安装并加入 PATH。Python 测评需要 python3。Agent 不会自动安装缺少的工具链。

安装与启动

从 GitHub Releases 下载 teach-me-coding-0.2.0.tar.gz 和 SHA256SUMS。两个支持的平台使用同一个压缩包:包含已构建的服务端和前端,但不包含 Node.js 和依赖。请先安装上述环境依赖,重新打开终端,使更新后的 PATH 生效。

npm install --global [email protected]
tar -xzf teach-me-coding-0.2.0.tar.gz
cd teach-me-coding-0.2.0
pnpm install --frozen-lockfile
pnpm start

解压前请校验下载文件:macOS 使用 shasum -a 256 -c SHA256SUMS,Linux 使用 sha256sum -c SHA256SUMS。

也可以从源码构建:

git clone https://github.com/liangxiao777/TeachMeCoding.git
cd TeachMeCoding
pnpm install --frozen-lockfile
pnpm build
pnpm start

打开 http://127.0.0.1:4310。从源码开发时可以改用 pnpm dev(前端 http://127.0.0.1:5173),见开发指南。

配置模型

打开「设置 → 模型配置」,选择 Provider、模型和登录方式。凭据只保存在本机的数据目录中(默认 ~/.teach-me-coding/),不会返回浏览器。

使用方式

  1. 在首页描述你想学的内容,例如「我想学习 Rust,最后能写一个命令行工具」。
  2. 回答 Agent 关于背景、目标和时间安排的问题,确认需求摘要。
  3. 查看生成的学习路线,需要时让 Agent 调整。
  4. 逐个单元阅读课件,在 IDE 和终端中练习,随时向 Agent 提问。
  5. 完成测评,根据反馈继续学习。

配置

  • 启动参数(数据目录、端口、监听地址等)通过环境变量或项目根目录的 .env 设置,参考 .env.example。
  • 模型、搜索、MCP 和 Skills 在应用的「设置」页面管理。

默认只监听 127.0.0.1。设置 HOST=0.0.0.0 可以在局域网中访问,但没有登录鉴权,只应在可信网络中使用。

全部选项、数据目录结构和备份方法见配置文档。

文档

  • 配置:启动参数、模型、数据目录与备份、局域网访问、搜索、网页抓取、MCP、Skills
  • 架构:组成部分、Agent 场景与工具、提案与 YOLO 模式、运行生命周期、本机执行边界
  • 开发指南:开发环境、项目结构与测试
  • 界面翻译:翻译约定与检查
  • 参与贡献:问题反馈与 Pull Request 流程
  • 安全策略:安全模型与漏洞报告

参与贡献

欢迎通过 Issues 反馈问题或提出建议。提交 Pull Request 前请阅读 CONTRIBUTING.zh.md。

致谢

许可证

本项目基于 Apache License 2.0 开源。

Copyright 2026 lxiao(@liangxiao777)