安全扫描
OpenClaw
安全
high confidence该技能仅为 Kotlin 参考指南,仅声明 kotlin 二进制依赖并包含文档文件。请求和指令与声明目的一致,无未解释的访问或安装。
评估建议
该技能为文档仅的 Kotlin 参考,内部一致性高,风险低。声明 'kotlin' 二进制作为依赖,如果允许代理运行工具,可能会调用本地二进制编译或运行示例。建议在允许运行用户提供代码的环境中启用该技能。如需额外谨慎,可审查包含的 .md 文件,并在授予更广泛权限之前在沙盒环境或受限工具访问下运行代理。...详细分析 ▾
✓ 用途与能力
名称/描述(Kotlin 学习/参考)与清单和文件匹配。唯一声明的运行时要求是 'kotlin' 二进制,对于可能编译或运行示例的 Kotlin 专用技能这是合理的。
✓ 指令范围
SKILL.md 和包含的 .md 文件为文档和编码指南;它们不指示代理读取无关文件、访问外部端点或窃取数据。没有赋予广泛自由裁量权的模糊指令。
✓ 安装机制
无安装规范或下载代码 — 该技能为指令仅,安装过程不会写入磁盘。
✓ 凭证需求
该技能不请求环境变量、秘密或配置路径。凭据的缺失与教育/参考技能成比例。
✓ 持久化与权限
标志显示无持久/始终为真行为,模型调用是标准的。该技能不请求修改其他技能或系统范围设置。
安全有层次,运行前请审查代码。
运行时依赖
🖥️ OSLinux · macOS · Windows
版本
latestv1.0.12026/2/10
初始发布
● 无害
安装命令 点击复制
官方npx clawhub@latest install kotlin
镜像加速npx clawhub@latest install kotlin --registry https://cn.clawhub-mirror.com
技能文档
快速参考
| 主题 | 文件 |
|---|---|
| 空安全运算符和模式 | nullsafety.md |
| 协程、流、结构化并发 | coroutines.md |
| 集合、序列、数据类 | collections.md |
| 作用域函数、扩展、密封类 | idioms.md |
| Java 互操作和常见 Kotlin 错误 | interop.md |
| Android 生命周期、Compose 状态 | android.md |
| 委托、内联、重新化、多平台 | advanced.md |
关键规则
空安全
!!断言非空 — 空值会崩溃,仅在已检查后使用- Java 平台类型风险高 — 添加空检查或使用
@Nullable/@NonNull注解 - Elvis 运算符与
return/throw结合,用于早期退出 —val name = user?.name ?: return
协程
viewModelScope自动在 ViewModel 清除时取消 — 不要在 Android 中使用GlobalScope- 结构化并发:子协程失败会取消父协程 — 使用
supervisorScope隔离 StateFlow需要初始值且永不完成 —SharedFlow用于一次性事件- 注入调度器以便测试 — 不要硬编码
Dispatchers.IO
集合 & 数据类
first()在空集合上抛出异常 — 使用firstOrNull()进行安全访问- 仅构造函数属性在
equals/hashCode中 — 身体属性被忽略 mutableStateListOf用于 Compose — 将mutableListOf包装在状态中不会跟踪变化
作用域函数 & 扩展
- 不要嵌套作用域函数 — 可读性会迅速下降,提取为命名函数
- 扩展是静态解析的 — 不是多态的,接收者类型在编译时很重要
Android/Compose
repeatOnLifecycle(STARTED)用于流收集 —launchWhenStarted已弃用remember仅在重组后幸存 — 使用rememberSaveable处理配置更改collectAsStateWithLifecycle是金标准 — 生命周期感知 + Compose 状态
Java 互操作
==是结构性相等在 Kotlin —===用于引用,反向 Java- SAM 转换仅适用于 Java 接口 — Kotlin 接口需要显式
fun interface @JvmStatic,@JvmOverloads,@JvmField用于 Java 友好 API
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制