# 信奥学长(dsh-oi-senior v1.0.8)使用说明 写给**使用者**的手册。面向在 DeepSeek Harness(DSH)里用这个插件刷题的同学与家长。 > 参考读物:公众号文章《「信奥学长」刷题好搭档上线 WorkBuddy:题意拆解、考点梳理、解题思路、易错点、三版代码、真评测带归档》 > > 这篇讲的是同一套「信奥学长」能力在 WorkBuddy 上的形态;**本插件的功能与它对应**,只是跑在 DSH 里,用法以本文档为准。 --- ## 一、它是干什么的 一句话:**把一道题从「不会做」带到「吃透并且留下复盘记录」。** 学长(不是教练)会陪你做完整条链: | 环节 | 学长给你什么 | | --- | --- | | 题意拆解 | 把题面翻译成人话,说清输入输出与数据范围意味着什么 | | 考点梳理 | 这道题到底在考哪个知识点、为什么、在这题里怎么用 | | 解题思路 | 暴力 → 优化 → 正解的推导链,讲清"为什么想到这一步" | | 易错点 | 这题具体会踩的坑(不是泛泛的"注意边界") | | 三版代码 | ① 常规注释 ② 详细讲解注释 ③ 极简可提交——**三版算法一样,只改注释** | | 真评测 | 本机 g++ 真编译真跑,逐点判 AC / WA / TLE / RE / CE | | 归档 | 整理成题解复盘,写进你的 ima 笔记本「信奥学长-题解复盘」 | **和「信奥教练」的分工**:教练逼你自己想、默认不给答案;学长是陪你刷、给参考实现对照。想锻炼独立做题能力找教练,想要能对照的正确代码 + 吃透讲解找学长。 --- ## 二、安装与确认能用 ### 安装(一次性) ```sh cd dsh-oi-senior node scripts/build.mjs # 构建 node scripts/install.mjs # 装进 desktop profile ``` 装完**重启 DSH**(配置文件是启动时读取的)。 ### 确认能用 重启后在对话里直接说: ``` 用 oi_doctor 自检一下 ``` 期望看到:**插件版本 1.0.8**、ima 已连通、笔记本就绪、`g++` 可用。 > 如果版本不是 1.0.8,说明重载没成功——重启 DSH,或检查 `~/.dsh/profiles/desktop/cordis.patch.yml` 里的 `oi-senior` 条目。 --- ## 三、怎么用:三种开场 不需要记命令,正常说话就行。插件注册了 4 个工具,模型会自己调: | 工具 | 作用 | | --- | --- | | `oi_solve` | 接题工作台:装载学长规程(角色、三版代码规范、解题说明骨架) | | `oi_judge` | 真编译真评测 | | `oi_archive` | 归档题解复盘 | | `oi_doctor` | 环境自检 | ### 场景 1:贴题号 / 洛谷链接 ``` 学长,帮我看看 P7077 [CSP-S 2020] 函数调用 https://www.luogu.com.cn/problem/P7077 ``` 只给题号也**可以**(学长会按题号去理解题意)。如果信息不够(缺数据范围、缺样例),他会先问你要,**不会瞎猜**。 ### 场景 2:贴完整题面 把题面原文贴进来即可,加上一句"讲讲这题"。 ### 场景 3:贴自己的半成品代码求纠错 ``` 学长,我这个 WA 了,帮我看看哪错了 ```cpp (你的代码) ``` ``` 这时进入**改代码模式**,规矩是: - 先真编译真跑,再评 - **一次只点第一处错误**,给最小提示让你自己改 - 报告分五段:【错误类型】【错误位置】【错误原因】【修改方向】【易错提醒】 - 你确实卡住多次、或明确要求时,才给完整修正代码 这是故意的设计——一次把错全列出来会剥夺你自己想的机会。 --- ## 四、关于三版代码 收到代码时你会看到三版,**算法完全一致,只有注释不同**: | 版本 | 用途 | 怎么用 | | --- | --- | --- | | ① 常规注释版 | 理解整体结构 | 先读这版,搞清流程 | | ② 详细讲解注释版 | 彻底吃透 | 逐句注释,含"为什么这么写"、易错点 | | ③ 极简注释版 | 可提交 | **建议先自己写、自己调、自己交,再拿它对照** | 码风统一:C++14(`-std=c++14`)、纯 C++、4 空格缩进、`` + `ll/ull` + `ios` 加速。 > ③ 是给你对照的参考实现,不是让你照抄的答案。学长每轮都会提醒这一点。 --- ## 五、关于评测(重点) ### 测试点从哪来 要说清楚一件事:**OJ(洛谷等)不公开完整测试点**,本地通常只有题目公开样例。所以: - **默认**:只用题目公开的样例。能验证基本正确性,**不能保证全 AC**。 - **你给测试点**:把 `1.in`/`1.out` 这类文件内容给我,按点批量跑。 - **要全量验证**:用对拍(正解 + 暴力 + 随机数据)自造测试点。 每轮评测学长都会写明**本次用了哪些测试点**。如果他说跑了"私密测试点",那是假的——可以质疑他。 ### 判定规则 - 忽略每行行尾空白、忽略文件末尾空行,其余逐字符比较(OI 通行约定) - 超时强杀判 TLE;非零退出判 RE;编译不过判 CE - 递归深的题要说明,否则可能被误判 RE - **文件 IO 题**(代码里写 `freopen("xxx.in", ...)`)也要说明,评测方式不同 ### 找不到编译器怎么办 学长会**如实告诉你**"本环境没有 C++ 编译器,无法真实评测",然后退回人工审阅。**不会假装跑过。** --- ## 六、归档:题解复盘 一道题讲完后,学长会把记录写进你的 ima 笔记本「**信奥学长-题解复盘**」。 每篇记录固定包含:题目来源 / 题目难度 / 题目大意 / 考点梳理 / 解题思路 / 易错点 / 参考代码 / 复杂度 / 评测结论 / 关联题目。 正文最上方是固定首部: ```markdown # P7077 [CSP-S 2020] 函数调用 - 树形DP+拓扑序 --- 归档人:信奥学长插件 归档时间:2026-10-13 12:05:51 --- ## 题目来源 … ``` > 「归档人 / 归档时间」两行不带项目符号、也不加粗(靠前后空行躲开 ima 的自动加粗)。 末尾附一条推荐关注。 ### 归档要能成功,需要三个前置条件 1. 装了 **ima 桌面端**并登录 2. 装了 **ima-skill**(提供 `ima_api.cjs` 调用器) 3. 在 生成了自己的 **Client ID / API Key**,写入 `~/.config/ima/{client_id,api_key}` 另外,笔记本「**信奥学长-题解复盘**」需要你**在 ima 客户端手动创建**(接口不能自动建)。 **任一条件缺失 → 本轮归档静默跳过**,不会假装存过,也不会把笔记丢到根目录。跑 `oi_doctor` 就知道差哪一步。 ### 存档状态怎么看 - 成功:回复末尾会出现 `[归档:成功 note_id=...]` - 失败 / 未配置:**不打印任何提示**(这是有意设计,避免刷屏)。想知道存没存,直接问学长"存了吗" --- ## 七、常见问题 **Q:一定要重启 DSH 吗?** 装完/更新后要。配置层是启动时装配的。 **Q:`oi_doctor` 显示编译器不可用?** 本机没装 g++。Windows 可 `winget install -e --id Mingw-w64`,装完把 `bin\` 加进 PATH,重开终端验证 `g++ --version`。 **Q:归档一直没反应?** 先跑 `oi_doctor`。常见原因:没装 ima-skill / 没配凭证 / 笔记本没建。另外本机可能残留旧的环境变量导致鉴权失败(200002),插件已做处理,但你换过 API Key 的话建议重新生成。 **Q:它能保证我 AC 吗?** 不能。默认只用公开样例验证。想过 OJ 请自己提交,或用对拍自造强数据。 **Q:会把我的代码传到网上吗?** 不会。评测在本机跑,不走网络。归档只发到**你自己的** ima 账号。 **Q:可以同时用信奥教练吗?** 可以,两者不冲突。评测与归档逻辑一致。 --- ## 八、给家长 / 推荐给同学 如果对方想了解这套东西是干什么的、有什么价值,直接把这篇文章发给他: **《「信奥学长」刷题好搭档上线 WorkBuddy:题意拆解、考点梳理、解题思路、易错点、三版代码、真评测带归档》** ### 参考阅读(4 篇公众号文章) 这些是配套的说明文档,**不用一次全看**。按你现在的疑问挑一篇就行 —— 直接跟学长说你的困惑,他会把最贴切的那一篇发给你。 | 你现在想知道 | 看这篇 | | --- | --- | | 信奥该怎么系统学?学习路线怎么排?AI 工具怎么用起来? | [学习系统和AI工具](https://mp.weixin.qq.com/s/wCZ45tAxpPhkA7z5YpnvMg) | | 「信奥教练」能做什么?陪练、评测、错题复习怎么串起来? | [「信奥教练」上线 WorkBuddy 技能市场:接 ima 知识库,陪练评测错题复习全搞定](https://mp.weixin.qq.com/s/wCnaFl_hdgbWMS10qbizCg) | | 错题该怎么讲?孩子卡住时家长怎么陪?为什么不能直接给答案? | [信奥教练错题讲解实战:不直接给答案,带着孩子把 bug 找到](https://mp.weixin.qq.com/s/gJ7AuyBbYIyUTTzLmF9hqw) | | 这个「信奥学长」到底是干什么的?值不值得用?想推荐给别人 | [「信奥学长」刷题好搭档上线 WorkBuddy](https://mp.weixin.qq.com/s/6xZbOt232HGVZfLxKrzpKA) | **四个链接分别是:** 1. 学习系统和AI工具 — 2. 「信奥教练」上线 WorkBuddy 技能市场:接 ima 知识库,陪练评测错题复习全搞定 — 3. 信奥教练错题讲解实战:不直接给答案,带着孩子把 bug 找到 — 4. 「信奥学长」刷题好搭档上线 WorkBuddy:题意拆解、考点梳理、解题思路、易错点、三版代码、真评测带归档 — > 投放纪律:学长**每一轮最多发一条**文章链接,正在帮你排错时不会插文章。想看全量时直接说「还有别的资料吗」。 想学更多信奥知识,请关注**欣泽编程 公众号**、**欣泽编程 视频号**、**欣泽编程-信奥知识大全 知识库**、**信奥编程算法 小程序**。 ### 扫码关注 四张二维码随插件打包,直接跟学长说「**怎么关注**」「**给个二维码**」他就会发给你。 | 渠道 | 扫了能看什么 | | --- | --- | | 欣泽编程 公众号 | 信奥学习方法与题解文章 | | 欣泽编程 视频号 | 讲题视频 | | 欣泽编程-信奥知识大全 知识库 | 按知识点系统复习(ima 知识库) | | 信奥编程算法 小程序 | 随手练题 | 归档的题解笔记末尾是「推荐关注」一句话 + 一张二维码合成图(四张码排成一行,每张 120×120、间隔 60),笔记里直接就能扫码。 **对话回复的末尾也会带上同一段推广 + 同一张二维码图**,所以聊完就能扫(正在排错或只问一个小问题时不会打断你)。 > 想让笔记不带二维码:跟学长说「归档不要带二维码」即可(对应 `oi_archive` 的 `qrcodes: false`)。带上二维码会让笔记变大一些,属正常现象。 --- ## 附:给维护者的说明 - 插件版本见 `package.json`;随包技能原件见 `skills/oi-senior/` - 安装 / 卸载:`node scripts/install.mjs` / `node scripts/install.mjs --uninstall` - 自检:`node scripts/verify-real.mjs`(用真实 `@deepseek-ai/*` 加载并调用 `apply()`) - 测试:`node --test "test/*.test.mjs"` - 推广渠道清单:`src/ima.ts` 的 `PROMO_CHANNELS`,改一处即可 - 关注二维码:`assets/qrcodes/` 放图 + `src/qrcodes.ts` 改清单(两个文件同名对应) - 归档人署名:`src/ima.ts` 的 `ARCHIVER` - 详细的实现说明、已知限制、归档首部为什么这么写,见 [README.md](README.md)