🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

知识锻造炉 bill084153-cell/dsh-knowledge-forge

DeepSeek Harness
bill084153-cell79 天前有提交已提供中文文档扫描:含敏感能力

把对话轨迹自动沉淀为本地 Wiki 与原生 Skill

27.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add bill084153-cell/dsh-knowledge-forge
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · chat
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/8) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 11 处,展示前 11 条)
  • 读取本地文件
    src/knowledge/context.ts:20
    content = await readFile(indexPath, 'utf8')
  • 读取本地文件
    src/paths.ts:10
    if (existsSync(join(current, '.git'))) return current
  • 读取本地文件
    src/scheduler/scheduler.ts:150
    this.policyPromise ??= readFile(fileURLToPath(new URL('../../prompts/knowledge-worker.md', import.meta.url)), 'utf8')
  • 写入本地文件
    src/storage/database.ts:60
    mkdirSync(dirname(this.path), { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/writer/writer.ts:16
    await mkdir(pages, { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/writer/writer.ts:17
    await mkdir(skillsRoot(options.workspaceRoot), { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/writer/writer.ts:45
    await mkdir(directory, { recursive: true, mode: 0o700 })
  • 读取本地文件
    src/writer/writer.ts:122
    return readFile(absolute, 'utf8')
  • 写入本地文件
    src/writer/writer.ts:133
    await mkdir(dirname(path), { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/writer/writer.ts:135
    await writeFile(temp, content, { encoding: 'utf8', mode: 0o600 })
  • 写入本地文件
    src/writer/writer.ts:136
    await rename(temp, path)
扫描于 2026/11/3(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-commands@deepseek-ai/dsh-fs@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm@deepseek-ai/dsh-session
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 对话轨迹沉淀为Wiki
  • 生成原生技能
  • 本地优先存储

README

由 DeepSeek 最新模型翻译生成
DSH Knowledge Forge 面向 DeepSeek Harness(DSH)的本地自动 Wiki 与 Skill 记忆插件。 DeepSeek Harness Node.js License: MIT Tests Local-first 核心亮点 · 工作原理 · 快速开始 · 看板 · 技术架构 · 安全边界 English · 简体中文 ✨ 核心亮点 DSH Knowledge Forge 专为 DeepSeek Harness 构建,将 Agent 对话轨迹逐步转化为可复用知识。 - 第一次出现的长期有效任务 Case,沉淀为可读的 Wiki。 - 后续独立 Case 再次出现相同稳定流程时,可以晋升为 DSH 原生 Skill。 - 晋升后,Wiki 变成指向 Skill 的轻量 Meta,让 Agent 渐进式发现能力,不需要把所有 Skill 一次性塞进提示词。
展开完整文档(README 剩余 1 节)
DSH Knowledge Forge

面向 DeepSeek Harness(DSH)的本地自动 Wiki 与 Skill 记忆插件。

DeepSeek Harness
Node.js
License: MIT
Tests
Local-first

核心亮点 · 工作原理 · 快速开始 · 看板 · 技术架构 · 安全边界

English · 简体中文

✨ 核心亮点

DSH Knowledge Forge 专为 DeepSeek Harness 构建,将 Agent 对话轨迹逐步转化为可复用知识。

- 第一次出现的长期有效任务 Case,沉淀为可读的 Wiki。
- 后续独立 Case 再次出现相同稳定流程时,可以晋升为 DSH 原生 Skill。
- 晋升后,Wiki 变成指向 Skill 的轻量 Meta,让 Agent 渐进式发现能力,不需要把所有 Skill 一次性塞进提示词。

| 能力 | 行为 |
| 本地优先采集 | 顶层 Turn 完成后先脱敏、截断,再写入项目本地 SQLite |
| 按 Session 分批 | 单个来源 Session 满 5 个待处理 Turn,或最老 Turn 等待 60 分钟后触发 |
| One-shot 提炼 | 通过无工具、不可交互的后台 Agent 返回严格结构化结果 |
| Wiki → Skill 晋升 | 首次有价值 Case 写 Wiki;重复、稳定、可执行的流程晋升为原生 Skill |
| 渐进式披露 | 上下文只注入紧凑 Wiki 索引,需要时再读取完整 Wiki 或 Skill |
| 白盒可观测 | 保留 Markdown 产物、批次回执、重试状态和 DSH Web 看板 |

项目简介

DeepSeek Harness 是采用插件化架构的开源 Agent Harness。DSH Knowledge Forge 是它的原生插件,为 DeepSeek Harness 增加本地自动知识沉淀能力,无需外部 Memory 服务。

Agent Session 中包含大量有价值的工程记忆:做过什么、用户如何纠正、哪些证据关键、什么决策有效、阻塞任务应该从哪里继续。原始 Transcript 过大、噪声过多,不适合直接成为长期上下文;一次性摘要又缺乏可审计性。

Knowledge Forge 将运行证据与可复用知识分开保存:

- SQLite 保存队列、调度、重试、回执、Case 关系和全文索引。
- Markdown 保存可读、可编辑的 Wiki 与 Skill 长期产物。
- 紧凑 Wiki 索引负责引导召回,不把所有知识页和 Skill 一次性注入提示词。

最终形成一条面向 DeepSeek Harness 的本地知识闭环:

任务发生 -> 有价值 Case 进入 Wiki -> 重复流程晋升 Skill -> 后续 Session 复用

工作原理

1. 采集顶层 Turn

插件监听 DSH 顶层 Turn 生命周期,提取用户可见消息、有限长度的助手输出、简化工具证据和相关路径。Reasoning 与完整工具输出不会被复制。

Candidate 写入前会完成:

- 疑似凭证信息脱敏;
- 按配置限制长度;
- 按 Git Workspace 与来源 Session 隔离;
- 生成幂等事件 ID。

2. 每个 Session 独立调度

来源 Session 满足任一条件后进入处理:

- 已有 5 个待处理 Turn;
- 最老待处理 Turn 已等待 60 分钟。

多个到期 Session 会分别调用后台 Agent,不会把不同 Session 的 Turn 混到同一次模型请求中。

3. One-shot 后台知识整理

Knowledge Forge 启动 DSH Subagent,并强制以下约束:

- 只允许一次不可交互的完整回答;
- 禁用所有工具;
- 使用严格 JSON 输出 Schema;
- 每个输入事件必须有且只有一个处理结果;
- Candidate、Wiki 与 Skill 内容全部按不可信数据处理。

Host 在写文件前继续校验事件覆盖、Case 归属、安全 ID、Skill 晋升证据和疑似敏感内容。

4. 第一次写 Wiki,重复后晋升 Skill

知识判断遵循渐进式规则:

1. 丢弃普通查询、临时问题、闲聊和已有 Skill 的无变化复用。
2. 优先复用已有 Skill,避免重复沉淀同一流程。
3. 写入或更新 Wiki,记录长期有效任务 Case:目标、用户反馈、证据、决策、结果、阻塞和继续点。
4. 晋升为 Skill,要求新的独立 Case 再次出现同一稳定、可执行流程,并具备明确输入、步骤和验证方式。
5. Wiki 转为轻量 Meta,指向生成的 Skill。

这套机制不会把每段对话都当成知识,也不会把简单的文字重复误判为自动化能力。

快速开始

环境要求

- Node.js ^22.19.0 || >=24.0.0
- DeepSeek Harness 0.1.0-rc.6

Knowledge Forge 使用 Node 内置 node:sqlite,无需额外安装 SQLite 软件。

从当前仓库安装

克隆代码并构建预编译 tarball:

git clone https://github.com/bill084153-cell/dsh-knowledge-forge.git
cd dsh-knowledge-forge
npm install
npm run build
npm pack

安装到 DSH Web profile 并启动:

dsh plugin --profile web add ./dsh-knowledge-forge-0.1.0.tgz
dsh web

需要在哪个 DSH profile 中自动沉淀,就把 Bundle 安装到对应 profile。Web profile 会额外提供 Dashboard。

TypeScript DSH 插件直接从 GitHub 安装时需要授予安装期构建权限。先构建 tarball,可以让安装行为更明确,也避免在用户的 DSH profile 中执行仓库构建脚本。

验证安装

dsh web --dump-config | grep -A 8 dsh-knowledge-forge

dsh plugin --profile web exec \
dsh-knowledge-forge doctor --workspace .

doctor 正常时会输出 Workspace、本地数据库路径、队列数量、Wiki 数量、Skill 数量和 status: ok。

存储结构

Knowledge Forge 只在当前项目内写入:

/.dsh/
├── knowledge-forge/
│ ├── knowledge-forge.sqlite # 队列、批次、回执、重试、全文索引 │ └── wiki/ │ ├── index.md # 注入 Agent 上下文的紧凑召回地图 │ └── pages/ │ └── .md # 长期任务 Case 或 Skill Meta └── skills/ └── / └── SKILL.md # DSH Skill Catalog 可原生发现的 Skill

SQLite 属于运行状态;Markdown Wiki 与 SKILL.md 是可读的长期知识产物。

触发、重试与保留策略

| 策略 | 默认值 |
| Turn 阈值 | 每个 Session 5 个待处理顶层 Turn |
| 时间阈值 | 最老待处理 Turn 等待 60 分钟 |
| Session 混批 | 禁止;每个到期 Session 独立处理 |
| 重试间隔 | 30 秒、2 分钟、10 分钟 |
| Dead letter | 第 4 次执行仍失败 |
| Processing Lease | 30 分钟后执行崩溃恢复 |
| 运行数据保留 | 90 天 |
| Wiki / Skill 过期 | 不自动过期 |

常驻 dsh web 可以准时执行时间触发。如果 DSH 停止,待处理数据会继续保存在 SQLite 中,并在 Workspace 再次活跃时补处理。

调度器是进程级单实例,不会为每个 Session 常驻一个后台进程。来源 Agent 已退出时,可以使用同一 Workspace 的其他在线顶层 Agent 承载 one-shot Worker;没有在线 Parent 时,批次等待下一次 Workspace 活动。

看板与运维

将插件安装到 Web profile,执行 dsh web,然后打开 Settings → Knowledge Forge。

看板展示:

- Workspace 与来源 Session 筛选;
- Pending、Running、Waiting、Completed、Dead-letter 数量;
- 来源 Session 与 Worker Session 跳转;
- 批次触发原因和逐 Turn 动作;
- 生成的 Case、Wiki 与 Skill;
- 校验错误与执行错误。

Session 内命令

/knowledge-forge
/knowledge-forge run
/knowledge-forge retry

离线诊断

下面的命令只读取本地状态,不会启动模型:

dsh plugin --profile web exec \
dsh-knowledge-forge status --workspace .

dsh plugin --profile web exec \
dsh-knowledge-forge doctor --workspace .

知识召回

Knowledge Forge 注册两个只读工具:

| 工具 | 用途 |
| knowledge_search | 通过本地 SQLite FTS5 搜索 Wiki 与生成 Skill 的 Meta |
| knowledge_read | 读取搜索结果中的单个 Wiki 页面或生成 Skill |

Agent 创建时只注入紧凑 Wiki 索引,需要时再加载完整页面与 Skill Body。该方式遵循 DSH 原生 Skill 模型,并节省上下文空间。

技术架构

| 层级 | 实现 |
| DSH 生命周期 | agent/turn-stopping 与 agent/created 扩展点 |
| Candidate 提取 | 有限长度的问答、简化 Tool Trace、路径证据、脱敏 |
| 运行存储 | Node 22 内置 node:sqlite,可用时启用 WAL,FTS5 检索 |
| 调度 | 一个进程级 Scheduler 协调多个 Workspace 数据库 |
| 语义 Worker | DSH subagents.start('spawn', ...),无工具 one-shot 执行 |
| 输出契约 | 严格 JSON Schema + Host 语义强校验 |
| 长期产物 | 原子写入 Markdown Wiki 与 .dsh/skills/*/SKILL.md |
| 召回 | Wiki 索引上下文 + knowledge_search / knowledge_read |
| 可观测性 | 只读 HTTP Endpoint + DSH Settings 页面 |

插件不依赖外部服务,运行时只存在于 DSH 进程与当前项目目录中。

安全与隐私

- 不复制原始 Session Log、模型 Reasoning、完整工具输出和密钥。
- Candidate 持久化前会脱敏并限制长度。
- Candidate、Wiki、Skill、路径、工具参数和工具输出均视为不可信输入。
- 后台 Agent 不拥有工具,不能执行 Candidate 中的指令。
- 每次 Wiki 或 Skill 写入前都由 Host 强校验。
- 产物 ID 限制为安全的 kebab-case 路径。
- 只允许在声明的项目目录内进行原子文件替换。
- Dashboard 接口只读,沿用 DSH Web 原有暴露边界。
- 运行数据保留 90 天;整理后的 Wiki 和 Skill 由用户自行编辑或删除。

配置

Bundle 默认配置位于 cordis.patch.yml:

- insert:
- id: knowledge-forge
name: dsh-knowledge-forge
config:
turnThreshold: 5
maxAgeMinutes: 60
retentionDays: 90
maxRetries: 3

用户可以通过后置 DSH profile patch 覆盖插件配置。其他选项还包括 processingLeaseMinutes、Candidate 与 Tool Preview 长度、Wiki 上下文长度和 enabled。

开发验证

npm install
npm run typecheck
npm test
npm run build
npm run pack:check

当前测试覆盖 Candidate 提取、脱敏、Session 隔离与调度、重试与 Dead Letter、结构化结果校验、Wiki/Skill 原子写入、DSH 原生 Skill 发现、Bundle 组合和 Dashboard Transport。

项目状态

Knowledge Forge 当前适配 DeepSeek Harness 0.1.0-rc.6。该版本仍处于 Developer Preview,DSH 稳定版发布前可能存在破坏性 API 变化,插件需要同步适配。

参与贡献

欢迎提交 Issue、文档优化、兼容性修复和测试。建议将贡献范围保持在通用的本地自动知识沉淀能力,避免在核心中引入特定业务或聊天框架耦合。

如果这个项目对你有帮助,欢迎 Star,并通过 GitHub Issues 分享实际的 Wiki/Skill 晋升案例。

许可证

MIT © 2026 Zhongxibiao
预览分享卡片长什么样 ↓bill084153-cell/dsh-knowledge-forge
分享 · DeepSeek Harness Hub
bill084153-cell/dsh-knowledge-forge

把对话轨迹自动沉淀为本地 Wiki 与原生 Skill

这是你的仓库?认领条目

回到顶部