dsh-file-reference-local/packages/context/file-reference-local官方

175.3kStar19.0kFork0Issue752Watching

实现本地文件系统的 ctx.fileReferences,为 agent 提供 bounded fuzzy 索引的文件引用补全,支持路径排名和索引失效机制

语言
TypeScript
License
MIT
分支
master
ai-agentscordisdshdsh-plugin

安装

$ dsh plugin --profile web add npm:@deepseek-ai/dsh-file-reference-local

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

English | 中文

Local-filesystem implementation of ctx.fileReferences. It maintains one bounded WorkspaceFileSearch per agent, rooted at that session's cwd and falling back to the host process cwd. The index ranks direct directory listings for queries containing /, otherwise fuzzy-ranks a bounded recursive index; it never follows directory symlinks.

Tool-result events invalidate the addressed agent's reusable index so later completion observes likely workspace mutations. Agent disposal releases that index and its scoped prompt contribution; plugin disposal awaits every prompt fiber and releases all cached searches.

Configuration

KeyDefaultContract
maxResults20Maximum ranked candidates returned for one query.
maxEntries10000Maximum files and directories indexed per agent workspace.
excludedDirectories[".git", "node_modules"]Directory basenames omitted from traversal and candidates.

Every numeric value must be a positive safe integer. Excluded names must be non-empty basenames without / or \.

Model Experience

File-reference guidance when read is available

What the model sees

When the addressed agent has an effective read tool, the provider contributes this stable system-prompt section:

File-reference instruction
Paths prefixed with @ are files explicitly referenced by the user. Use the read tool when their contents are needed; do not claim to have inspected a file before reading it.

Token effect

Conditional and fixed: the one sentence is present while read is visible to the addressed agent; candidate lookup itself adds no tokens, and a selected path contributes only its ordinary user-message characters.

KV Cache effect

The stable sentence joins the system-prompt prefix. Mounting or removing this provider, or changing whether read is visible, changes that prefix; queries, candidates, and index invalidations do not.

Known Limitations and Deferred Work

  • Host-local namespace — the provider scans the Harness host filesystem, so remote or virtual read implementations require a provider whose namespace matches the tool.
  • Bounded advisory index — very large workspaces may omit paths after maxEntries, and excluded or unreadable directories do not appear.
  • No ignore-file semantics.gitignore and other project ignore files do not influence discovery; only configured directory basenames are excluded.
dsh-file-reference-local/packages/context/file-reference-local — DeepSeek Harness 插件 | deepseek-plugin.org