SuperAPI AI 工具集

Skill 广场

找到适合任务的 Agent Skill,阅读介绍并复制安装命令。

更新于 11-15 00:13

编程与开发

41,121 个结果

inclusive-period-boundaries-and-offset-reset

该资料介绍在Kotlin中实现按周期步进的时间导航器时,如何统一时间区间边界约定并正确重置偏移量。核心建议是:一个导航器中只保留一种边界约定;推荐采用半开区间(起点包含、终点不包含),并同步修改查询谓词。资料指出封闭上界23:59:59会丢失该秒内亚秒级事件,半开边界配BETWEEN会重复计入接缝事件;偏移量应按周期数计数,切换粒度时须重置为0,向前步进应在当前周期钳制并提前返回;验证可用grep检查边界构造与查询比较方式,并用SQL统计被漏掉或重复计数的事件。

编程与开发9 次安装

jna-native-binding-traps

该技能聚焦于用 JNA(Java Native Access)手写 C 库的 JVM 绑定时容易踩到的陷阱。JNA 在运行时把 Java/Kotlin 接口映射到已编译的 C 库,声明与头文件不一致(字段顺序错误、open 标志错误、回调被回收)在链接时都是静默的,错误要很久以后才在别处暴露。内容涵盖:Library.OPTION_OPEN_FLAGS 仅在 POSIX 有效、同值在 Windows 含义不同;应记录实际打开的文件路径而非请求名;裸库名不等于文件名并可能回退到系统副本;jna.library.path 属性的读取时机应以字节码为准;结构体按原始偏移读取,只映射稳定前缀;回调被弱引用持有需保持强引用;数组参数不会自动补 NULL 终止符;调用方拥有的返回缓冲区应映射为 Pointer 并调用库自身释放函数。并给出 javap 验证命令与通过条件。

编程与开发9 次安装

jvmname-disambiguate-erased-overloads

该技能解决 Kotlin 中两个扩展函数仅因泛型接收者类型参数不同、擦除后编译为同一 JVM 方法而引发的平台声明冲突。做法是在其中一个函数上使用 @JvmName 标注,为 JVM 方法指定不同名称,同时保持 Kotlin 调用点不变。内容还说明了相关陷阱:应改 JVM 名而非 Kotlin 名;仅当擦除后签名完全相同时才会冲突;冲突范围限于声明所在的文件类,而非整个模块;注解对 Kotlin 不可见,需自行保证名称准确;Java 调用方只能使用 JVM 名;open、override、abstract 成员不能使用该注解;跨平台模块中这是仅 JVM 的约束。附带用于查找同文件内擦除后重名函数的 grep 脚本,以及检查 @JvmName 注解的排查方法。

编程与开发9 次安装

kmp-html-entity-decoder

kmp-html-entity-decoder 是 Kotlin Multiplatform 共享代码中的 HTML 字符实体解码方案,来自 maxrave-dev/kotlin-footguns。当平台的标记辅助函数只在单一目标平台可用、且通常会连带剥离标签时,可在解析层与展示层共同依赖的最低模块中用一张命名实体表加两条正则表达式完成解码,支持命名实体、十六进制(A)和十进制(A)数字实体。资料重点讨论了实现中的陷阱:Char(code) 对超过 16 位范围的码点会抛异常,emoji 等需转为代理对;按表逐条替换会导致 < 被二次解码,需把 & 放到最后或用单次扫描;表与正则的大小写处理必须一致;可选分号会让解码过于贪婪;固定表之外实体原样保留;应只在边界解码一次并放在解析之后;解码不等于净化,输出需重新转义。

编程与开发9 次安装

kmp-module-split-for-packaging

此技能用于将单个 Kotlin Multiplatform UI 模块拆分为共享库(shared library)与多个轻量级启动器模块(launcher),使 Android 启动器仅负责打包与清单,桌面启动器仅包含 main() 与打包逻辑。技能强调插件重叠属正常,但关注点分离:共享库拥有所有 UI、视图模型、expect/actual 及共享资源;启动器拥有应用标识、打包配置与平台专属入口。技能提供具体 Gradle 配置示例与验证命令,并列出 AGP 不支持 multiplatform 应用插件、Compose 资源生成异常、任务依赖未自动接线等陷阱,同时建议用文件数量测量启动器体积,避免逻辑泄漏。

编程与开发9 次安装

koin-viewmodel-scoping-traps

