THU-MAIC/dsh-openmaic 预览 preview

THU-MAIC/dsh-openmaic

OpenMAIC for DeepSeek Harness:教室、幻灯片、交互式小部件和苏格拉底式教学

Project Overview项目介绍

dsh-openmaic is a native DeepSeek Harness plugin that integrates the interactive teaching capabilities of the OpenMAIC platform directly into DSH agent sessions. It adds four custom tools and one dedicated Socratic teaching skill to your DSH agent, enabling generation of full interactive classrooms, rendering of OpenMAIC slides, custom interactive widgets, and inline HTML teaching fragments. To install the plugin, you just run the command dsh plugin --profile web add git+https://github.com/THU-MAIC/dsh-openmaic.git in your local terminal, then restart dsh web and refresh your browser to get started.

This plugin is built for educators, content creators, and anyone who wants to generate interactive teaching materials with a DSH AI agent. A typical use case starts when you tell your DSH agent to create a lesson on a specific topic, and the agent will call the openmaic_generate tool to submit your request to the OpenMAIC platform. The plugin waits for the asynchronous generation job to complete, then returns a shareable public link to the finished interactive classroom that you can open directly in your browser.

The plugin ships with pre-compiled code, so no local build step is required after installing the plugin via the Git URL. It is released under the open-source MIT license, and supports pointing to a local development instance of OpenMAIC for debugging if you are working on custom changes. The default maximum wait time for a classroom generation job is 10 minutes, and you can adjust the poll interval, access code and other configuration options via the DSH config file after installation. The access code is not currently enforced for the public OpenMAIC instance.

这是一个专为DeepSeek Harness开发的原生插件,用于将OpenMAIC交互式教学平台能力集成到DSH代理会话中。它提供了四个工具和一个苏格拉底式教学技能,支持生成完整课程链接、渲染OpenMAIC幻灯片、交互式组件和内嵌HTML教学片段,满足AI代理创建和交付交互式教学内容的需求。

面向教育创作者、教师和所有想要生成交互式教学内容的用户,典型工作流十分简洁:用户只需向代理提出制作某主题课程的需求,插件就会调用OpenMAIC API异步生成课程,最终返回可直接访问的在线课堂链接;小体量教学元素也可由代理直接编写后在对话内渲染展示。

插件已经预编译完成,通过dsh命令行添加Git地址即可一键安装,无需额外构建步骤,仅需配置API地址和访问码后重启dsh web即可使用。它采用MIT许可开源,单课程生成最长等待10分钟,还支持对接本地开发版OpenMAIC进行调试。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 no risk signal found未发现风险信号
  • This site's static screen found no obvious risk signal (stars, license, activity, manifest)本站静态筛查没发现明显风险信号(星标、许可证、更新活跃度、清单完整度)
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add git+https://github.com/THU-MAIC/dsh-openmaic.git

把 THU-MAIC/dsh-openmaic 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-openmaic

把 OpenMAIC 带进 DeepSeek Harness。Bring OpenMAIC into DeepSeek Harness.

dsh-openmaic is a DeepSeek Harness plugin that registers four tools and a Socratic teaching skill:

  • openmaic_generate: tell your agent "make me a lesson about X", and the plugin submits the requirement to open.maic.chat, waits for the async generation job, and returns a playable classroom link.
  • openmaic_slide: the agent writes one OpenMAIC slide (PPTist-style Slide JSON) and the plugin renders it with OpenMAIC's official renderer (text, shapes, images, tables, charts, formulas, code).
  • openmaic_widget: the agent writes an OpenMAIC-style interactive widget (simulation, game, or code) per the bundled contract; the code streams as it writes, then renders inline as a sandboxed card.
  • openmaic_render: the agent writes an inline HTML teaching fragment (concept card, quiz, walkthrough) and the plugin renders it as a sandboxed card right in the conversation.
  • openmaic-teach skill: turns a session into a Socratic OpenMAIC lesson, teaching by guided questioning and pulling in slides, widgets, and cards as aids.

What it looks like

用户: 帮我做一节量子物理入门课
模型 → openmaic_generate(requirement="量子物理入门课", language="zh-CN")
     ← "Classroom ID: class-abc123
        Classroom URL:
        https://open.maic.chat/classroom/class-abc123"
模型: 课堂已经生成好了,点开就能上课:
     https://open.maic.chat/classroom/class-abc123

Interactive widget:

用户: 做一个抛体运动模拟器
模型 → 按 openmaic-widget 模板写完整 HTML(流式输出)
     → openmaic_widget(html="<!doctype html>…", widgetType="simulation", title="抛体运动")
     ← "Rendered the simulation widget …"
     对话里就地出现一个可交互的 OpenMAIC 模拟器

Install

dsh plugin --profile web add git+https://github.com/THU-MAIC/dsh-openmaic.git

Then restart dsh web and refresh. The plugin ships its compiled lib/, so a git install needs no build step.

Config

dsh-openmaic:
  baseUrl: https://open.maic.chat
  accessCode: ""     # invite code; not enforced online yet, leave empty
  pollIntervalMs: 5000
  maxWaitMs: 600000
Key Default Notes
baseUrl https://open.maic.chat API base. Point at http://localhost:3000 to develop against a local OpenMAIC.
accessCode "" Invite code for open.maic.chat. Not enforced online yet, leave empty; fill it in once enabled.
pollIntervalMs 5000 Poll interval in ms. Generation is slow, so 60000 is friendlier than the default.
maxWaitMs 600000 Cap for one job, 10 minutes.

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-maze 下一个 Next dsh-capability-menu →