SuperAPI AI 工具集

opensrc

编程与开发

查看项目

更新于 10-16 08:05

技能介绍

用途:当依赖的源码级检查会实质影响结论时使用 opensrc,查看包或上游仓库的内部实现、精确本地路径和版本差异,覆盖 npm、PyPI、crates.io 以及 Git 仓库;不用于无需查看源码的泛化网络调研、仅靠文档即可回答的发布说明总结,以及类型和官方文档已能解决的简单 API 用法问题。

主要能力与用法:先读仓库 AGENTS.md,并检查相关清单与锁文件。使用全局 opensrc 二进制,仅在不可用时退回 bunx opensrc。缓存准备用 opensrc fetch:opensrc fetch --cwd <repo-root> zod react next;对比版本用 opensrc fetch <pkg>@<current_version> <pkg>@<target_version>。需要文件系统路径时用 opensrc path,例如 rg "pattern" "$(opensrc path zod)"、cat "$(opensrc path zod)"/src/types.ts、find "$(opensrc path pypi:requests)" -name "*.py"、git diff --no-index "$(opensrc path <pkg>@<current>)" "$(opensrc path <pkg>@<target>)"。当源码证据影响建议时,引用精确版本与本地源码路径。发布说明、API 参考、变更日志和迁移指南使用网页或文档来源;实现内部与源码差异使用 opensrc。

版本与作用域:opensrc 0.7.x 全局缓存于 ~/.opensrc/,可用 OPENSRC_HOME 覆盖;缓存键包含解析后的包版本或仓库 ref,主要风险在 fetch 前的版本解析而非全局缓存。npm 包当前上游解析顺序为 node_modules、package-lock.json、pnpm-lock.yaml、yarn.lock、package.json。Bun 或 workspace 仓库默认以 workspace 根为 --cwd;若 node_modules 可能过期,显式锁定版本。升级或含糊场景检查固定版本:opensrc path pkg@current_version、opensrc path pkg@target_version。

支持的规格:npm(zod、npm:zod)、PyPI(pypi:requests、pip:requests、python:requests)、crates.io(crates:serde、cargo:serde、rust:serde)、仓库(owner/repo、github:owner/repo、gitlab:owner/repo、bitbucket:owner/repo 或完整 URL)、固定 ref(pkg@version、owner/repo@tag、owner/repo#branch);私有仓库认证使用 GITHUB_TOKEN、GITLAB_TOKEN、BITBUCKET_TOKEN。升级审计时结合官方文档与固定源路径对比当前与目标版本,优先使用包原生能力,删除过时的包装、垫片和适配器,除非存在真实边界,避免双形态兼容。可参考 references/opensrc-cli-reference.md 与 references/dependency-upgrade-audit.md。

输出要求:包含解析后的当前与目标版本、使用的精确本地源码路径,以及源码检查是否改变了结论;升级工作附上简明的硬切换迁移简报与验证清单。其余功能细节与限制暂未提供。