这是一个面向 Kotlin 开发者的技术写作,讲解在 Koin 运行时依赖注入容器中装配 ViewModel 时容易遇到的生命周期与作用域陷阱。内容涵盖:BaseViewModel 作为服务定位器(service locator)时注入依赖的代价;Koin 注解式定义在被生成的模块加载之前不会注册任何内容;不同访问器(viewModels、activityViewModels、viewModel、activityViewModel)会把对象解析到哪个 ViewModelStore 槽位,以及它们造成的实例重复或串用;把 shared 的 ViewModel 注册为 single 后需要自行管理生命周期,并给出避免在页面销毁时调用 unloadKoinModules 的建议。文中还提供了用 grep 审计 import 和模块定义、验证注解式定义与单例作用域的具体命令与判定条件。文中未说明工具形态、安装方式或收费信息。

编程与开发9 次安装

kotlinx-datetime-helper-kit

一个围绕 Kotlin 多平台日期时间库(kotlinx-datetime)的辅助工具集,把 instant 与 local-date-time 之间的转换封装成具名辅助函数,包括获取当前时间、epoch 毫秒转换、时间比较、按秒偏移等。该资料同时总结了一组常见陷阱:固定时区与设备时区不一致导致存储偏移、墙钟类型比较的是字段而非时间点、日历运算与经过时间运算混用、相对时间格式化器写成 composable 无法复用与刷新、Period 的 hours 是分量而非总数、解析失败返回 0 无法与成功区分、直接读取系统时钟导致不可测试、共享源集引入 Java 运行时类型等,并给出 grep 与 DST 场景的核查方法。

编程与开发9 次安装

login-state-fans-out-to-settings

该技能页面针对 Kotlin 应用登出逻辑,指出登出并不只是清除凭据,还需要在登出与凭据撤销这两个入口统一重置所有依赖登录态的派生状态,例如功能开关、派生令牌及其过期时间戳、缓存资料等,否则会出现开关卡在开启状态无法关闭、过期令牌残留、静默失效或反复认证失败等问题。页面还给出示例代码、常见陷阱和基于 grep 的核查方法,以及行为验证步骤。

编程与开发9 次安装

marker-interface-nested-enum-polymorphism

这是一个关于 Kotlin 中「标记接口(tag interface)+ 嵌套枚举判别器」多态模式的技能条目,聚焦于如何把互不相关的类(持久化行、搜索结果、本地创建的记录)统一放进同一个异构列表,并由同一个可组合函数(Composable)渲染。核心手法是用空接口作为标签,再让某些标签携带一个嵌套枚举和访问函数,在真正需要分支时提供运行时判别。内容同时系统整理了该模式的陷阱(如失去穷尽性检查、判别器缺失导致实现类返回错误值、两个标签的访问函数同名冲突、类型名冲突、as? 强制转换静默丢项、filterIsInstance 静默过滤等),并给出用 grep 验证实现类、判别器完备性和访问函数命名冲突的具体命令。适合已经熟悉 Kotlin 接口与 sealed 层级取舍、需要在多模块场景下设计列表渲染多态的开发者参考。

编程与开发9 次安装

media3-custom-audio-processor

这是一个关于在 Media3/ExoPlayer 音频管线中编写自定义音频处理器(如滤波器、淡入淡出、增益级)的技术技能。该技能说明如何创建 BaseAudioProcessor 子类并安装到 DefaultAudioSink 的处理器链中,支持运行时切换,并强调每个播放器实例应拥有独立处理器实例,而参数可共享。它涵盖 onConfigure 协商格式、isActive 的默认行为、queueInput 必须消费整个缓冲区、ByteBuffer 别名风险、每缓冲区读取参数、onFlush 与 onReset 的区别、字节序处理等关键细节,并提供反编译验证 isActive 默认实现与手动测试的方法。

编程与开发9 次安装

mirror-local-state-to-a-remote-account

该技能页面介绍一种“将本地标记镜像到远程账号”的设计约定,面向 Kotlin 开发者,以“关注/标记”为例,说明一个开关如何把本地已标记的记录同步到已登录的远程账号。核心要点是开关两端语义不对称:开启时需回填(back-fill)所有已标记记录,关闭时不撤销远程状态;单条调用使用 Boolean? 返回值区分“未尝试”“成功”“失败”,本地写入始终优先且不因网络失败回滚;回填串行执行、分页读取,并在登出或不可用时自动关闭开关。页面还提供接口、示例代码与 grep 验证方式。

编程与开发9 次安装

model-entity-mapping-extension-layer

一种在 Kotlin 项目中组织模型映射代码的做法:把传输载荷、领域模型与持久化行之间的所有转换分别写入独立文件,每个文件只包含纯扩展函数,每个方向单独声明。资料说明了扩展函数优于成员方法的原因、单向映射与丢失字段带来的代价、默认值只应在忽略冲突的插入中安全使用、纯函数式归一化的边界,以及保持传输层映射为 internal 的可见性约束,并提供 grep 命令用于检查映射文件的纯净性和映射方向配对。

编程与开发9 次安装

named-job-lifecycle-discipline

