## 变更摘要 - 新增中英文 `code-intelligence` 内置技能,按需暴露隐藏的 `Lsp` 工具 - 记录 9 种语义导航操作、目录权限边界、缺少语言服务器时的降级策略 - 要求客户端版本 `10.0.94`,避免旧客户端安装后缺失工具 - 更新内置技能清单、市场统计和版本 ## 验证 - `uv run --with httpx --with ruamel-yaml scripts/i18n/validate-i18n.py` - `uv run --with httpx --with ruamel-yaml scripts/i18n/translate.py --check` ## Summary Adds the bilingual `code-intelligence` built-in skill, exposes the hidden `Lsp` tool only when the skill is active, documents its permission and fallback behavior, and updates the market manifest and counts.
5.8 KiB
name, description, version, type, risk_level, status, disable-model-invocation, tags, provides, metadata, market
| name | description | version | type | risk_level | status | disable-model-invocation | tags | provides | metadata | market | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| code-intelligence | Use this skill when the user needs semantic code navigation backed by a Language Server: jump to definitions or implementations, find references, inspect hover/type information, list document or workspace symbols, or trace incoming and outgoing calls. Activate it for requests such as "where is this symbol defined", "find usages", "who calls this function", "show the file outline", or "search symbols in the workspace". A compatible Language Server must already be installed; this skill never installs one automatically. Use when 用户提到 跳转定义、查找引用、查找实现、类型信息、悬停信息、符号大纲、 工作区符号、调用关系、谁调用了这个函数、这个函数调用了谁、语义代码导航。 | 1.0.0 | procedural | low | enabled | true |
|
|
|
|
code-intelligence Skill
L0: One-line Summary
Use DesireCore's hidden Lsp tool for semantic code navigation through an already-installed Language Server.
L1: When to Use
Activate this skill when the task depends on symbol meaning rather than text matching:
- Jump to a symbol's definition or implementation.
- Find all semantic references to a symbol.
- Inspect type information or documentation at a source position.
- List the symbols in one file or search symbols across the workspace.
- Find callers and callees through the LSP call hierarchy.
Use Grep or Glob instead when the task is purely textual or no compatible Language Server is installed.
L2: Operating Procedure
1. Check the workspace boundary
Lsp starts an external indexing process that can read the authorized workspace. The target file therefore needs directory-level read access. If the tool reports that an exact-file grant is insufficient, ask the user to authorize the project directory through ManageWorkDirs; never widen the scope silently.
2. Choose one operation
| Operation | Purpose | Required input |
|---|---|---|
goToDefinition |
Find where a symbol is defined | file, line, character |
findReferences |
Find semantic references, including the declaration | file, line, character |
hover |
Read type information or documentation | file, line, character |
documentSymbol |
Outline symbols in one file | file |
workspaceSymbol |
Search named symbols in the current workspace | file, non-empty query |
goToImplementation |
Find concrete implementations | file, line, character |
prepareCallHierarchy |
Resolve a callable item at a position | file, line, character |
incomingCalls |
Find functions or methods that call the target | file, line, character |
outgoingCalls |
Find functions or methods called by the target | file, line, character |
line and character are 1-based, matching editor coordinates. Character offsets use UTF-16 semantics.
3. Treat results as bounded navigation evidence
- Results are filtered by the active read scope and workspace
.gitignorerules. - Use
maxResultsto keep broad reference or symbol searches focused; the maximum is 200. - A first request may take longer while the server indexes the workspace.
- Re-run the request after source files change; DesireCore synchronizes the latest saved UTF-8 content.
4. Handle missing servers without modifying the system
DesireCore only discovers installed binaries and returns an installation hint when one is missing. Do not run that installation command unless the user explicitly asks you to install the dependency.
Supported built-in mappings:
- TypeScript/JavaScript:
typescript-language-server - Python:
pyright-langserver - Go:
gopls - Rust:
rust-analyzer
5. Fallbacks
- Unsupported file type or missing server: use
Grep,Glob, andReadfor text-level investigation. - Server does not advertise an operation: report that capability mismatch instead of guessing.
- Empty semantic result: explain that the symbol may be unresolved, excluded, or filtered by access rules; do not claim the symbol has no usages without qualification.