MCP server: One MCP server.

LingJing

@genesis-planMCP server · External

LingJing classroom MCP: human teaches, AI student questions; returns blindspots & summary.

Self-hosting & homelabv1.0.1JavaScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

Not assessed yet.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npmlingjing-classroom-mcpv1.0.1

Run

npx -y lingjing-classroom-mcp

MCP client config

{
  "mcpServers": {
    "lingjing": {
      "command": "npx",
      "args": [
        "-y",
        "lingjing-classroom-mcp"
      ]
    }
  }
}
README3 min read

灵境 LingJing

License Node Deps Core

一间虚拟课室:人类给 AI 上课,AI 当一面镜子。 人讲 → AI 多角追问 → 人答 → 人自判 → 带走你的思考、盲区与总结。

English web version (no install, BYO-key): https://hongchenlingjing.com/lingjing-en/ — three personal uses: self-learner comprehension checks, a private knowledge library, your own experience made queryable. No signup; your API key stays in your browser and is never sent to any server (BYO-key app). Works with free models (OpenRouter free tier).

角色契约:人类是体验者(也是传授者),AI 是激发者;AI 不学习、不评分、不判定,判定权永远归人。 这不是产品态度,是架构不变量——世界模型 World = ⟨S, R, M, T⟩ 里根本不存在「学生 → 分数」这条边。

说明
是一间可以本机跑起来的虚拟课室;一名 AI 学生(一面镜子 · 小明)按七类探测追着你问;课后给你「他问的 / 你答的」逐条并排清单
不是答疑机器人(它不答问)、评分 / 考核工具、知识库检索、情感陪伴产品,也不是公网可用的多租户服务

30 秒上手

① 跑起来(零依赖,Node 22+)

bash
git clone https://github.com/genesis-plan/lingjing.git
cd lingjing
node server.js          # → http://localhost:8080

浏览器打开 http://localhost:8080(2D 课室)或 http://localhost:8080/classroom3d.html(3D 课室,Three.js 已本地化,离线可用)。 再点 / 上的输入框,讲一段你熟悉的东西——课就开始。

不配任何密钥也能跑:走确定性兜底语料,流程完整、体验降级、全程零外发。

② 想让 AI 学生说人话(可选,须自带 key)

bash
# 默认硅基流动(国内,数据不出境);须自带 key
LINGJING_LLM_PROVIDER=siliconflow LINGJING_SILICONFLOW_KEY=xxx node server.js

# 或换其他境内提供商
LINGJING_LLM_PROVIDER=zhipu LINGJING_ZHIPU_KEY=xxx node server.js

# 仅当你明确要用境外 OpenRouter 时才指定(课堂文本将出境,须自担合规)
LINGJING_LLM_PROVIDER=openrouter LINGJING_OR_KEY=sk-or-v1-xxx node server.js

# 或换境内提供商(数据不出境)
LINGJING_LLM_PROVIDER=zhipu       LINGJING_ZHIPU_KEY=xxx       node server.js
LINGJING_LLM_PROVIDER=siliconflow LINGJING_SILICONFLOW_KEY=xxx node server.js
LINGJING_LLM_PROVIDER=deepseek    LINGJING_DEEPSEEK_KEY=xxx    node server.js

③ 看真实测试基线

bash
node tools/test_questioning.mjs     # 提问引擎(确定性提问规格)
node tools/test_reflection.mjs      # 双稿制反思引擎
node tools/test_weakpoint.mjs       # 薄弱点定位层(跨场景必不同)
node tools/test_p0_wiring.mjs       # 盲区环端到端接线

完整 23 个测试的分类、依赖与真实通过数见 02 · 使用指南。


能力边界(诚实声明)

维度说明
判定不做。任何"你答到了没有 / 学生懂没懂"的自动判定都已被主动删除(曾经实装过,标定发现是噪声)
学生的"理解度"不存在这个量。我们不知道一个 AI 学生有没有"悟"(它没有脑子),所以从不声称知道
AI 学生人数1 名(一面镜子)。2026-09-18 由"5 名学生分角色"改为一名——要的是照出缝的镜子,不是一群角色
提问由谁决定确定性层决定"问什么、钉哪个口子"(薄弱点定位 + 提问规格);LLM 只当"嗓音"负责把它说出口
依赖零第三方依赖(只用 Node 内置模块与浏览器标准 API)
数据不留账号、不留手机号;课堂世界落 sessions/(已 gitignore);配了 LLM 才外发文本,可切境内提供商或完全不配
部署自托管(本机 / 内网)。无账号、无鉴权、无公网服务;公网运营前须过合规清单(见 06)
验证tools/ 下 23 个自动化测试;无 CI(改动无自动守护,见 07)

