DeepSeek Harness plugin

Learn-as-you-go-dsh

Learn As You Go — keep the technical output, put the plain-language Chinese meaning directly below it. A native DSH (DeepSeek Harness) bundle plugin: system-prompt policy section, settings namespace

Jump to install

Source facts

Repository
TimYuann/Learn-as-you-go-dsh
Latest update
Aug 15, 2026
Category
Docs & Rendering
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/TimYuann/Learn-as-you-go-dsh
Plugin: Learn-as-you-go-dsh
Author: TimYuann

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

Learn As You Go · DSH 原生插件

> Keep the technical output. Put the plain-language Chinese meaning directly below it. > > 保留可复制、可检索的技术原文,在下一行补充中文白话解释。

learn-as-you-go-dsh 是 Learn-As-You-Go 理念在 DeepSeek Harness (DSH) 上的原生实现: 一个零 pi 依赖、直接消费 DSH 服务的 Cordis bundle 插件。它向 agent 的系统提示词注入 "↳ 通俗解释"格式规则,让技术输出旁边始终带着给非技术读者的中文白话解释。

The retry loop can create duplicate writes because the idempotency key is generated inside the retry callback.
↳ 重试时可能写入重复数据,因为“判断是不是同一次操作”的 key 是每次重试时重新生成的。

效果展示

真实案例(默认档位 L1 · 入门,30–50 字,口语化、可加类比):

`dsh` 是 DeepSeek Harness 的 profile 启动器;profile 是多个 **bundle 插件**按序叠加的配置树,每个 bundle 是一个在 `package.json` 声明 `dsh.bundle.patch` 的 npm 包。配置树以空根起步,逐层应用 `dsh.profile.bundles` 中每个 bundle 的 patch、profile 自身的 `cordis.patch.yml`、home 级 `$DSH_HOME/cordis.patch.yml` 与 `--patch` 覆盖层,patch 按 `id` 寻址、整行替换、后层胜出。

↳ dsh 启动时把一组插件包按先后顺序叠成一份总配置,每层补丁按条目标记整行替换,越靠后的层越优先,最后盖上去的说了算。

同一锚点切到 L2 · 标准(15–25 字,简短直白):

`dsh` 是 DeepSeek Harness 的 profile 启动器;profile 是多个 **bundle 插件**按序叠加的配置树,每个 bundle 是一个在 `package.json` 声明 `dsh.bundle.patch` 的 npm 包。配置树以空根起步,逐层应用 `dsh.profile.bundles` 中每个 bundle 的 patch、profile 自身的 `cordis.patch.yml`、home 级 `$DSH_HOME/cordis.patch.yml` 与 `--patch` 覆盖层,patch 按 `id` 寻址、整行替换、后层胜出。

↳ profile 配置由插件层叠拼出,后层按 id 整行覆盖,越靠后越优先。

与 pi 移植版的区别

这是全新实现,不复用旧项目的 Core/pi 契约:

| 维度 | 旧移植版(learn-as-you-go) | 本插件 | |---|---|---| | 宿主 | pi 原生 + DSH 双宿主,共享 host-agnostic Core | 纯 DSH 原生 | | 依赖 | @earendil-works/pi-coding-agent peerDeps、Core 抽象 | 仅 @deepseek-ai/* 服务包 | | 契约 | PromptPolicyCapability / complete-prompt 压制(DSH 中为死代码) | 无;依赖 DSH 自身的 complete-section 机制 | | 命令 | on\|off\|status(level 不可调) | on\|off\|status\|level 1\|2 | | 设置 | 无 UI 字段 | schema 驱动设置面板(enabled + level),热更新 | | 测试 | mock ctx | 真实 Cordis + 真实 DSH 服务集成测试 |

安装

从 GitHub Release 直接安装(v0.1.1):

dsh plugin --profile web add https://github.com/TimYuann/Learn-as-you-go-dsh/releases/download/v0.1.1/learn-as-you-go-dsh-0.1.1.tgz

或自行打包安装(包名带当前版本号,以 npm pack 实际输出为准):

npm run build
npm pack                          # 产生 learn-as-you-go-dsh-<实际版本号>.tgz
dsh plugin --profile web add ./learn-as-you-go-dsh-<实际版本号>.tgz

启动 profile(如 dsh web)后,启动日志出现 [learn-as-you-go-dsh] plugin loaded ...。新安装默认开启,默认档位 1 · 入门/learn-as-you-go off 或设置面板可随时关闭。

开发 overlay(不安装)

dsh web --patch ./cordis.patch.yml

零 harness 独立运行

npm run dev      # 通过 Cordis loader 挂载 ./cordis.yml,加载后退出

使用

命令效果
/learn-as-you-go on开启解释(写入 settings,持久化)
/learn-as-you-go off关闭解释
/learn-as-you-go status显示当前状态与 section 挂载情况
/learn-as-you-go level 1入门档(30–50 字,口语化、可加类比,默认)
/learn-as-you-go level 2标准档(15–25 字,简短直白)

设置面板(Web UI 设置 → 插件)中可编辑 learn-as-you-go 命名空间的 enabledlevel,即时生效(live applies)。

读者档位

档位解释行为配对目标长度
1 · 入门概念术语换成日常中文,给具体因果或类比每个技术段落/列表项各一条 30–50 字
2 · 标准技术名词保留在原文,只解释核心含义或影响每个语义块一条;同类短列表可合并15–25 字

两种档位下,APP_DATABASE_URL、路径、命令、端口、ID、hash、产品名等标识符原样保留。

输出规则(理念核心)

  • 用户要求的输出形态优先:要求精确 JSON/XML/YAML、只要代码/命令/日志、只要技术结论、

或要求当前请求不做白话解释时,不加

  • 永不进入代码块、shell 命令、表格、路径、URL、hash、标识符内部;
  • 技术锚点跟随用户请求的语言,不为了配对而切换语言;
  • 用户提供的源文本原样保留;生成的解释写成"技术锚点 + ↳ 行";
  • 不添加原文没有的事实、风险、确定性或更强语气。

开发

npm install
npm run check     # typecheck + 全部测试 + 合规门禁

npm run check 覆盖:

  • 7 个 policy 单测test/policy.test.ts)——档位文本契约、level 解析别名;
  • 14 个集成测试test/plugin.test.ts)——真实 Cordis Context 挂载真实

SystemPrompt / SettingsProvider / CommandRuntime,断言 section 组装、 热更新、命令行为、设置持久化,全程零 mock;

  • 合规门禁scripts/validate.mjs)——manifest、patch 行、entry 契约。

项目结构

learn-as-you-go-dsh/
├── src/index.ts          # 插件入口:name / inject / Config / apply
├── src/policy.ts         # L1/L2 档位提示词正文(理念核心,字节冻结)
├── test/policy.test.ts   # 档位与 level 解析单测
├── test/plugin.test.ts   # 真实服务集成测试
├── scripts/loader.mjs    # 零 harness standalone loader
├── scripts/validate.mjs  # 合规门禁
├── cordis.patch.yml      # bundle patch 层
├── cordis.yml            # standalone 组合
└── lib/                  # 构建产物(npm run build)

License

MIT