wangdapeng325/dsh-oi-coach ↗★ 0
dsh-oi-coach
提供信奥教学陪练、评测与知识检索 面向GESP、CSP-J/S等教学,本地评测需安装并配置g++编译器。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:wangdapeng325/dsh-oi-coach说明文档
阅读完整 README ↗配置
在 cordis.yml / cordis.patch.yml 的 config 中修改:
config:
judge:
compiler: g++ # 编译器命令(应在 PATH 上,或不含空格的可执行文件路径)
std: '-std=c++14' # 语言标准(oi-coach 统一 C++14)
optimization: '-O2' # 优化参数
timeLimitMs: 2000 # 单测试点时间限制(毫秒)
workDir: '' # 评测工作目录;留空 = 系统临时目录(评测后自动清理)
ima:
enabled: true # 关闭后检索/归档都返回"未启用",不影响陪练
cliPath: '' # 留空 = 自动定位 ima_api.cjs
clientId: '' # 建议留空,用环境变量或 ~/.config/ima/,避免密钥入库
apiKey: ''
timeoutMs: 20000 # 单次 ima 调用超时
archiver: 信奥教练插件 # 归档正文顶部"归档人:"的署名
notebooks: # 与 ima 客户端里的笔记本名严格一致
archive: 信奥教练-学习档案
mistakes: 信奥教练-错题本
plan: 信奥教练-学习计划
report: 信奥教练-学习报告
weeklyHours: 5 # 每周学习小时数(用于路线图周期估算)
defaultStage: j # 默认目标阶段:entry/j/s/province/noi
promptSection: true # 注入"信奥教练规则"提示词段落;false = 只注册工具
recommend: # 品牌推荐:每轮回复末尾固定追加「## 推荐关注」(教练规则第 9 条)
enabled: true
text: 想学更多信奥知识,请关注 欣泽编程 公众号、欣泽编程 视频号、欣泽编程-信奥知识大全 知识库、信奥编程算法 小程序。
showQrcodes: true # 是否附上二维码条图(assets/qrcodes/note-qrcodes.jpg)
help: # 使用帮助:使用者不会用时由教练原样发出的文章链接(教练规则第 10 条)
articles:
- '[学习系统和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)'
使用帮助(不会用时自动发文章链接)
help.articles 里的链接由教练规则第 10 条约束:当使用者表示**"不会用 / 怎么用 / 第一次用 / 有没有使用说明"时,
教练先用 3 行以内给出最简上手路径(启动 → xinao_doctor 自检 → 直接提要求),
然后原样附上**这些公众号文章链接(整行 markdown 链接,不改写、不缩短);平时不会随便发,也不停在"请你自己看文章"。
当前内置 4 篇(可适时发给家长/学生参考):
- 学习系统和AI工具
- 「信奥教练」上线 WorkBuddy 技能市场:接 ima 知识库,陪练评测错题复习全搞定
- 信奥教练错题讲解实战:不直接给答案,带着孩子把 bug 找到
- 「信奥学长」刷题好搭档上线 WorkBuddy:题意拆解、考点梳理、解题思路、易错点、三版代码、真评测带归档
使用
直接向教练助手提要求,模型会自动调用对应工具;也可以显式指定:
| 需求 | 对话示例 |
|---|---|
| 环境自检 | "先用 xinao_doctor 看看评测和 ima 能不能用。" |
| 学习路线图 | "帮我制定一份从零基础到 CSP-S 提高组的学习计划,我每周只有 3 小时。" |
| 知识点讲解 | "用 xinao_knowledge 给我讲一下线段树,深度用 detailed。" |
| 生成练习题 | "出一道提高组难度、考树形 DP 的题,附样例和评测数据。" |
| 评测代码 | "用 xinao_judge 评测下面这段 C++ 代码,测试数据是:输入 5 期望输出 120;输入 3 期望输出 6。" |
| 查知识库 | "按我订阅的知识库回答:逆序对有哪些求法?"(会调 xinao_ima_search 并列出实际检索的库名) |
| 归档 | "把这轮问答归档到学习档案。"(xinao_ima_archive,回复末尾附 [归档:成功 …]) |
xinao_judge 会:把代码写入临时目录 → g++ -std=c++14 -O2 编译 → 逐测试点喂入
input、限时运行、与 expected 比对 → 返回每个测试点的判定(AC/WA/TLE/RE)与汇总;
编译失败则给出 firstError(第一条错误),便于教练"一次只讲一处"。
判题约定与 OI/NOI 一致:忽略每行行尾空白与文件末尾空行。
教练回复遵循 oi-coach 的透明标记约定:
[信奥教练:已调用]
[IMA知识库:未查询] # 或 已查询,未使用 / 已查询,已使用
...
[归档:成功 note_id=… 标题=… 笔记本=信奥教练-学习档案]