# @morlay/dsh-reference

**引用展开**：用户消息里手打的 `@path` / `skill:name` 引用在 `agent/pre-step` 展开成注入内容——文件走
`<file_content>` 内容块（窗口与 `read` 一致），skill 走正文（要 `skill` 工具可见）；读不出的引用静默保持普通
文本，缺 `ctx.fs` 的部署只做 skill。

它不依赖注入通道（[`@morlay/dsh-context-assembler`](../dsh-context-assembler/README.md) 的
`ctx.contextAssembler`）：自己挂 `agent/pre-step`、`inject` 只有 `skills`，所以装在哪一层
装配面上都成立。装配落在 [`@morlay/better-session`](../../bundles/better-session/cordis.patch.yml)（一行
`@morlay/dsh-reference`）。

## 用法

装配一行即可，没有 config：

```yaml
- id: reference
  name: "@morlay/dsh-reference"
```

引用解析（`@a.ts`、`@a.ts#L12-L40`、`@[label](a.ts)`、`skill:name` 等形态与行窗口）复用
`@morlay/dsh-client-ui-primitives` 的 `reference.ts`——**源码上唯一一份**，构建时内联进本包产物，
所以发布清单里没有它。
