DeepSeek Harness 插件

dsh-plugin-greeter

A DeepSeek Harness (dsh) plugin that greets the user at the start of every session with varied wording, learns their name on first use, and greets them personally afterward.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
YohtHill/dsh-plugin-greeter
最近更新
2026年8月14日
分类
记忆
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/YohtHill/dsh-plugin-greeter
插件名:dsh-plugin-greeter
作者:YohtHill

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.zh.md来源说明 · 只读预览
README 语言

dsh-plugin-greeter

一个 DeepSeek Harness(dsh)插件:每次会话开始时向你问候,并记住你的名字,让每次问候都更贴心。

中文 | English

功能特性

  • 👋 每次会话都问候 — 每次都用全新措辞跟随你使用的语言(模型即兴生成,不会重复)。
  • 🧑 第一次先问你名字 — 首个会话会询问你的名字,并通过 remember_name 工具持久化保存。
  • 💾 跨会话记住你 — 名字存储在 dsh home(~/.dsh/greeter-store.json),之后的会话都会按名字问候你。
  • 主动问候 — 新建会话时 agent 会立刻主动跟你打招呼,不用先发消息。(设置 proactive: false 可改为只在收到你的消息后才问候。)
  • 🎨 说一句话就能换风格 — 说 "以后用工程风问候我" 或 *"改用俏皮风格"*,插件会自动帮你改好——不用改配置、不用重启。

演示

新建会话立即主动问候 — 打开新会话,agent 立刻主动跟你打招呼,不用先打字:

![会话开始时的问候](docs/demo-greeting.gif)

说一句话就能换风格 — 说 *"以后用俏皮的风格问候我"*,插件自动帮你保存:

![聊天切换风格](docs/demo-switch-style.png)

安装

从 npm 安装

dsh plugin --profile web add dsh-plugin-greeter

该包声明了 dsh.bundle.patch,因此 dsh plugin add 会自动将其识别为 bundle 补丁层并加入 profile 的补丁栈——无需手动配置。

从源码安装(GitHub 克隆)

仓库自带编译产物 lib/,克隆后可直接使用,无需本地构建:

git clone https://github.com/YohtHill/dsh-plugin-greeter.git
cd dsh-plugin-greeter
dsh plugin --profile web add .

> dsh 的核心包仍是 pre-1.0(rc)。如果你要自己构建源码,请用 npm install --legacy-peer-deps(npm 默认的 peer 解析会拒绝 rc 版本区间),然后 npm run build 再添加。

使用方法

安装后重启 dsh,然后:

1. 新建会话——agent 会立刻主动跟你打招呼,不用先打字。 2. (可选)再发消息,agent 从那里继续。 3. 第一次会话会主动问你的名字,并通过 remember_name 工具记住;之后的会话都会按名字问候你。

> 主动问候每次新建会话会消耗一次模型调用。如果希望只在收到你的消息后才问候,设 proactive: false(见可选配置)。

切换风格就是聊一句话的事。 在任意会话里说:

> "以后用俏皮的风格问候我" / "greet me like an engineer from now on" / "回到随机风格吧"

插件会调用它的 set_greeting_style 工具保存你的选择,从下一个会话生效。可选风格:minimalwarmpracticalengineeringplayfulcalm,或 random(随机)。

> ⚠️ 问候出现在新会话的第一条消息时——不是打开应用就自动弹出。如果没看到问候,确认是否新建了会话并发过消息。

验证插件是否已加载:打开 设置 → 插件 → 插件列表,搜索 greeter,看到条目显示 已启用 即可。

开发调试(本地,无需发布)

在 DeepSeek Harness 仓库中,把它作为 overlay 挂到任意 profile:

pnpm dsh web --patch /path/to/dsh-plugin-greeter/cordis.patch.yml

或者迭代开发时直接把 patch 指向本地源码:

- insert:
    - id: greeter
      name: '/absolute/path/to/dsh-plugin-greeter/src/index.ts'

> 在 Windows 上,name 必须使用 file:/// URL(盘符路径不是合法的 ESM 模块说明符)。

构建

npm install --legacy-peer-deps   # dsh 核心包是 pre-1.0 (rc),npm 需要这个参数
npm run build                    # 生成 lib/(JS + 类型声明)

npm publish(或 npm pack)会通过 prepack 自动重新构建。

