[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-94769":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":15,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":14,"starSnapshotCount":14,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},94769,"dsh-at-file","omdsh-dev\u002Fdsh-at-file","omdsh-dev","Codex-style @file mentions for DeepSeek Harness: search workspace files in the composer and attach their contents to prompts.",null,"JavaScript",403,13,102,0,142,285,73.44,"MIT License",false,"main",[22,23],"dsh","dsh-plugin","2026-08-24 04:01:22","# dsh-at-file\n\nWorkspace path references for the DeepSeek Harness web interface. Type `@` in the composer to search the current workspace and insert a file or directory path.\n\n![@ path picker](assets\u002Fscreenshots\u002Fworkspace-path-picker.png)\n\n![File reference in the composer](assets\u002Fscreenshots\u002Ffile-mention-composer.png)\n\n## Usage\n\nChoose a result from the `@` menu. The selected path remains visible in the draft and can be opened or removed from the reference bar.\n\n```text\nReview @docs\u002Fspec.pdf\n```\n\nBefore the agent starts a step, the plugin confirms that the path exists inside the active workspace. It then adds a short reference message:\n\n```xml\n\u003Cworkspace-reference path=\"docs\u002Fspec.pdf\" kind=\"file\" \u002F>\n```\n\nThe reference contains the workspace-relative path and its kind. The plugin does not open the referenced file or list the contents of a referenced directory. The agent can inspect the path with the tools available in the current session when the task requires it.\n\nFile format and file size do not change this behavior. A PDF follows the same path-reference flow as any other workspace file.\n\nThis mechanism applies to version `0.3.0` and later. Earlier releases read file content during submission and enforced file-size limits.\n\n## Path Picker\n\nPlain queries match filenames. Exact names, prefixes, and compact matches rank ahead of looser results, without matching letters scattered across a long directory path.\n\nA query containing `\u002F` matches path segments in order. For example, `src\u002Fview` can find `src\u002Fclient\u002Fview.ts`. A trailing slash such as `src\u002F` searches within that path.\n\nWhen a directory is highlighted, press `ArrowRight` to enter it. The draft advances to `@path\u002F` without a trailing space, and the candidate menu stays open for the next selection. `Enter` and pointer selection keep the existing behavior and finish the directory reference.\n\nEach result shows the filename first and its parent directory underneath. Duplicate filenames include the parent directory in the main label. Built-in SVG icons distinguish folders, source files, text, PDFs, images, data and configuration files, archives, and other files.\n\nThe default index skips common version-control directories, IDE metadata, dependency trees, caches, and build output. The list covers VS Code, Visual Studio, JetBrains IDEs, Fleet, Eclipse, Android and Gradle, Xcode, CMake, Flutter, .NET, Unity, Unreal, and common JavaScript and Python output directories. OS metadata files named `desktop.ini`, `Thumbs.db`, and `.DS_Store` are excluded by default.\n\n## Install or Update\n\n```sh\ndsh plugin --profile web add https:\u002F\u002Fgithub.com\u002Fomdsh-dev\u002Fdsh-at-file\u002Farchive\u002Frefs\u002Ftags\u002Fv0.6.0.tar.gz\n```\n\nUse the same command to update an existing installation. Restart `dsh web` after installation so the Host and browser client load version `0.6.0`.\n\n## File Filters\n\nOpen **Settings -> File mentions** to manage file-name filters.\n\n![File mention settings with Exact and Regex rules](assets\u002Fscreenshots\u002Ffile-mention-settings.png)\n\n- **Global** contains rules shared by every workspace.\n- **Workspace** contains additional rules for the selected workspace path. Each workspace keeps its own list, and the panel shows the global rules it inherits.\n\nEach rule has its own matching mode and case setting:\n\n- **Exact** matches one complete basename. Path separators are not accepted.\n- **Regex** runs a JavaScript regular expression against the complete basename. It does not receive the parent directory or workspace path.\n- **Case-sensitive** can be enabled independently for any Exact or Regex rule. It is off by default.\n\nRules are added and removed individually. An invalid regular expression is shown before saving and is also rejected by the Host. **Restore defaults** resets the global list to the built-in file names. **Clear workspace rules** removes only the selected workspace's additions.\n\nSettings are saved in the DSH web profile through the plugin's own Host connection. Existing string values in `ignoreFiles` and workspace lists continue to work as case-insensitive Exact rules. A change clears the affected index cache, so the next `@` search uses the saved rules.\n\n## Configuration\n\nThe available options apply to the path picker index:\n\n- `maxIndexedFiles` sets the maximum number of indexed workspace entries.\n- `ignoreDirs` replaces the built-in list of directory names excluded from the picker. Set it to `[]` to index every directory.\n\nAdd the complete configuration to the selected profile's `cordis.patch.yml`. The usual path is `~\u002F.dsh\u002Fprofiles\u002Fweb\u002Fcordis.patch.yml`.\n\n```yaml\n- id: dsh-at-file\n  config:\n    maxIndexedFiles: 10000\n```\n\nOmitting `ignoreDirs` keeps the built-in list. When you provide it, include every directory name you want excluded.\n\n## Path Handling\n\n- The picker indexes regular files and directories in the active workspace. Configured directory names and symbolic links are skipped.\n- Global and workspace file-name filters are combined during the Host index walk, before entries count toward `maxIndexedFiles` or reach the browser.\n- The Host accepts workspace-relative paths. Absolute paths and paths that escape the workspace are ignored.\n- Reference markers are created only from user-authored text.\n- Clicking a referenced path uses the Harness `host.openPath` endpoint.\n- The picker index is cached per session for 30 seconds.\n- An `@path` token cannot contain whitespace or another `@` character.\n- `maxIndexedFiles` limits picker results. A manually entered path can still be referenced when it exists inside the workspace.\n\nThe active agent may lack a tool for a particular file format. DSH provides `read` for UTF-8 text and `read_image` for supported images. PDF support depends on the tools available in the session.\n\n## Development\n\n```sh\npnpm install\npnpm run check\npnpm run test\npnpm run build\n```\n\nThe development setup expects the official `deepseek-ai\u002Fdeepseek-harness` repository at `..\u002Fdeepseek-harness`, its default clone directory. Built files under `lib\u002F` are committed so profile installation does not require package build scripts.\n\n## License\n\nMIT\n","dsh-at-file 是一个为 DeepSeek Harness（DSH）Web 界面设计的插件，支持在对话编辑器中通过 @ 符号快速搜索并引用工作区内的文件或目录路径。其核心功能包括：基于路径前缀\u002F分段的智能文件搜索、带图标的可视化路径选择、工作区相对路径的声明式引用（不自动读取内容）、默认排除常见 IDE\u002F构建\u002F系统元数据目录，并支持自定义文件过滤规则。该插件适用于需要在 AI 代理任务中显式声明上下文文件位置但避免提前加载大文件内容的场景，尤其适合技术文档审查、多文件代码分析、PDF 规范校验等需精准路径锚定的工作流。",2,"2026-08-15 02:30:13","CREATED_QUERY"]