返回顶部
s

serenaSerena语义导航

Use Serena-backed semantic code navigation and editing when working in existing software projects with non-trivial structure, especially multi-file repos where symbol-aware lookup and targeted edits are more reliable and token-efficient than brute-force file reading. Use when the environment exposes Serena tools such as project activation, symbol lookup, reference search, semantic search, file reads, directory listing, file finding, or symbol-scoped edits.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.1
安全检测
已通过
74
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

serena

Serena

在具备必要工具时,优先使用Serena来理解和编辑现有代码库。

该技能的用途

当其他智能体需要将Serena集成到其常规编码工作流中,而非将代码仓库视为一堆文本文件时,请使用此技能。

目标行为如下:

  • - 一次性激活项目
  • 在读取大文件前先进行语义结构检查
  • 在编辑前先追踪引用
  • 尽可能优先使用符号范围编辑
  • 仅在Serena缺少某项能力或操作失败时,才回退到常规文件工具

更多示例和触发模式,请阅读references/integration-patterns.md。

核心工作流程

  1. 1. 解析目标项目路径。
  2. 调用serenaactivateproject。
  3. 从结构发现开始:
- serenaprojectoverview - serenafindsymbol - serenalistdir - serenafindfile - 需要检查活跃的Serena会话时使用serenasessionstatus
  1. 4. 使用以下工具缩小范围:
- serenafindreferences - serenasearchpattern - serenareadsymbol - serenareadfile
  1. 5. 修改现有代码时优先使用语义编辑:
- serenareplacesymbol_body - serenainsertbefore_symbol - serenainsertafter_symbol - serenarenamesymbol
  1. 6. 仅在符号范围工具不适用时使用更广泛的编辑工具:
- serenareplacecontent - serenacreatetext_file
  1. 7. 仅在项目上下文中执行shell命令确实是正确工具时,才使用serenaexecuteshellcommand作为高级逃生通道。
  2. 仅在标准化接口无法覆盖所需的Serena能力时,才使用serenacall_tool。
  3. 仅在Serena无法安全或可靠地回答时,才回退到普通文件工具。

何时值得使用Serena的开销

在以下情况下优先使用Serena:

  • - 项目跨多个文件
  • 用户询问关于引用、调用链或符号关系的问题
  • 用户希望对现有类、函数、方法或模块进行精确编辑
  • 读取整个文件会显得杂乱或浪费
  • 代码仓库已有真实结构且语义查找可用

在以下情况下跳过或延迟使用Serena:

  • - 任务是对单个小文件进行修改,且目标位置已明确
  • 正在创建与现有代码依赖关系很少的全新文件
  • Serena不可用或失败,直接使用文件工具更简单
  • 用户已提供精确的文件区域,语义查找没有额外价值

工具优先级顺序

对于现有代码库,优先按此顺序:

  1. 1. serenaactivateproject
  2. serenaprojectoverview / serenafindsymbol / serenafindfile
  3. serenafindreferences / serenasearchpattern
  4. serenareadsymbol / serenareadfile
  5. 符号范围编辑工具
  6. 更广泛的Serena编辑工具
  7. serenasessionstatus用于会话检查/调试
  8. 仅在语义工具不是正确机制时使用serenaexecuteshell_command
  9. 仅在需要时回退到read、edit和exec

智能体作者集成指南

当您希望其他智能体良好使用Serena时,请指示它:

  • - 在语义读取或编辑前激活项目
  • 在修改代码前检查符号和引用
  • 首先使用标准化的Serena工具
  • 保持编辑范围狭窄且有结构
  • 在可能进行符号范围编辑时避免全文件重写
  • 将透传视为逃生通道,而非默认工作流

一个好的指令模式是:

在代码仓库上使用Serena。从serenaactivateproject开始,然后在编辑前使用serenafindsymbol、serenafindreferences和serenareadsymbol缩小范围。

实用使用模式

理解代码仓库区域

使用此序列:

  1. 1. serenaactivateproject
  2. serenafindfile或serenalistdir
  3. serenaprojectoverview
  4. serenafindsymbol
  5. serenareadsymbol

在修改代码前追踪影响

使用此序列:

  1. 1. serenafindsymbol
  2. serenafindreferences
  3. 如果命名或文本级使用重要,使用serenasearchpattern
  4. 对最相关的调用者/被调用者使用serenareadsymbol

进行目标编辑

使用此序列:

  1. 1. 定位精确符号
  2. 读取符号主体
  3. 如果行为变化可能向外扩散,检查引用
  4. 选择最窄的有效编辑工具
  5. 当信心不足时,重新读取已更改的符号或附近的引用

编辑规则

  • - 保持编辑尽可能狭窄。
  • 优先使用符号目标编辑而非整个文件的文本替换。
  • 优先使用语义重命名而非手动多文件重命名逻辑。
  • 在实质性编辑后信心不足时,重新读取相关符号或引用。
  • 如果语义标识不明确,不要猜测;使用路径或额外查找进行消歧。
  • 在只读模式下,不要尝试使用会修改数据的Serena工具。

安全与回退行为

如果Serena失败:

  1. 1. 简要说明失败原因。
  2. 回退到标准基于文件的工作流。
  3. 保持尽可能小的读取/编辑范围。
  4. 如果语义结果未被确认,不要假装已确认。

如果原始Serena透传工具可用:

  • - 仅在标准化工具接口无法覆盖所需能力时使用
  • 对于重复工作流,优先使用稳定的标准化工具
  • 避免对已有明确标准化工具的常规操作使用透传

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 serena-1775906281 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 serena-1775906281 技能

通过命令行安装

skillhub install serena-1775906281

下载

⬇ 下载 serena v0.1.1(免费)

文件大小: 4.22 KB | 发布时间: 2026-4-12 11:20

v0.1.1 最新 2026-4-12 11:20
Bundle with Serena Openclaw Plugin and update skill layout

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部