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

上下文压缩镜 GooDAnDReaDY/dsh-context-lens

DeepSeek Harnessv0.1.34
GooDAnDReaDY11 天前有提交已提供中文文档扫描:未发现敏感能力

DSH 插件,做 AST 上下文压缩、测试日志过滤和 token 预算守卫

33/100
综合分
4
GitHub 星标
2,160
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @goodandready/dsh-context-lens
npm 源 · @goodandready/dsh-context-lens 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · chat
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功(非静态推断);本次验证针对插件 v0.1.35,当前版本为 v0.1.34
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@goodandready/dsh-context-lens @ 0.1.34
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/21 02:58:04

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

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

功能亮点

  • AST上下文压缩
  • 测试日志过滤
  • token预算守卫
v0.1.352026-10-23
· 变更内容 · 通过 context_lens_code 中的 filePath 直接读取文件(#128):省略代码时,context_lens_code 现在能直接从磁盘读取文件,省去骨架化之前那些耗费 token 的冗余 read_file 往返。新增文件大小上限(MAX_DIRECT_READ_BYTES = 1 MiB)、目录防护和自动语言检测(detectLanguageFromPath)。 · 客户端 CSS 回退主题 token(#128):移除 lib/client.js 中 .cl-btn-primary 里硬编码的 #ffffff 回退,严格遵循 DSH 规范主题 token,并清除预检警告。 · 按需架构与设置说明(#128):让 README.md(英文、俄文、中文)与按需工具执行模型保持一致,补充直接读取文件参数的说明,并澄清 context_lens_log 中 autoCompressThreshold 的用法。在 docs/design/DESIGN.md 中记录第 11 节「按需语义执行与直接读取文件约定」。 · 质量门禁:全部 101 项测试通过(npm test),dsh-plugin-preflight FAIL=0,包体积 29.7 KB(< 256 KB)。 · 发布元数据 · 插件版本:0.1.35 · 兼容 DSH 版本:v0.2.0-rc.2 · Gitea 提交:7e40c90aa9278122170098a9ddc50fe4e6d97f8c · 镜像提交:448126849ee7335686e7c0a7eddc2d13ffaa4e71
v0.1.342026-10-19
· 变更内容 · 绝对文件路径的相对焦点模式匹配(#125):修复了相对焦点模式和目录名(如 src、lib/foo.ts、./src、/src)在 context_lens_code 中无法匹配绝对文件路径(如 /repo/src/a.js)的问题,该问题会导致焦点文件被骨架化。在 lib/tools.js 中实现了带边界检查的目录段匹配和前导 ./ 归一化,对部分文件夹名冲突(my-src 与 src)零误报。 · 设计契约已更新:在 docs/design/DESIGN.md 中记录了会话焦点路径匹配契约。 · 质量门禁:全部 96 项测试通过(npm test),dsh-plugin-preflight FAIL=0,包体积 28.5 KB(< 256 KB)。 · 发布元数据 · 插件版本:0.1.34 · 兼容 DSH 版本:v0.2.0-rc.2 · Gitea 提交:bc455b2f3ac1100ce7bc992eacc0c999bfe2e84c · 镜像提交:7850e4eda5addecbc199b392bc146aa3c74fec88
v0.1.302026-10-10
· 变更说明 · 解包 Schemastery Volatile 对象:确保 lib/index.js 里初始 readConfig 和 teardown 兜底都经 plainConfig 包一层,避免原始 Schemastery Volatile 对象 { get: [Function] } 流到工具使用方(astSkeletonMaxDepth、compressionMode、autoCompressThreshold),也避免出现 NaN 或 [object Object] 比较。 · 主动刷新实时配置缓存:新增本地缓存 cachedLiveSettings,在 settings/document-updated 事件触发时主动刷新,去掉空壳处理函数,工具执行时也不再反复同步查询 describe()。 · 清理死代码:从宿主配置读取中移除走不到的旧分支 sctx.settings.get,并清理 lib/tools.js 里未使用的模块级变量 lastActiveSession。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
📦 @goodandready/dsh-context-lens DeepSeek Harness 语义 AST 代码骨架提取与测试日志压缩插件 🇬🇧 English • 🇷🇺 Русский • 🇨🇳 中文说明 ⭐ 如果您喜欢本插件,请在 GitHub 上点亮 Star —— 这能让我了解插件对您有所帮助,并激励我持续维护和演进它。 🐛 如遇问题或有功能建议,欢迎使用任意语言提交 GitHub Issue —— 您的所有实用建议都将在后续版本中得到评估和实现。 ⚡ 核心定位与职责划分 说明:上下文预算控制、Token 计数、工具输出头尾截断 (dsh-compaction-tool-result-pruner) 以及大文件溢出落盘 (dsh-spill-policy, dsh-token-meter) 由 DSH 核心引擎 (>= 0.1.5) 原生负责。 dsh-context-lens 专注于核心不具备的能力 —— 语义压缩: 1. AST 代码骨架生成:提取函数签名、接口、类型定义及文档注释,去除冗长实现体(支持 9+ 种语言)。 2. 焦点路径机制:正在编辑的文件保留全量内容,周边工作区文件生成骨架。 3. 测试与构建日志压缩:保留失败信息、错误栈及汇总结果,剔除冗余输出。
展开完整文档(README 剩余 1 节)
📦 @goodandready/dsh-context-lens

DeepSeek Harness 语义 AST 代码骨架提取与测试日志压缩插件

🇬🇧 English •
🇷🇺 Русский •
🇨🇳 中文说明

⭐ 如果您喜欢本插件,请在 GitHub 上点亮 Star —— 这能让我了解插件对您有所帮助,并激励我持续维护和演进它。

🐛 如遇问题或有功能建议,欢迎使用任意语言提交 GitHub Issue —— 您的所有实用建议都将在后续版本中得到评估和实现。

⚡ 核心定位与职责划分

说明:上下文预算控制、Token 计数、工具输出头尾截断 (dsh-compaction-tool-result-pruner) 以及大文件溢出落盘 (dsh-spill-policy, dsh-token-meter) 由 DSH 核心引擎 (>= 0.1.5) 原生负责。
dsh-context-lens 专注于核心不具备的能力 —— 语义压缩:
1. AST 代码骨架生成:提取函数签名、接口、类型定义及文档注释,去除冗长实现体(支持 9+ 种语言)。
2. 焦点路径机制:正在编辑的文件保留全量内容,周边工作区文件生成骨架。
3. 测试与构建日志压缩:保留失败信息、错误栈及汇总结果,剔除冗余输出。

graph LR
subgraph RawContext [原始输入]
Code[📁 源代码] --> Lens[dsh-context-lens 语义引擎]
Logs[📋 测试与构建日志] --> Lens
end

subgraph Lens [语义压缩处理]
Lens --> Focus{路径焦点判断}
Focus -->|聚焦文件| FullCode[保留完整代码]
Focus -->|周边文件| AST[AST 骨架提取]
Lens --> LogCompress[日志压缩: 错误/堆栈/汇总]
end

subgraph Output [优化后上下文]
FullCode --> Agent[🤖 Agent 上下文]
AST --> Agent
LogCompress --> Agent
Agent --> Core[⚙️ DSH 核心截断与溢出策略]
end

style RawContext fill:#1e1e2e,stroke:#89b4fa,stroke-width:2px,color:#cdd6f4
style Lens fill:#181825,stroke:#cba6f7,stroke-width:2px,color:#cdd6f4
style Output fill:#11111b,stroke:#a6e3a1,stroke-width:2px,color:#cdd6f4

🛠️ Agent 工具参考 (归并至 2 个工具)

所有工具完全符合 DeepSeek Harness 规范,output.render 统一返回 ContentBlock[] 数组。

| 工具名 | 操作模式 | 参数 | 描述 |
| context_lens_code | action: "skeleton" (默认) | filePath?, code?, language?, maxDepth?, sessionId? | 直接从 filePath 读取并生成 AST 骨架(无需预先读取完整文件,节省上下文),或基于传入的 code 处理。若处于焦点内则返回完整代码 |
| context_lens_code | action: "focus" | paths: string[], sessionId? | 设置当前会话的焦点路径列表 |
| context_lens_code | action: "get_focus" | sessionId? | 获取当前会话的焦点状态 |
| context_lens_code | action: "clear_focus" | sessionId? | 清空当前会话的焦点路径 |
| context_lens_log | N/A | text (或 log), mode?, maxLines?, auto?, command? | 压缩测试或构建日志,保留错误、堆栈及总结信息 |

⚙️ 配置项

在 DSH 设置中心 (plugins.row.config / plugins.item) 中配置:

| 配置项 | 类型 | 默认值 | 描述 |
| compressionMode | string | 'balanced' | 日志压缩模式 (raw, balanced, aggressive) |
| astSkeletonMaxDepth | number | 3 | AST 骨架最大嵌套深度 |
| autoCompressThreshold | number | 4000 | 调用 context_lens_log (auto: true) 时自动压缩触发的字符阈值(设为 0 禁用) |

📄 授权协议

MIT © GooDAnDReaDY
预览分享卡片长什么样 ↓GooDAnDReaDY/dsh-context-lens
分享 · DeepSeek Harness Hub
GooDAnDReaDY/dsh-context-lens

DSH 插件,做 AST 上下文压缩、测试日志过滤和 token 预算守卫

这是你的仓库?认领条目

回到顶部