把踩过的坑存成可检索条目,出错时自动递到眼前
30.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add wqx11235/dsh-experience该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · browser
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 48 处,展示前 21 条)
- 读取本地文件index.js:51
try { entries = await readdir(ROOT) } catch { entries = null } - 读取本地文件index.js:53
try { await access(PACKAGE_LIBRARY) } catch { return } - 写入本地文件index.js:54
await mkdir(ROOT, { recursive: true }) - 读取本地文件index.js:68
const text = readFileSync(join(dir, 'package.json'), 'utf8').replace(/^ FEFF/, '') - 读取本地文件index.js:80
for (const entry of await readdir(dir, { withFileTypes: true })) { - 读取本地文件index.js:337
meta = JSON.parse(await readFile(META_FILE, 'utf8')) - 写入本地文件index.js:355
try { await writeFile(META_FILE, JSON.stringify(meta, null, 2)) } catch (e) { console.error('[experience] meta save failed', e.message) } - 读取本地文件index.js:366
dshVersion = JSON.parse((await readFile(manifest, 'utf8')).replace(/^ FEFF/, '')).version || '' - 发起网络请求index.js:510
const r = await fetch(v.target, { method: 'HEAD', signal: AbortSignal.timeout(5000) }) - 写入本地文件index.js:714
await mkdir(DRAFTS_DIR, { recursive: true }) - 写入本地文件index.js:715
await writeFile(join(DRAFTS_DIR, `auto-${sigId}.md`), body) - 写入本地文件index.js:956
await mkdir(join(DRAFTS_DIR, 'archive'), { recursive: true }) - 写入本地文件index.js:957
await rename(join(DRAFTS_DIR, name), join(DRAFTS_DIR, 'archive', name)) - 删除本地文件index.js:1116
if (draftFile) { try { await unlink(join(DRAFTS_DIR, draftFile)) } catch { } } - 写入剪贴板client.js:271
if (navigator.clipboard && navigator.clipboard.writeText) return navigator.clipboard.writeText(text) - 发起网络请求client.js:325
return fetch(LIST_URL).then(function (r) { return r.json() }).then(function (d) { - 发起网络请求client.js:330
return fetch(GAPS_URL).then(function (r) { return r.json() }).then(function (d) { - 发起网络请求client.js:345
fetch(STATS_URL).then(function (r) { return r.json() }).then(function (st) { - 发起网络请求client.js:355
fetch('/experience/inbox/prune').then(function (r) { return r.json() }).then(function (d) { - 发起网络请求client.js:359
fetch(STATS_URL).then(function (r) { return r.json() }).then(function (st) { - 发起网络请求client.js:370
fetch('/experience/refresh').then(function (r) { return r.json() }).then(function (d) {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 的自学习经验库:本地 markdown 知识、按错误签名检索、从缺口到条目的闭环、侧边栏面板。不联网。
README
由 DeepSeek 最新模型翻译生成dsh-experience
给 DeepSeek Harness 的自学习经验库:把踩过的坑变成可检索的本地知识,在错误发生的那一刻自动递到智能体面前,并在收尾时把「问题」变成「条目」。
Self-learning experience library for DeepSeek Harness: local, indexed markdown knowledge that is retrieved at the moment of failure and closed into new entries afterwards.
没有模型调用、没有向量库、没有联网上报。检索是纯本地打分,索引每 3 秒跟磁盘对齐。
▶ 45 秒完整演示(1080p,中英字幕)
为什么不是「再写一段提示词」
提示词解决「智能体该怎么做」,解决不了「同一台机器上的同一个报错又出现一次」。经验库补的是后者: 错误签名 → 命中已有条目 → 当场注入症状与避坑 → 解决后把缺的那条补齐。
展开完整文档(README 剩余 1 节)
dsh-experience 给 DeepSeek Harness 的自学习经验库:把踩过的坑变成可检索的本地知识,在错误发生的那一刻自动递到智能体面前,并在收尾时把「问题」变成「条目」。 Self-learning experience library for DeepSeek Harness: local, indexed markdown knowledge that is retrieved at the moment of failure and closed into new entries afterwards. 没有模型调用、没有向量库、没有联网上报。检索是纯本地打分,索引每 3 秒跟磁盘对齐。 ▶ 45 秒完整演示(1080p,中英字幕) 为什么不是「再写一段提示词」 提示词解决「智能体该怎么做」,解决不了「同一台机器上的同一个报错又出现一次」。经验库补的是后者: 错误签名 → 命中已有条目 → 当场注入症状与避坑 → 解决后把缺的那条补齐。 决定性机制(改任何一处都要先读) | 机制 | 作用 | 代码 | | 分区加权检索 | 标题/正文命中之外,命中「诊断关键词」+8、「避坑」+5;中文按 2-gram 兜底;别名半权扩展 | search() / zoneText() / ALIASES | | 错误签名路由 | ERR_MODULE_NOT_FOUND、EPERM、fetch failed、Error NNN 等签名给专属加权,并记录复发频率 | SIGNATURES / signatureWeight() / repeatBoost() | | 精确重排与去重 | top15 用整句命中/标题覆盖率重排;近似条目后一名 ×0.6;severity: critical 提权 | similarMap / search() 尾部 | | read-as-click 闭环 | 「按签名搜 → 读命中条目」记为解法(resolveMap);同签名短时间内真实复发则记 miss 降权 | noteRead() / pendingRead | | 失败采集 + 修复证据 | tools/result 的 isError(或 value.ok === false)进候选;同工具 30 分钟内成功调用参数回填为「修复证据」 | tools/result 监听 | | 缺口 → 条目闭环 | 复发但无解法的签名 + 未命中查询 + 待认领草稿 → experience_promote 一条命令入库(套模板/查重/同步分类 README/删草稿/重建索引/返回覆盖结果) | lib/promote.js / promote() | | 主动推送 | 工具失败时自动检索,命中分数过阈值就把「症状 + 避坑」注入本轮对话;按采纳率自适应阈值 | tools/post-execute | | 面板 | 侧边栏:按库浏览 / 结构化正文(避坑一键复制)/ 缺口与待认领 / 候选池 | client.js | 细节见 docs/architecture.md;条目格式见 library/README.md。 安装 从 GitHub 安装(当前主要方式) dsh plugin --profile web add github:wqx11235/dsh-experience npm 发布后 dsh plugin --profile web add dsh-experience 官方桌面端请在应用的设置 → 插件里安装,不要用命令行改桌面配置档。 装完重启宿主(host 插件不热更),侧边栏出现「经验库」。 首次启动会把包内 library/ 复制到库根;已有库不会被覆盖。 工具 | 工具 | 用途 | | experience_search | 检索;支持空格分词、中文 2-gram、报错签名加权;返回摘要与元数据 | | experience_read | 读全文;同时记录阅读次数与「解法关联」 | | experience_ask | 要结论而非文件列表:按 top 命中汇总「症状/原因/避坑」 | | experience_gaps | 缺口清单:反复出现无解法的签名、待认领草稿、未命中查询 | | experience_promote | 把草稿/签名/未命中查询写成正式条目;dryRun: true 先预览 | HTTP 端点(面板同源使用):/experience/list、/search、/read、/gaps、/drafts、/promote、/inbox、/inbox/prune、/inbox/draft、/inbox/dismiss、/flag、/dedup、/stats、/missed/dismiss、/refresh。 库根与配置 优先级:config.experienceRoot → 环境变量 DSH_EXPERIENCE_ROOT → ~/.dsh/experience。 在 profile 的 cordis.patch.yml 里按 id 覆盖(不要重复 insert) - id: experience config: experienceRoot: '/absolute/path/to/experience' seed: false 两条库的边界(不要混) | | 私有库 | 公开起步库 | | 位置 | 你机器上的库根(默认 ~/.dsh/experience) | 仓库 library/ | | 来源 | 你的使用积累 | 白名单 + 脱敏构建 | | 谁写 | 运行时(采集 / 认领 / 归档) | 只有 tools/build-library.mjs | | 是否发布 | 永不 | 随 npm/git 包 | | 检查 | — | 隐私 + 死链 + 边界 | - 公开库只从私有库按 tools/public-entries.txt 生成;运行时代码从不写 library/。 - 插件首次运行时把 library/ 播种到空的库根;已有私有库不会被覆盖(seed: false 可关)。 - 包内 cordis.patch.yml 不写任何机器路径;私有库用 profile patch 的 experienceRoot 指过去。 - node tools/check-boundaries.mjs 断言两边不混(CI 每次跑):公开库条目 = 白名单、仓库无 .meta.json/.drafts、无私有分类、patch 无绝对路径。 隐私 - 全部数据在本地;插件没有任何网络请求(唯一例外是你配置的 verify: url 校验)。 - 公开的起步库由构建期隐私闸门生成:只拷贝白名单条目,脱敏绝对路径/账号/邮箱/个人与私有项目信息,再跑泄漏扫描与死链扫描,任一命中即构建失败。见 docs/privacy.md。 - 你的本地库不会随插件发布,也不会上传。 开发 node test/run-all.mjs # 集成测试 + 死链 + 隐私闸门 node test/host-harness.mjs # 无宿主集成测试(假 ctx + 真 defineTool schema) node tools/build-library.mjs <私有库目录> # 从私有库重建公开起步库 node tools/privacy-rules.mjs library # 公开库隐私闸门 test/host-harness.mjs 会自行 stage 一份插件并注入 @deepseek-ai/dsh-tools,不需要真的起宿主。 发布到插件市场 收录流程(awesome-dsh-plugin 一个 YAML 文件就是一个投稿)见 docs/publishing.md。 License MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
wqx11235/dsh-experience
把踩过的坑存成可检索条目,出错时自动递到眼前
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目