工作原理

  • 通过 defineTool 注册 remember_name 工具;用户一说出名字,模型就调用它,插件把名字写入存储文件。名字会经过清洗(去掉换行与引号、最长 50 字符),永远不会被当作指令执行。
  • 监听 agent/pre-step 瀑布,在每次新会话的第一个模型步骤注入问候指令(上下文注入)。每次会话会随机抽取一个语气提示(俏皮、真诚、简洁等),因此即使输入完全相同,问候语也会不同。
  • 每次会话都会重新读取存储文件,因此直接编辑或删除它即可立即生效。从 0.1.9 之前的版本升级时,会一次性把 greeter-name.json 迁移为 greeter-store.json,旧文件保留为 greeter-name.json.migrated 备份——确认新问候正常后可自行删除。

可选配置

无需任何配置——默认是自适应的(跟随你的语言、每次即兴生成全新问候)。最简单的自定义方式就是直接在聊天里说(见[使用方法](#使用方法),插件会替你保存选择)。如果你更习惯改 YAML,编辑 profile 补丁文件web profile 是 ~/.dsh/profiles/web/cordis.patch.yml),加上 config 块:

- insert:
    - id: greeter
      name: 'dsh-plugin-greeter'
      config:
        style: engineering        # 问候风格:minimal | warm | practical | engineering | playful | calm
        language: zh              # 固定问候语言(省略则跟随用户)
        greetings:                # 可选自定义问候语池(每次会话选一句)
          - '早上好,{name}!今天想让我帮你做什么?'
          - '嗨,{name},欢迎回来!👋'
        nameFile: 'my-name.json'  # 自定义 dsh home 内的存储文件名

默认问候是自适应的:模型每次即兴生成自然、不重样的问候,跟随你输入的语言(你打英文,问候就是英文),且每次都随机抽取一个语气。以下配置项是可选的覆盖:

  • style — 固定问候风格:minimal(简洁干净)、warm(热情洋溢)、practical(务实直接)、engineering(极简、技术感、build log 风)、playful(俏皮)、calm(平和)。省略则每次随机。
  • language — 强制固定问候语言(如 zhenja),而非跟随用户。
  • greetings — 显式的问候语池;插件轮换选用,保证连续会话不重复。用 {name} 作为用户名的占位符。
  • nameFile — 自定义 dsh home 内的存储文件名。
  • proactive — 新建会话时是否立刻主动问候(默认 true);设 false 则只在收到你的消息后才问候。

配置会通过 Schemastery schema 校验——配置非法会加载时立即报错,而不是被静默忽略。

兼容性

本插件钩住了 dsh 的内部 agent 管道(agent/pre-step 上下文注入与消息 source 格式)。已在 dsh 0.1.0-rc.6 一代的版本上验证;如果 dsh 改动这些内部接口,插件可能停止问候,直到更新。插件本身不捆绑任何依赖——它直接使用 dsh 自带的能力,安装不会给你的 profile 增加任何依赖树负担。

插件 ↔ dsh 版本矩阵

dsh 版本dsh-plugin-greeter
0.1.0-rc.6✅ 已验证(当前版本)
0.1.0-rc.5✅ 已验证(0.1.x0.1.8 各版本)
< 0.1.0-rc.5⚠️ 未测试——rc 系列期间内部接口变动较大

包管理器说明

  • 本仓库以 npm 为主package-lock.json 是依赖的唯一事实来源,构建/测试/lint 命令(npm run buildnpm testnpm run lint)都基于 npm。安装请用 npm install --legacy-peer-deps(dsh peer 依赖是 pre-1.0 的 rc 区间,npm 严格解析会拒绝)。
  • pnpm 仅用于[本地挂载调试](#开发调试本地无需发布)流程——因为 DeepSeek Harness 本体是 pnpm workspace;构建或测试本插件并不需要 pnpm。

Token 用量与成本

插件唯一固定的模型成本是主动问候:每次新会话一次简短生成(约 130 输出 token)。其输入(约 8.6K token)是共享的系统提示词,dsh 会跨会话前缀缓存(约 99% 缓存命中),因此按 DeepSeek 缓存输入计价,每次会话的边际成本约 0.001 美元(约 7 厘人民币)。日常任务回合的成本与普通 dsh 会话完全相同。

零额外开销?设 proactive: false——问候会搭在你第一条消息上,不再单独调用。问候指令本身保持精简(约 50 token)以最小化开销。

发布

npm login
npm publish

然后在 GitHub 仓库添加 dsh-plugin topic,方便社区发现。

许可证

MIT