只读查看 lot2 后端指标快照与阈值结论
29.3/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/LosEcher/dsh-lot2-metrics.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 22 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 3 处,展示前 3 条)
- 读取本地文件index.mjs:57
return { value: JSON.parse(readFileSync(path, 'utf8')), error: null } - 读取本地文件index.mjs:65
const pkg = JSON.parse(readFileSync(new URL('./package.json', import.meta.url), 'utf8')) - 发起网络请求lib/client.js:204
const res = await fetch(`/plugins/${NS}/snapshot`, { signal: AbortSignal.timeout(8e3), cache: "no-store" });
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH lot2 指标插件:只读呈现 lot2 后端指标快照(运行期 gauge/阈值/DB 查询画像)+ 两个只读 agent 工具
README
由 DeepSeek 最新模型翻译生成dsh-lot2-metrics
把 lot2 后端数据库指标的采集快照变成 DSH 里「智能体可查 + 可观测」的东西。
两半都有:host 半注册 2 个只读智能体工具 + 只读端点(/status、/snapshot);client 半是一个「lot2 指标」会话 tab(conversation.view)。
- 契约:dsfolder/CROSS-PROJECT-INTEGRATION-MECHANISM-2026-10-07.md §9(「项目快照信封 v1」)
- 归属:取数与契约属 lot2(lot2extension/scripts/metrics-report.mjs);触发与落盘属 DSH 采集(dsfolder/scripts/lot2-metrics-collect.sh + launchd com.echerlos.lot2-metrics); 呈现与查询属本插件(只读快照文件,绝不抓取、不写盘)
装了什么
| 面 | 内容 |
展开完整文档(README 剩余 1 节)
dsh-lot2-metrics
把 lot2 后端数据库指标的采集快照变成 DSH 里「智能体可查 + 可观测」的东西。
两半都有:host 半注册 2 个只读智能体工具 + 只读端点(/status、/snapshot);client 半是一个「lot2 指标」会话 tab(conversation.view)。
- 契约:dsfolder/CROSS-PROJECT-INTEGRATION-MECHANISM-2026-10-07.md §9(「项目快照信封 v1」)
- 归属:取数与契约属 lot2(lot2extension/scripts/metrics-report.mjs);触发与落盘属 DSH 采集(dsfolder/scripts/lot2-metrics-collect.sh + launchd com.echerlos.lot2-metrics); 呈现与查询属本插件(只读快照文件,绝不抓取、不写盘)
装了什么
| 面 | 内容 |
| 工具 | lot2_metrics_overview(概览:新鲜度/Top-N 调用量/放大倍数 + 采集器状态 + 阈值结论 + 运行期 gauge);lot2_metrics_query(按 operation/关键字过滤 + 按 count/p95/deltaCount/amplification 排序 + Top-N) |
| 端点 | GET /plugins/dsh-lot2-metrics/status(约定形状);GET /plugins/dsh-lot2-metrics/snapshot(面板数据源,cache-control: no-store) |
| 视图 | 会话 tab「lot2 指标」(conversation.view,order 92):阈值 → 运行期 → 调用量 Top → 放大倍数 Top;60s 轮询 + 手动刷新 |
| 配置 | snapshotPath / statePath / staleSeconds(默认 1500)/ topN(默认 5) |
运行期与阈值(2026-10-11 新增)
快照侧多了一个 runtime{} 段(兼容变更,v 仍为 1):声明式 gauge 清单 + http(5xx 等) + cache + counterDelta。
本插件对它的三条显示纪律:
1. value=null + reason 要显示成 — 并给出原因,不能省略——省略会让「分母为 0 所以算不出命中率」看起来像「根本没有这一项」。面板与工具都这么做。
2. unknown(采集器声明了但 /metrics 没上报的名字)单独列出并标注「缺失≠0」。
snapshot_queue_depth / unified_queue_depth 目前就长期在这种状态(按需注册)。
3. 阈值不在本插件里判定:采集器(dsfolder/scripts/lot2-metrics-collect.sh)判一次并落盘到 collector-state.json 的 thresholds[],本插件只读结论。理由是不能有第二个评分源 (同一份事实两处实现 = 迟早不一致)。面板上三种状态都可区分:越界 / 正常 / 无数据。
四条语义(都有测试;不是「顺手加的」)
1. 未知 v ⇒ 报契约不兼容,绝不渲染数字(不猜字段)。
2. ok=false ⇒ 不给任何数字 —— 绝不把上一次的数值当成本次。
3. 缺字段 / 坏 JSON / 文件不存在 ⇒ 不抛异常,只降级为该块留空 + reason。
插件任何路径都不把异常抛给 cordis(本仓有「插件拖垮整树」的先例)。
4. 回答必带 capturedAt 与快照路径 ⇒ 可追溯。p95 一律标注为直方图插值近似值。
derived.note 只当人读提示透出,不参与任何判断(lot2 契约 §10:固定字段名、两条固定句子、不承载数据)。
安装
A) 本地开发(改了就生效,推荐给正在改这个插件的人):link 到工作副本
cd ~/.dsh/profiles/web
dsh plugin --profile web add link:<这个仓的本机路径>
B) 直接用发布版
dsh plugin --profile web add github:LosEcher/dsh-lot2-metrics#main
首次挂载可热生效(config-only);改 host 半代码后必须重启对应宿主(Node ESM 按 URL 缓存)。
只改 client 半(src/client/ + npm run build)则刷新页面即可——产物由宿主直接 serve。
desktop profile 要同样的工具,就把上面命令的 web 换成 desktop(会重启桌面宿主,正在跑的会话会被打断 ⇒ 挑窗口做)。
看不到「lot2 指标」tab 时
这个 tab 属于 DSH shell 的会话视图,桌面 App(GUI)与浏览器(web)渲染的是同一个 shell;两边都可能因为没有通过 DSH 的浏览器认证而什么都看不到。
- 本机:dsh web 的浏览器认证要一个每进程随机的 launch token URL(不是普通的 http://127.0.0.1:3080/)。daemon 以 --no-open 启动,所以这个 URL 只写在 ~/.dsh/logs/dsh-web.log 的一行里,看起来就像「web 打不开了」。取它: dsh-web-url # = ~/.dsh/scripts/dsh-web-url.sh,会顺便校验这条还灵不灵 dsh-web-url --open # 直接打开
cookie 是持久的(签名密钥在 ~/.dsh/.credentials.yaml,30 天有效)⇒ 每个浏览器只需要这个 URL 一次;之后即使重启宿主也还在。
- 远程(手机/别的机器):走 tailscale serve 的域名,会先过 dsh-access-gate 的访问码,再完成同一个 token 交换: dsh-web-url --remote # 打印 https://<你的 tailnet 域名>/?token=…
- SSH 隧道/端口转发类客户端(例如 Otty):如果它把请求送成 Host: 127.0.0.1:3088 且不带 X-Forwarded-For,dsh-access-gate 会按「直接本机」放行(这是它的设计)⇒ 不会弹访问码,直接撞上 DSH 的 token 认证。此时同样用 dsh-web-url(带上 token)即可进去,而不是反复刷新。
- 进去之后 tab 本身还有独立的状态语义(见上):契约不兼容 / 采集失败 / 过期 / 新鲜,四种都会显示。
验收
node --test test/.test.mjs # 11 项:含 v 不兼容 / ok=false / 坏 JSON / 缺文件 四条负向
node test/preflight.mjs # 用真 @deepseek-ai/dsh-tools 编译工具定义 + 负向功能检查
curl -s localhost:3080/plugins/dsh-lot2-metrics/status | python3 -m json.tool
边界(不做什么)
- 不抓取 /metrics(那是采集脚本的事)、不写任何文件、不改 lot2 的库。
- 不往 dsh-dashboards 里塞 widget:它的 widget endpoint 白名单是硬编码的封闭集合;本插件走「自己的状态端点 + 智能体工具」,将来若要上原生看板网格,正确做法是把那个白名单变成可扩展,而不是给每个项目加一个后端。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
LosEcher/dsh-lot2-metrics
只读查看 lot2 后端指标快照与阈值结论
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,173已汉化DeepSeek 客户端
74.4
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,308已汉化DSH
71.3
智能体运行框架路由HarnessRouter/harnessrouter
智能体运行框架的统一接口。
★ 3,897已汉化DSH
71.2
这是你的仓库?认领条目