Files
deepseek-harness/packages/lsp/README.zh.md
T
Tianyi Cui aa0ca6c836 docs: anchor each subsystem page to its package group; make group READMEs thin tables
core.md read as a type grab-bag: LLM wire vocabulary up front, the agent/loop story buried, and no correspondence to packages/core. It now opens on the packages/core control spine — the package-by-package loop map with a Page column into session/system-prompt/tools/scope — and keeps only what the spine group declares plus the repo-wide patterns: the Agent handle with its delivery/cancellation/interception contracts, the SessionEvent envelope, branded ids, the …Map pattern. The conversation vocabulary (Message/ContentBlock, the model request, adapters — 17 type-equiv blocks) moves to llm-streaming.md, which now declares packages/llm end-to-end; the duplicate ContentBlockMap paste near its seam section folds into the moved section, and the manifest, LINK_MAP, README table rows, website label (Core data structures → Core), and inbound anchors follow.

Every packages/<group>/README pair is now a thin front door in one shape: a why-first intro (bash's seam-pattern-first paragraph rewritten as 'shell execution for the agent'), the package table, and a closing pointer to the owning docs/subsystems page — the bash-style table stays the load-bearing middle. Load-bearing trailing paragraphs relocate rather than vanish: the fs no-timeout rationale becomes a filesystem.md section (both languages), session's four sectioned tables merge into one 12-row table, examples' legacy-bin H2 collapses to a pointer at jsonrpc-demo's README, and design rationale that already lives in an Agent Note or subsystem page is now linked instead of restated. All 40 pair records re-recorded.
2026-08-09 01:32:39 +08:00

1.7 KiB
Raw Blame History

lsp/ - LSP 能力家族

English | 中文

语言服务器能力 seam:抽象 LSP 接口、通用 stdio 提供方,以及面向模型的 lsp 工具。这些全是产品 包。

职责 ctx key
lsp/ 抽象 LSP seam(按品牌化 id + 扩展名映射组织的提供方注册表、逐查询选择、词汇、LspError ctx.lsp
lsp-local/ 基于 ctx.fsctx.subprocess 的通用多服务器 stdio 后端(JSON-RPC、临时打开查询) (在 ctx.lsp 上注册提供方)
tool-lsp/ 面向模型的 lsp 工具(四种操作、从 1 开始的 UTF-16 光标坐标) (注册到 ctx.tools

接口位于 lsp/lsp/。该 seam 恰好公开四种语义操作:goToDefinitionfindReferencesgoToImplementationhover,且不提供通用 JSON-RPC 逃生口;因此,替换提供方不会改变模型请求导航的方式,也不会让协议载荷或未经评审的修改进入模型契约。提供方注册的是能力 而非工具;tool-lsp 是面向模型名称、schema、提示词指引和呈现的唯一 owner。

设计原理见 LSP 能力 seam Agent Note,其中也解释了文档为何在每次查询时临时打开、stdio 主机为何使用共享的文件系统/子进程执行环境,以及扩展名归属为何在同一运行时内互斥。

子系统参考——操作、坐标、请求/结果、LspError——见 docs/subsystems/lsp.md;设计依据见 LSP 能力 seam Agent Note