Preface¶
The DeepSeek Harness (DSH) Desktop plugin Lume (Faint Light) aims to provide structured constraints and memory support for agent development. It does not replace the model’s reasoning process; instead, it uses protocols to ensure that the “facts at hand” are in place.
In long conversations or complex tasks, models may produce requirement drift, cite code lines that have not been opened, or incorrectly modify state during non-execution turns. Lume addresses these issues through a discipline layer and a method layer, while also providing a persona layer to control conversational style. The plugin is open-sourced under the MIT License and maintained by developer cayan0x.
Core Capabilities¶
Lume divides capabilities into four layers, each responsible for a specific role:
Discipline Layer: Boundaries and Checks¶
The discipline layer is responsible for determining request types and defining operational boundaries. It injects checkpoints into conversations to ensure that the model does not act beyond its authority under different modes such as answering, looking up, discussing, diagnosing, or executing.
- Request type detection: Based on request content and recent trajectory, it distinguishes Q&A, lookup, discussion, diagnosis, and execution turns. Q&A turns do not modify files, diagnosis turns do not exceed authority to fix issues, and only execution turns change state.
- Fact checking: Checks whether cited code lines have been opened in the current session, whether negative assertions have been made about unobserved symbols, and whether requirements align with deliverables.
- Context management: Issues warnings when context utilization reaches 75% or 90%, and exports structured conversation memory (goals, finalized decisions, unresolved items, key locations).
- Metric self-check: Detects repeated corrections to routing decisions.
Method Layer: Verifiable Outputs¶
The method layer converts tasks into verifiable artifacts, ensuring every step has evidence.
- Task contract (
lume_contract): Defines goals, scope, estimated count (estimate first, backfill later), completion criteria, non-goals, and open items. - Change ledger (
lume_change): Records the location, reason, verification method, and status of each change (automatically logged). - Hypothesis ledger (
lume_hypothesis): Records the verification process of hypotheses. Conclusions (confirmed/excluded) must include evidence, adjudication method, and counterexample checks. - Design decisions (
lume_design): Records decision points, chosen options, reasons for rejection, and impact scope. - Project knowledge (
lume_project_note): Accumulates stable facts across sessions per working directory, and supports deletion by ID (lume_project_forget).
Persona Layer: Style and Memory¶
The persona layer distills named characters from chat logs, novels, scripts, or setting documents.
- Character distillation: Extracts features such as tone, verbal tics, and reply length.
- Long-term memory: Stores memory keyed by persona, evolving with the conversation.
- Style correction: Corrects automatically generated reply style, but does not intervene in code execution or tool-calling results.
Dashboard and Triggers¶
- Behavior triggers: Correct behavior based on trajectory rather than wording. Includes
converge(casting a wide net without converging),verify-as-you-go(writing continuously without verification),contract-missing(missing contract), etc. - Runtime metrics: Query routing decisions, trigger hits, block assembly, and external result signals via
lume_metrics.
Installation and Enabled Status¶
Lume is installed through the npm package manager.
# 安装插件
dsh plugin add lume-dsh-plugin
After installation, DSH must be fully restarted (including tray processes). The plugin is loaded when the host starts and does not support hot reloading.
Typical Usage¶
1. Define Task Contract
Before starting execution, use lume_contract to anchor goals, scope, and criteria.
lume_contract({
goal: '跑步记录新增配速列:列表展示 + 历史记录补算 + 导出可用',
scope: 'run_record 表与迁移脚本、列表页组件、CSV 导出',
expectCount: 6, // 先估:6 个改动点,探索后回填实际值
criteria: ["新记录能自动算出配速", "历史记录已补算", "导出的 CSV 里含配速列"],
nonGoals: ["不改 CSV 既有的列顺序", "不动手机端的同步逻辑"],
open: [] // 默认 0 个待确认
})
2. View Runtime Metrics
Query trigger effectiveness or system health status at any time during the conversation.
lume_metrics
3. Manage Project Knowledge
Use this when a specific project knowledge entry needs to be deleted.
lume_project_forget
Notes¶
- Overhead control: Casual chat turns do not incur the cost of the full workflow protocol; protocols and ledgers are injected as needed.
- Permission scope: The persona only affects natural language expression and does not intervene in code, commands, or tool-calling results. Q&A turns do not modify files, and diagnosis turns do not exceed authority to fix issues.
- Network requests: It does not actively initiate network requests; it only allows calling configured model profiles for memory extraction, reflection, and persona distillation.
- Conclusion ownership: The plugin does not draw conclusions for the user; mechanical criteria only guarantee “whether there is evidence,” while the correctness judgment remains with the model.
Ecosystem Position¶
Lume is a plugin in the DSH ecosystem, used to enhance the task execution capabilities of DSH Desktop. For more information, visit the SkillHub plugin directory or the GitHub repository.