该技能针对 Kotlin 长生命周期对象(如服务处理器、界面模型、会话控制器)中后台协程任务的管理,提出一套“按关注点命名 Job 字段”的生命周期纪律:每个关注点使用一个可为空的 `var xJob: Job?` 字段,在每个启动点把“先取消、再重新启动”作为不变式,并用 `NonCancellable` 包裹拆卸写入,避免新一轮上游发射中断清理而导致对象处于半拆卸状态。技能配有 grep 检查方法,以及用日志计数验证是否泄漏的步骤。

编程与开发9 次安装

native-artifact-for-embedding

该技能聚焦于为 JVM 应用构建可嵌入的原生共享库,而非可直接运行的原生分发版。其核心观点是:预构建的可移植原生包通常不是可加载的库——名为共享库的文件往往是 PIE 可执行文件,Linux 加载器拒绝将其作为库打开;且这类包自带 C 运行时与程序加载器,与 JVM 已映射的系统库冲突。技能给出了一套构建与验证流程:在容器中自建产物、以所支持的最老基础系统为构建基线并用 objdump 读取 GLIBC 版本下限、用 patchelf --force-rpath 设置可继承的 RPATH、按名称显式排除系统库、注册本地前缀并刷新 ldconfig、以 cp -L 复制符号链接、裁剪嵌入路径不可达的组件,最后在构建器内用 ldd 解析检查与 dlopen 加初始化的小程序双重门禁验证,并在 LC_NUMERIC=C 下运行冒烟测试。

编程与开发9 次安装

nested-flag-settings-auto-disable

该条目讨论 Kotlin 设置界面中嵌套开关的三层防护:子开关行在父条件关闭时自动将自身置为关闭,状态持有者在撤回父条件时清除子开关,消费方拒绝单独依赖子开关。文中给出基于 LaunchedEffect(isEnable) 的 Compose 示例、用 if (childEnabled) 守卫回调避免写入循环、以及灰色禁用而非隐藏行的做法,并说明懒列表中离屏行不执行副作用、门控值需来自可观察状态等限制,附 grep 排查命令。

编程与开发9 次安装

no-use-case-layer-decision

这是一份面向 Kotlin 中型应用的架构技能文档,讨论是否需要在展示层与仓库层之间保留交互器(interactor)或用例(use-case)层。核心观点是:这一层并非必需,真正的边界在于仓库接口而非交互器。文档给出替代方案(领域模块中的仓库接口、数据模块内 internal 的纯映射函数、仓库返回统一结果封装)、如何用多种 grep 命令证明“不存在用例层”、去掉该层后失去的四项能力、何时应局部重新引入,以及文件过大、仓库泄露传输类型、映射函数膨胀等陷阱和对策。

编程与开发9 次安装

nowplaying-pager-no-feedback-loop

一个 Kotlin/Compose 的“正在播放”封面 pager 实现模式,解决双向绑定(播放器切歌驱动 pager 滑动,用户滑页触发播放器 seek)时产生的反馈循环问题。核心是用自己维护的 isAnimatingFromPlayer 标志包住程序化滚动,用 settledPage 而非 currentPage/targetPage 分发 seek,并把 seek 决策提取为纯函数 computeSeekAction;同时处理后退滑动、随机播放索引、队列缩短和单曲循环等边界情况。

编程与开发9 次安装

oauth-callback-not-through-nav

这是一份 Kotlin 多平台开发中的避坑指南,专门说明 OAuth 登录回调不应通过导航来传递令牌。当登录流程交由系统浏览器完成时,回调会直接到达应用进程,而发起登录的屏幕仍留在返回栈上;若把令牌作为参数导航到该屏幕,就会压入一份重复副本,导致用户显示为已登录却停留在登录页。正确做法是把令牌直接写入会话状态,并让登录屏幕观察已存储的会话自行关闭。文档还列出了进程被杀死后的冷启动、内嵌 WebView 与系统浏览器行为差异、request token 的两种流程、链接规范化改写回调、待处理链接未清除导致令牌重复提交、令牌一次性短时效,以及无 scheme handler 时的手动粘贴回调 URL 兜底等陷阱,并给出 grep 验证命令与三种行为测试方式。

编程与开发9 次安装

on-demand-dictionary-asset

这是一个面向 Kotlin Multiplatform 的按需字典资源技能:把约 13 MB 的日语分词词典(8 个 .bin 文件)从 Android APK 中剔除,改为按需下载,桌面端与 iOS 则在类路径上直接携带并走恒真实现。通过一个 expect/actual 接口统一三端行为,涵盖就绪状态从磁盘校验而非缓存标志、staging 目录加原子重命名避免半安装、大小与 SHA-256 两级完整性校验、白名单式解压、惰性构建不缓存失败、功能门控不阻塞选择、Mutex 保证单次下载等要点,并给出 grep 验证命令。

编程与开发9 次安装