前言¶
在 DeepSeek Harness(DSH)里做 Rust 服务开发时,常见的状态是:课程和文档散在浏览器书签、play.rust-lang.org、docs.rs 之间来回切,练习要开新页面,进度只能靠”自己记得读到第几章”。DeepSeek Harness 的理念是”一切皆插件”,侧边栏(sidebar.panellist)本身就是给这类内容留的位置。下面介绍的 ramanasai/dsh-rust-academy 就是把这个位置填成一门带练习、进度跟踪和语法速查表的 Rust 课程,维护者是 ramanasai,分类是客户端插件。
这是什么¶
dsh-rust-academy(包名 @local/rust-academy)是一个客户端为主的 DSH 插件,把 Rust 课程整体嵌入 Harness 左侧边栏。README 声称覆盖 32 轨、640 章,从 fn main 讲到分布式系统;每章只要讲一个窄概念,按从基础到生产深度的顺序排列。仓库描述本身写的是 “20-lesson Rust course with exercises, progress tracking and a syntax cheatsheet”,package.json 的 description 又写 “six tracks”。三个数字对不上,后面会单独说明。
许可证是 MIT。截至 2026-11-07,仓库 0 星、0 fork,最新 release 是 v3.15.0(2026-11-05),package.json 的 version 同为 3.15.0,默认分支 main,语言 JavaScript。
核心功能¶
课程内容。README 列出的 32 轨覆盖 Rust 基础、生产级 Web 服务(axum 0.8)、数据与持久化(SQLx)、微服务与消息(tonic/gRPC、Kafka、NATS)、进程处理、生产与平台、Rust 深入、算法与数据结构、数据库内部、分布式系统、网络协议、安全工程、测试、可观测性、交付平台、数据工程、系统编程、AI/ML、架构设计、面试准备、毕业项目、WASM 前端、嵌入式、设计原则、工程手艺、性能工程、并发模式、API 设计、调试、操作系统、编译器内部。每章据 README 描述包含目标、解释、真实代码、带提示和解答的练习、以及自测题。
Playground。这是 v3.15.0 的重点,把运行环境做成 IDE 风格:语法高亮、行号、自动缩进、Tab/Shift+Tab、Ctrl/Cmd+/ 注释切换、可调字号与换行;输出分 Output / Problems / Tests 三个面板,状态栏显示 Local/Remote、耗时、光标位置。每个代码块带 Run 按钮,练习提供 Open starter / Run solution。运行走官方 play.rust-lang.org 沙箱(远程、需联网),启用本地 runner 时也可在沙箱化临时工作区本地运行。支持 Ctrl/Cmd+Enter 运行、Ctrl/Cmd+S 格式化、Clippy lint、rustfmt、按测试运行并给 pass/fail 汇总、解析诊断信息。
其他。12 个参考蓝图(master–detail 视图、请求流、组件卡、生产清单、关联章节与参考资料);40 组语法速查、231 条可直接复制的片段,可搜索,带一键 Try in Playground;按轨和总进度跟踪;对章节 / crate / 模式做全文搜索;跳转到指定轨。每章链接按 Docs、Repo、Paper、Video 分类标注。
安装与启用¶
README 给出的安装流程分两步,均来自原文。
第一步,把仓库拉到本地(README 原文命令):
git clone https://github.com/ramanasai/dsh-rust-academy.git
第二步,在 Harness 会话中用 Plugin Manager 安装 bundle。这一步需要 Full 权限或审批:
plugin_manager install_bundle target=/absolute/path/to/dsh-rust-academy
bundle 是从检查目录链接过去的,所以改 client.js 会直接改变 profile 使用的来源;想用重新生成的模块,需要重装或刷新页面。
插件注册的两个槽位来自 README:
| Slot | Registration |
|---|---|
sidebar.panellist |
id: rust-academy, order: 20, localized label |
main |
key: rust-academy |
Host 端的 index.js 是 no-op,面板不依赖任何 Host 能力。课程数据在构建时以 JSON 形式嵌入 Client 模块,运行时不发请求、不访问数据库和文件系统。样式只用 --dsw-alias-* 主题 token,明暗主题跟随 Harness。package.json 里 dsh.bundle.patch 指向 ./cordis.patch.yml,dsh.client.platform 为 web。
典型用法¶
装完后,在 Web GUI 左侧边栏会出现 rust-academy 面板。学习路径:从某轨进入一章 → 看解释和代码 → 在练习处点 Open starter in Playground → 改完点 Run solution 对比 → 用自测题检查 → 完成的章节计入该轨进度。
想直接查语法时走速查面板:搜索关键词,找到片段后复制,或点 Try in Playground 载入 Playground 再改。
内容编辑与构建¶
这是维护者关心的部分。课程内容放在 src/data/*.mjs,一轨一个模块;速查和蓝图在 reference.mjs;轨顺序在 src/data/index.mjs;src/app.js 是 UI 模板;build.mjs 注入数据并生成 client.js。验证与构建命令:
node scripts/validate-data.mjs src/data/web.mjs # 校验单个轨
node build.mjs # 重新生成 client.js + compiler gate
node build.mjs --no-snippets # 跳过 gate 的快速本地构建
node --check client.js # 语法检查产物
build.mjs 会对课程里每一个 Rust 片段跑 compiler gate:需要 rustfmt(即 rustc parser)接受、并执行 se…(README 此处截断)的检查。另有审计脚本 node scripts/audit-content.mjs(npm run audit)和基线更新命令 node scripts/compiler-gate.mjs --update-baseline。
适用场景与注意¶
适合想在 DSH 工作流内直接学 Rust 或给团队做 Rust 内训的人,尤其是已经把 Harness 当主力工具、不想频繁切窗口的场景。因为是客户端插件,界面在 Web GUI 里渲染,Desktop 或 dsh web 都可用;安装前不需要 npm install,client.js 已提交,无运行时依赖。
几点提醒。第一,插件以当前 DSH 进程的权限运行,安装前应打开源码和许可证确认,尤其注意 dsh.bundle.patch 会应用 cordis.patch.yml。第二,README 的轨道数存在明显不一致:开头写 32 轨 / 640 章,仓库描述写 20 课,package.json 写 six tracks,而 Track 表里各轨章节数加起来也到不了 640,实际内容规模需要自己拉下来核对。第三,运行默认走 play.rust-lang.org 远程沙箱,无外网时本地 runner 需要自行启用并确认沙箱配置。第四,作为社区目录收录的客户端插件,它与 DeepSeek / 幻方没有官方从属关系,维护状态与内容更新需自行观察。
结尾¶
这个插件的价值在于把课程、练习和运行环境压进 DSH 侧边栏,用客户端能力做到无运行时依赖、无外部数据源。目录页在 https://www.skillhub.cn/plugins/ramanasai/dsh-rust-academy ,仓库在 https://github.com/ramanasai/dsh-rust-academy 。