Yubickari/dsh-semantic-drift ↗★ 0

dsh-semantic-drift

提供项目业务概念词汇表及漂移扫描。 适合需要统一项目命名规范并在提示词中注入词汇表的团队。

套件
dsh-semantic-drift
相容性
待驗證
版本
0.1.5
授權
MIT
最近更新
2026年10月26日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Yubickari/dsh-semantic-drift

Configuration

The panel configures how it looks and behaves; the project configures what is scanned and which file is the vocabulary.

FieldDefaultMeaning
vocabularyPath.dsh/semantics.yamlvocabulary file, relative to the workspace root
announceToAgenttrueinject the vocabulary section into agent prompts
citationStylefile+symbolpath/File.cs::Symbol or path/File.cs:123
minConfidencemediumlowest confidence the tools report; the panel receives every level
timeoutMs30000wall-clock budget for one scan
maxFindings5000hard cap per scan
maxFileBytes1048576larger files are skipped and counted
maxFiles50000hard cap on files visited
detectorsall fourwhich detectors a scan runs

Every field in this table is plugin-row configuration, and all of it except announceToAgent is edited in DSH: Plugins → Installed Plugins → dsh-semantic-drift (the bundle) → Configuration. The plugin registers that page into the plugins.bundle.config seat and brings the field table (from the schemastery schema), the labels and the controls; the form itself — the values and the writes — is DSH's own live config form, served by its configForms service under this plugin's profile entry id, semantic-drift. The plugin keeps no save channel of its own: the page posts nothing, GET /semantic-drift/config answers the field table alone, and the values never travel over HTTP.

Every field here is volatile: the only kind DSH shows as editable, and the kind the Loader commits in place instead of unmounting the plugin row. A change is therefore in force from the next read — no save button, no reload, nothing to toggle off and on.

announceToAgent is the exception: it belongs to the panel's agent-prompt group, so the Configuration block leaves it out. The panel writes it through the Host's config editor — POST /semantic-drift/settings carries that one field and refuses a patch — and because the field is volatile the prompt section stays registered and returns an empty text while the switch is off: one click is the whole gesture, and the next prompt assembly already reflects it.

Everything else in the panel's settings dialog is a browser preference kept in localStorage — not in the vocabulary file, not in the plugin row.