插件目录 / Knowledge / dsh-client-ui-elasticsearch
dsh-client-ui-elasticsearch
已验证 · 实测可装 SaitoAsuka1121
功能简介
dsh elasticsearch plugin
可用 — 实测通过,早期项目
dsh elasticsearch plugin 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-client-ui-elasticsearch
A DeepSeek Harness plugin that adds an Elasticsearch section to Settings and a
host-side es_query_logs model tool.
- Settings → Elasticsearch: configure
uris(one per line),username, andpassword. Values are stored in the shared DSH settings document and shared
across sessions. es_query_logstool: search logs bytrace_id(exact match) and/or by
natural-language search terms viaquery(matched againstmessage,exception, and other log text fields), with optionalfields,index, andsize. It reuses the connection configured above.- Auto-guidance: a system-prompt section teaches every session to use the
tool when atrace_idor a log-content question is asked — no dedicated
agent preset required.
Install
dsh plugin --profile web add @asuka1121/dsh-client-ui-elasticsearch@latest
Then restart the deployment. The package declares dsh.bundle.patch, sodsh plugin registers it as a profile bundle automatically.
Requires pnpm on
PATH. The plugin resolves its@deepseek-ai/*runtime
dependencies as peer dependencies from the DSH installation, so it shares the
installation's single Cordis instance.
Tool
es_query_logs parameters:
| name | type | required | default | notes |
|---|---|---|---|---|
query |
string | no* | — | natural-language search terms matched against log text fields (e.g. "connection refused", "NullPointerException") |
trace_id |
string | no* | — | exact trace id to search across trace fields |
fields |
string[] | no | common log text fields | explicit fields the query matches against; wildcards unsupported |
index |
string | no | * |
index pattern to target |
size |
integer | no | 100 |
max hits, capped at 500 |
* at least one of query or trace_id is required.
trace_idruns exacttermqueries ontrace_id,trace.id,traceId,
andtraceID.queryruns amulti_match(best_fields) over the resolved fields, avoiding
wildcard field expansion that fails on wide indices.- Both together narrow by trace and content; results are sorted by
@timestampdesc, trying each configured URI in order.
License
MIT
Development
The compiled lib/ ships with this repo, so consumers can install from the
directory directly. Building from source requires the
deepseek-harness monorepo:tsdown.config.ts imports the clientBundle preset frompackages/client/tsdown.client.ts. The published npm package
(@asuka1121/dsh-client-ui-elasticsearch) is the canonical build artifact.
Future Plans
Vision. The real payoff of a log-search plugin is correlation: not just
finding log lines, but tracing each one back to the project code that produced
it. The long-term goal is exactly that — log-to-code traceability.
Current boundary. Today the agent correlates logs only against the local
workspace. Code-side integration stays on hold until DSH officially exposes a
remote/network workspace (e.g. binding 0.0.0.0) — correlating logs against a
workspace the agent cannot reach would be meaningless.
Open problem — acquiring the code. The leading idea is to clone the owning
project on the server side, on demand, before each query, keyed by theapp_name found in the logs, so answers stay self-contained and always based
on the latest code. Storing full clones for every app is expensive, so lighter
approaches are under evaluation: shallow/partial clones, lazily fetching only
the files a trace references, and cache/eviction policies.
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-client-ui-elasticsearch」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:SaitoAsuka1121/dsh-client-ui-elasticsearch Headless(CLI)profile:
dsh plugin --profile headless add github:SaitoAsuka1121/dsh-client-ui-elasticsearch 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。