不承诺:AI 学生问出的话一定切中要害;任何"教育效果"。研究引用是我们的设计依据,不是"已达到该效果"的证据。


灵境 MCP · 给 AI Agent 的课室

灵境除了本机网页课室,现已打包成 MCP stdio server(lingjing-classroom-mcp)——让任何支持 MCP 的 AI Agent / 编排器直接调用这间"课室":人(或 Agent)讲授,灵境当学生追问,返回盲区与总结。

特性:确定性引擎,无需 LLM、无需联网、可离线复现;fail-closed(无效会话直接报错)。与网页课室共享同一套"七类认知盲区"判定逻辑,但不经过 LLM 嗓音层,纯本地可复现。

一键接入(agents npx 即用)

bash
npx lingjing-classroom-mcp

四个工具:lingjing_start_session(开课)→ lingjing_teach(讲授 + 苏格拉底追问)→ lingjing_reflect(七维盲区 + 总结 + 卡片)→ lingjing_close_session(收尾并清理)。完整用法见 mcp/README.md。

发现 / 分发

渠道状态
官方 MCP Registryio.github.genesis-plan/lingjing v1.0.1(active · isLatest)
npmlingjing-classroom-mcp @1.0.1
Glama / HiMCP / LobeHub待自动收录(本仓已含 server.json,目录爬到即显)

包源码在 mcp/;Registry 条目与 npm 包版本一致。许可同本仓 UNLICENSED(商用须书面授权)。


文档

文档内容
01 · 产品作用它是什么、给谁用、为什么不评分、能力与边界、对外口径红线
02 · 使用指南自托管上手、HTTP 接口、环境变量、LLM 配置、测试真实基线、常见问题
03 · 设计思想角色契约、盲区照见反思环、理论依据、试过并删掉的东西、防漂移红线
04 · 技术参考模块表、薄弱点定位层、提问引擎、双稿制反思、世界模型、LLM 接入、测试体系、已知问题
05 · 应用场景七类场景(经验萃取 / 费曼自测 / 团队交接 / 教学训练 / 专家访谈 / 研究对照 / 部署形态)与误用清单
06 · 许可与合规授权现状(UNLICENSED)、数据实践与出境提示、公网运营前必须补的清单
07 · 版本管理当前无版本号体系的原因、建议约定、发布一致性清单、兼容性承诺
08 · 项目历史从物理定律学习到虚拟课室的完整沿革,含被推翻的方向与被删除的功能
09 · 数学框架设计期统一数学框架(灵境照见代数)——归档文档,实现以 04 为准
10 · 方法论基座盲区照见反思环的方法论展开与证据基座——归档文档,实现以 04 为准

结构

server.js            极简 HTTP 服务(SSE 流式课堂 + 静态资源 + 安全护栏)
teacher.js           课堂编排:探针调度(薄弱点定向优先 + 轮转兜底)、纪要、finalize
teaching.js          纯数学模型:薄弱点定位层 detectWeakPoints + 七类探测策略库
questioning.js       TCMQ 确定性提问引擎(只产出"问句规格",不产出文字)
llm.js               LLM 连接器:多提供商 + 降级链 + 按功能组合管线
world.js             世界模型 ⟨S,R,M,T⟩(公理3:人类=外部输入;无"学生→分数"边)
retention.js         匿名留存埋点(只给离线脚本读,绝不进用户屏幕)
public/              课室前端(2D/3D)、双稿制反思、课后总结、跨课知识库、课前生产性失败
tools/               23 个自动化测试 + 辅助脚本
docs/                主题文档(本表)
mcp/                 灵境 MCP stdio 包源码(给 AI Agent 的课室,见上)
server.json          官方 MCP Registry 清单(目录/Glama/HiMCP 自动发现用)

许可(摘要)

UNLICENSED —— 保留所有权利。 仓库公开可见 ≠ 授权使用: 未经版权人明确书面许可,不得复制、修改、分发、再许可或用于商业 / 非商业目的。 若希望以具体开源协议(MIT / Apache-2.0 或开源 + 商用双轨)使用,请与版权人另行联系。

⚠️ 已知张力:LICENSE 字面禁止复制,而本文档的"30 秒上手"写着 clone 自跑 —— 二者尚未对齐,属版权人待拍板的法律决策,工程侧不代决。详见 06 · 许可与合规。


联系

  • 授权 / 反馈:553420544@qq.com(亦可用仓库 Issues)
  • 版权方:广州红尘灵境(太白 / 邓其聪)

Similar modules

Browse Self-hosting & homelab