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

代码图记忆 smter/dsh-codebase-memory

DeepSeek 客户端
smter24 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

在决策点提醒模型调用代码图,并自动建索引

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

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

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/smter/dsh-codebase-memory.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 24 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 4 处,展示前 4 条)
  • 读取本地文件
    hook.js:483
    return statSync(real).isDirectory() ? real : dirname(real);
  • 读取本地文件
    hook.js:501
    if (existsSync(join(current, '.git'))) return current;
  • 读取本地文件
    hook.js:516
    entries = readdirSync(dir, { withFileTypes: true });
  • 执行外部命令来自配置/变量
    hook.js:543
    execFile(command, args, { timeout: timeoutMs, maxBuffer: 16 * 1024 * 1024 }, (error, stdout) => {
扫描于 2026/11/1(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 决策点提醒调用代码图
  • 纠正失败MCP调用
  • 自动索引仓库

DeepSeek Harness 插件:接入 codebase-memory-mcp 代码图谱,在决策点提醒模型,纠正失败的 MCP 调用,并自行索引仓库。

README

由 DeepSeek 最新模型翻译生成
dsh-codebase-memory 把 codebase-memory-mcp 的代码图接进 DeepSeek Harness —— 不只是接上,而是让模型真的用它。 代码图工具最常见的失败不是「接不上」,而是「接上了没人用」:提示写在 system prompt 开头,而决策发生在第 50 步。本插件把该做的事放到决策点上,包括替模型建索引。 安装 1. 先装 codebase-memory-mcp(见其上游 README),确认可用: codebase-memory-mcp --version 2. 在 DSH 的插件管理器里安装本插件(官方流程会同时完成包安装与 bundle 选择): github:smter/dsh-codebase-memory#e9f18e1170b2bc34bf95254bdb03aef34d73d99e 已固定到该 commit;升级时换成新 commit,或改用 tag v1.0.0。 3. 重启 dsh web。之后 Settings 里会出现本插件两个行的选项。 codebase-memory-mcp 不在 PATH 上时,改设置里的 autoIndexCommand,以及 MCP 行的 command。
展开完整文档(README 剩余 1 节)
dsh-codebase-memory

把 codebase-memory-mcp 的代码图接进 DeepSeek Harness —— 不只是接上,而是让模型真的用它。

代码图工具最常见的失败不是「接不上」,而是「接上了没人用」:提示写在 system prompt 开头,而决策发生在第 50 步。本插件把该做的事放到决策点上,包括替模型建索引。

安装

1. 先装 codebase-memory-mcp(见其上游 README),确认可用:

codebase-memory-mcp --version

2. 在 DSH 的插件管理器里安装本插件(官方流程会同时完成包安装与 bundle 选择):

github:smter/dsh-codebase-memory#e9f18e1170b2bc34bf95254bdb03aef34d73d99e

已固定到该 commit;升级时换成新 commit,或改用 tag v1.0.0。

3. 重启 dsh web。之后 Settings 里会出现本插件两个行的选项。

codebase-memory-mcp 不在 PATH 上时,改设置里的 autoIndexCommand,以及 MCP 行的 command。

它做什么

一个 bundle,三行:

| 行 | 作用 |
| codebase-memory-mcp | 连接本地 stdio MCP 服务,工具以 mcp__codebase-memory-mcp__* 暴露 |
| codebase-memory-reminder | 往 system prompt 注入一段提示,每个 model step 都在 |
| codebase-memory-nudge | 在工具管线里按需出手:纠正报错、决策点提醒、自动建索引 |

codebase-memory-nudge 的三件事,每件都有实测依据:

- 纠正失败的 MCP 调用 —— 报错时在下一次决策点注入「这次该怎么改」。
实测:某项目 17 次 search_graph 中,带 semantic_query 键的 10 次全部失败(空数组 [] 也算),不带的 7 次全部成功;一个子代理因此连续重试 8 次后彻底放弃该工具。
- 决策点提醒 —— 刚 grep 源码、或刚读满 100 行以上源码时,在那次结果后面附一句。
实测:只放 system prompt 时,某会话 12 次 MCP 调用中 10 次失败并很快放弃,另一会话 228 次工具调用里 0 次使用代码图。
- 自动建索引 —— 发现正在读的路径属于未索引的 git 仓库时,插件自己跑 codebase-memory-mcp cli index_repository,然后把准确的 project 名和可直接粘贴的调用交给模型。
实测:某会话被要求建索引后,先建错了仓库、再建对,正确解析出 project 名、写下「use the daily graph」,然后一次都没查。所以这一步不让模型做。

前置条件

- DSH 0.2.0-rc.1(本插件在该版本上验证)
- codebase-memory-mcp 已安装:MCP 行通过官方 StdioClientTransport 启动它,自动索引复用同一个可执行文件的 cli 一次性模式

设置

两个行都声明了 Config schema,选项会在 Settings 页自动成表单。常用几项:

| 设置 | 默认 | 说明 |
| autoIndex | true | 自动为未索引的 git 仓库建索引 |
| autoIndexMode | fast | fast / moderate / full |
| autoIndexMaxFiles | 20000 | 超过此文件数的仓库不自动索引 |
| autoIndexCommand | codebase-memory-mcp | 可执行文件路径(走 PATH) |
| minLines | 100 | 读多少行以上算「读长源码」 |
| cooldown | 6 | 第 1 次提醒后每隔几次符合条件的调用再提醒 |
| correctMCP | true | 是否纠正失败的 MCP 调用 |

完整字段见 Settings 页,或 index.js / hook.js 里的 Config。

开发与测试

pnpm install
pnpm test

55 个用例,不需要网络或真实索引:

- test/triggers.test.mjs — 30 例:行数阈值、源码过滤器正反例、提醒节奏、消息形状
- test/corrections.test.mjs — 11 例:用真实报错文本驱动纠正规则
- test/autoindex.test.mjs — 14 例:用桩可执行文件驱动完整索引链路与全部 guard

设置 CBM_DEBUG=1 可看到自动索引被跳过的原因。

已知限制

- PTC 模式下 Tool SDK 把多数 MCP 工具的参数渲染成 unknown,模型只能靠描述猜参数名。本插件用 system prompt 写明调用签名来绕过;根因在渲染侧,值得上游修。
- worktree 会被索引成独立 project(worktree 里 .git 是文件)。这通常正是想要的,但主 checkout 的索引不会自动覆盖 worktree,反之亦然。
- autoIndexMaxFiles 是有界遍历估算(不读 .gitignore),只是粗粒度护栏。

License

MIT
预览分享卡片长什么样 ↓smter/dsh-codebase-memory
分享 · DeepSeek Harness Hub
smter/dsh-codebase-memory

在决策点提醒模型调用代码图,并自动建索引

回到顶部