把代码仓库笔记卡片与记忆存进本地 Obsidian 库
34.1/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add myYangyunfan/dsh_cardian该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · chat
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 62 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/26) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-cardian(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/24 14:52:01
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 管理本地笔记
- 闪卡与记忆存储
- 对接Obsidian仓库
README
由 DeepSeek 最新模型翻译生成cardian · DeepSeek Harness 知识中心插件
English · 中文(简体)
一个复刻主流 agentic IDE「知识中心」能力模型的 DeepSeek Harness(dsh)插件。把 RepoWiki / 知识卡片 / 记忆 三大功能,全部内化并落地到本地 Obsidian 仓库——每一张知识卡、每一条记忆、每一页 RepoWiki 都是一份带 YAML frontmatter 的 Markdown,可直接用 Obsidian 打开、检索、可视化图谱。
工程上对标 basic-memory、12-factor-agents、claude-obsidian 等开源实践(详见 ITERATIONS.md 的 10 轮迭代记录)。
展开完整文档(README 剩余 1 节)
cardian · DeepSeek Harness 知识中心插件
English · 中文(简体)
一个复刻主流 agentic IDE「知识中心」能力模型的 DeepSeek Harness(dsh)插件。把 RepoWiki / 知识卡片 / 记忆 三大功能,全部内化并落地到本地 Obsidian 仓库——每一张知识卡、每一条记忆、每一页 RepoWiki 都是一份带 YAML frontmatter 的 Markdown,可直接用 Obsidian 打开、检索、可视化图谱。
工程上对标 basic-memory、12-factor-agents、claude-obsidian 等开源实践(详见 ITERATIONS.md 的 10 轮迭代记录)。
快速开始(即插即用)
git clone https://github.com/myYangyunfan/dsh_cardian.git
cd dsh_cardian
npm install # 安装 react + tsdown + typescript,并自动构建客户端(prepare 脚本)
npm test # 测试全绿
npm run build:client # 手动构建侧边栏 UI → lib/client.js(通常 install 已自动完成)
作为 dsh 插件接入:把 dsh-cardian 装进 dsh desktop(npm install 或 npm install dsh-cardian),并把 cordis.patch.yml 里的 insert 行合入当前 profile;左下栏即出现「🌳 知识树」入口。详见 docs/dsh-integration.md。
脱离 dsh 单独用(纯本地知识库):
node cli.mjs status --vault ./cardian-vault
node cli.mjs card add "闭包" "闭包=函数+词法环境" --tags js
node examples/demo.mjs # 生成示例仓库,用 Obsidian 打开 ./cardian-vault 查看
三大功能
| 功能 | 目录 | 定位 | 工具 |
| RepoWiki | Repos/ | 扫描本地代码仓库生成 Wiki 骨架,agent 回填语义描述 | cardian.wiki. |
| 知识卡片 | Cards/ | 原子化知识单元,按分类/标签归组与检索 | cardian.card. |
| 记忆 | Memory/ | 跨会话持久记忆,按 scope 归组,支持 facts / importance | cardian.memory.* |
另有跨分区工具:cardian.recall(精简召回)、cardian.search(关键词+语义混合检索)、cardian.tagCloud、cardian.backlinks、cardian.related、cardian.doctor/schema/reindex、cardian.export/import/importMarkdown、cardian.status;双向同步与代码图谱用 cardian.wiki.sync/graph,知识分层导出用 cardian.skill.export,记忆晋升用 cardian.memory.promote。
对话活动自动刷新
宿主插件监听 session/event(user/message):当会话工作目录(header.cwd 的 basename,经 slug 归一)匹配某项目已有 RepoWiki 分区时,自动执行:
1. 以 scope= upsert「最近对话 · 」episodic 记忆(稳定 id,正文含消息摘录,合并更新);
2. refreshAll() 重建 RepoWiki / 知识卡片 / 记忆 三个分区的 MOC 索引。
即「项目每次有对话活动,三个分区都会刷新」,实现知识中心的"记忆随活动保鲜"行为。
一键沉淀 = 骨架 + AI 凝练(0.6.3)
知识树面板 RepoWiki 标签的「📁 工作区沉淀」dock 里点「沉淀 ▸」,现在不只是扫描骨架:骨架卡生成完成后会自动新建一个 agent 会话(ctx.get('agents').create(...)),让 AI 用 cardian.wiki.list / cardian.wiki.get / cardian.wiki.upsert 把每张骨架卡回填成语义卡片——正文改为「## 职责 / ## 关键实现 / ## 依赖 / ## 注意点」,summary 是一句话职责摘要,标题是人类可读的模块名,去掉「## 待补充」占位并置为 published。已有回填的卡跳过(幂等,不覆盖人工成果)。
- 面板在任务行旁显示 AI 状态:✦ AI 凝练中(会话 xxx)/ ✅ AI 凝练完成 / ⚠️ 不可用(宿主无 agents 服务,骨架已生成,可在对话中让 AI 回填);
- 配置项 aiCondense(默认 true)控制整体开关;单次沉淀可传 ai: false 关闭;
- agent 会话被关闭时任务自动标成「AI 凝练完成」。
凝练幂等(0.6.2):重复点击凝练不丢内容
cardian.wiki.ingest 对已语义回填过的卡片(body 已不再是「待补充」骨架模板)跳过覆写:agent/用户 upsert 的职责描述、摘要、标题全部保留,只在扫描新文件或刷新骨架卡时写入。返回 { count, skipped, reserved },面板沉淀完成文案显示「新增 N 张,保留已凝练 M 张」。
知识树文件夹层级(0.6.2)
「知识树」面板列表改为可展开的树:第一层按分区组(RepoWiki=仓库 / 知识卡片=分类 / 记忆=scope),RepoWiki 内再按文件路径段(src/lib/store.js → src ▸ lib ▸ store.js)展开成目录;点击项目/文件夹展开收起,点击文件查看凝练内容。搜索时自动切回扁平结果列表。sectionList 条目新增 path 字段(frontmatter 真值优先)。
架构
┌────────────────────────────────────────────┐
│ dsh adapter (src/) Cordis 契约 + 工具注册 │ │ src/index.js · tools.js · schema.js │ └──────────────────────┬─────────────────────┘ │ createCardian() ┌──────────────────────▼─────────────────────┐ │ core/ 框架无关的知识中心引擎 │ │ store(原子写) · indexer(倒排检索) │ │ embedder(可插拔向量) · links(反向链接) │ │ cards · memory · repowiki · sync │ └──────────────────────┬─────────────────────┘ │ 纯 Markdown + YAML frontmatter ┌──────────────────────▼─────────────────────┐ │ Obsidian vault Cards/ Memory/ Repos/ │ └────────────────────────────────────────────┘
核心引擎不依赖 Cordis,同一份逻辑同时服务 dsh 插件、独立 CLI(cli.mjs)、未来的 MCP server。
工具矩阵(36 个,带行为提示)
每个工具标注 readOnly / idempotent / destructive,agent 无需试错即可选对工具;工具抛出的错误会被压缩成结构化 { ok:false, error:{code,message,suggestion} }(12-factor Factor 9)。
| 工具 | 行为 |
| cardian.status | 只读 |
| cardian.search / recall / tagCloud / backlinks / related / export / doctor / schema | 只读 |
| cardian.import / importMarkdown / reindex / card.review | 幂等 |
| cardian.wiki.ingest / upsert · card.card.upsert · memory.commit | 幂等 |
| cardian.wiki.get / list · card.get/list/search/due · memory.get/list/search/history | 只读 |
| cardian.wiki.delete · card.delete · memory.delete | 破坏性(幂等重试安全) |
| cardian.wiki.overview / memory.promote / import / importMarkdown / reindex | 幂等治理动作 |
| cardian.wiki.sync / skill.export | 幂等(同步/分层导出) |
| cardian.wiki.graph / cardian.feedback | graph 只读 · feedback 幂等反馈闭环 |
领域特性:笔记可带 status(draft/published)、confidence(0-1)、source、summary、aliases、relations(类型化关系如 "depends_on [[X]]")、as_of/expires(新鲜度)。RepoWiki 会自动提取 imports 依赖;记忆支持 kind(semantic/episodic/procedural) 与追加式修订历史;知识卡片支持 front/back/deck 闪卡与 SM-2 复习排期。
Obsidian 仓库结构
/
├── Cards/ README.md(MOC) + /.md
├── Memory/ README.md(MOC) + /.md
└── Repos/ README.md(MOC) + /.md
三个 README.md 是自动维护的 MOC,用 [[wikilink]] 与标签把条目连成图谱。
安装与加载(dsh)
遵循官方兼容协议:package.json 的 dsh.bundle.patch + cordis.patch.yml 的 insert 行。
cordis.patch.yml
- insert:
- id: cardian
name: dsh-cardian
config:
vaultPath: ./cardian-vault # Obsidian 仓库路径 autoInit: true semanticSearch: true searchAlpha: 0.5 # 0=纯语义, 1=纯关键词
配置
| 字段 | 默认 | 说明 |
| vaultPath | ./cardian-vault | Obsidian 仓库路径,可绝对路径或 !!js 注入 |
| autoInit | true | 启动时自动建目录与 MOC |
| semanticSearch | true | 启用语义检索(与关键词混合) |
| searchAlpha | 0.5 | 混合检索权重 |
| embedderDim | 256 | 内置 HashEmbedder 向量维度 |
知识树(dsh 客户端)
cardian 还带一个 dsh 客户端半侧(src/client/):在左侧边栏脚部添加「🌳 知识树」栏目,点击展开浮动面板,直接在宿主里查看/搜索三大功能生成的全部内容。它注册进 dsh 官方的两个可加性 slot——sidebar.footer.action(左下栏入口)与 shell.overlay(浮动面板)。
npm run build:client # 产出 lib/client.js(window.__ModuleLoader__.load 闭包工厂)
完整说明见 docs/dsh-integration.md。
CLI(无需 dsh 宿主)
node cli.mjs status --vault ./cardian-vault
node cli.mjs card add "闭包" "闭包=函数+词法环境" --tags js,基础 --category frontend
node cli.mjs search "词法" --top 5
node cli.mjs wiki ingest ./src --name cardian
node cli.mjs export --file backup.json
node cli.mjs import backup.json
node cli.mjs tagcloud / backlinks / related
全局 --vault 、--dry-run(只打印意图不写盘)、--quiet。
在 Obsidian 中查看
node examples/demo.mjs # 生成含示例内容的仓库(默认 ./cardian-vault)
然后在 Obsidian「打开文件夹作为仓库」选择 vaultPath 即可;图谱视图会把知识卡片、记忆、RepoWiki 连成一张网。
开发与测试
npm test # node:test,用例覆盖核心 + 适配层 + 路径安全 + 往返
仓库结构
dsh_cardian/
├── package.json / cordis.patch.yml / LICENSE / CHANGELOG.md / ITERATIONS.md
├── core/ # 框架无关引擎(store/indexer/embedder/links/sync/errors/config/log/三大服务) ├── src/ # dsh 适配(index/tools/schema)+ 客户端半侧 ├── cli.mjs # 独立 CLI ├── examples/demo.mjs ├── test/ # node:test + fixtures └── docs/ ├── dsh-integration.md # 宿主/客户端接入说明 └── research/ # DSH 插件兼容协议研究 ├── dsh-std/ # 官方插件契约、manifest 与配置层 └── adapter/ # LLM adapter seam 与跨框架 adapter 模式
研究:DSH 插件兼容协议
docs/research/README.md 是本仓库附带的研究成果索引,核心结论:dsh = 官方 deepseek-ai/deepseek-harness("一切皆插件"),跑在 Cordis 插件框架之上。兼容性的"命门"是几个精确字段名与层级顺序——写错就崩。写插件/适配器前先读这两个子目录:
- docs/research/dsh-std/ — 插件标准/兼容协议:官方插件契约、manifest 与配置层、社区 dsh-std 前瞻、通用兼容协议要素清单、参考资料 URL。
- docs/research/adapter/ — 适配器规范:官方 LLM adapter seam、目录结构与编写清单、跨框架 adapter 模式(MCP/A2A/OpenAI/LiteLLM/vLLM)。
相关项目
- dsh-hotplug-hub — 独立的插件拼装启动器:读组合 → 拼 profile → 预检 → 拉起官方 DSH → 捕获日志 → 自愈。两个项目共享同一份兼容性研究。
- deepseek-ai/deepseek-harness — 官方 DSH 宿主(MIT,TypeScript,developer preview)。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
myYangyunfan/dsh_cardian
把代码仓库笔记卡片与记忆存进本地 Obsidian 库
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,487已汉化DSH
73
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,894已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,379已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
DS Bot 是一个基于 DeepSeek Harness简称 dsh的 bot 插件,插件将 dsh 改造为 bot…
★ 5,084已汉化DSH
71.1
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,778已汉化DSH
71.1