dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
PROJECT TOPICS
PROJECT README
DeepSeek Harness 的「提示词管理」插件:一个宿主 + 浏览器双面插件,为 dsh web profile 提供独立面板(会话视图里的「提示词管理」标签页)。
声明:本插件由 DeepSeek Harness 的 deepseek-v4-pro-max 模式制作。
通过真实的系统提示词注册表做模拟装配(ctx.systemPrompt.assemble(),不是自己拼字符串):
user:prompt-manager)单独计入「你管理的提示词」统计并高亮;model、cwd 等)与本次模拟的值;装配按当前会话的 agent 作用域进行:含该 agent(preset 层)贡献的段、工具与
model、cwd 等变量;未能在本次装配代入的变量保留占位符并在面板中单独标注。
user:prompt-manager,persona 之后、工具引导之前)挂入
系统提示词注册表,下一次装配即生效,无需重启(每个模型步骤都会重新装配);$DSH_HOME/prompt-manager/prompts.json,与插件本体分离。lib/index.js — 宿主插件入口:热加载 runner(watch lib/runtime.js → 动态 import →
重挂;POST /prompt-manager/reload 手动触发)lib/runtime.js — 宿主逻辑(可热加载):注入 user:prompt-manager 段 + 下面两条路由
(经 webServer 注册,与 /plugins、/api 前缀不冲突):GET /prompt-manager/state — 提示词列表 + 按当前会话 agent 作用域的模拟装配结果POST /prompt-manager/prompts — body {prompts: [...]},校验、持久化并重挂段lib/client.js — 浏览器插件(__ModuleLoader__ 包,React 18)conversation.view 槽位,为每个会话视图添加「提示词管理」标签页fetch 调用上述两条路由package.json — dsh.client 声明让 dsh-client-modules 扫描到浏览器面并注入
window.__DSH_BOOT__;宿主面由 main 提供git clone https://github.com/Airrcat/dsh-yuzuha-prompts-manager.git
# 把包登记为 profile 的本地依赖(dsh plugin 会把参数转发给 profile 目录下的 pnpm)
dsh plugin --profile <name> add file:../dsh-prompt-manager
然后在 $DSH_HOME/profiles/<name>/cordis.patch.yml 的数组里插入插件行:
- insert:
- id: prompt-manager
name: 'dsh-prompt-manager'
重启 dsh --profile <name>(loader 在重启时拾取新行;hmr 行在 web profile 中默认禁用),
刷新页面后,会话视图切换栏(聊天 / 轨迹那排)会出现「提示词管理」标签。
client-hmr 行会轮询 lib/client.js(默认 500ms),文件变化后
通过 /plugins/events SSE 把新 bundle 推给所有打开的页面,无需刷新。lib/runtime.js,变化后自动 dispose 旧代、
re-import 并重挂(出错自动回滚到上一代)。面板里也有「重载宿主」按钮
(POST /prompt-manager/reload)。lib/index.js 或 package.json 本身仍需要重启 dsh。pnpm install / dsh plugin install,pnpm 可能清掉未经
登记的文件式依赖:用 dsh plugin --profile <name> add file:<路径> 重新登记即可。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。