wangdapeng325/dsh-oi-coach ↗★ 0

dsh-oi-coach

信奥教练插件:教练规则提示词 + 学习路线图/知识点/命题/C++ 真评测 + ima 知识库检索与 4 笔记本归档,面向 GESP、CSP-J/S、NOIP、NOI 教学(功能对齐 oi-coach 技能)。 面向GESP、CSP-J/S等教学,本地评测需安装并配置g++编译器。

패키지
dsh-oi-coach
호환성
미검증
버전
1.0.8
최근 업데이트
2026. 10. 21.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:wangdapeng325/dsh-oi-coach

配置

在 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 篇(可适时发给家长/学生参考):

  1. 学习系统和AI工具
  2. 「信奥教练」上线 WorkBuddy 技能市场:接 ima 知识库,陪练评测错题复习全搞定
  3. 信奥教练错题讲解实战:不直接给答案,带着孩子把 bug 找到
  4. 「信奥学长」刷题好搭档上线 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=… 标题=… 笔记本=信奥教练-学习档案]