ワンクリックで
os-adapter
操作系统适配工具,用于生成和管理不同操作系统的适配方案。当需要为新 OS 创建适配或更新 OS 配置时调用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
操作系统适配工具,用于生成和管理不同操作系统的适配方案。当需要为新 OS 创建适配或更新 OS 配置时调用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
基于FastAPI知识库服务实现的RAG知识管理与检索技能,支持文档上传、解析、入库、删除、列表查询、内容检索、全文检索等能力,兼容PDF/DOCX/TXT/MD等格式,支持图片解析与多粒度描述入库,可直接对接Agent/机器人进行知识问答。
Analyzes pull requests and codebases for implementation and architecture issues, outputs structured analysis reports and refactoring suggestions. Use when reviewing PRs, examining code changes, conducting periodic codebase reviews, or when the user asks for refactoring/architecture analysis.
模型资源收集。联网搜索最新免费/优惠的AI模型资源信息(如各大云厂商优惠活动、免费API、Coding计划等),整理并生成配置指南文档。适用于用户询问"有什么便宜的模型推荐"、"免费模型有哪些"、"模型优惠"等场景。
系统化、安全地代码重构技能。能够识别代码坏味道、提供重构手法,支持制定计划、执行重构并验证结果。适用于代码质量提升、技术债清理、可维护性改进、代码优化、代码改进等场景。当用户请求重构代码、优化代码质量、修复代码问题或清理技术债时触发。
GitCode PR安全审查技能。用于自动审查GitCode仓库的Pull Request中的代码安全问题,使用sdk-security-audit技能进行代码安全分析,并将审查结果作为评论发布到对应的PR上。当用户需要对GitCode仓库的PR进行安全代码审查时使用此技能。
Generate reply drafts for a single GitCode issue; maintainer reviews before posting. Use when user asks to reply to or comment on an issue and provides a GitCode issue link; do not use when user only wants to fetch or query issue data. 针对单个 GitCode Issue 生成回复草稿,维护者审阅后可发送评论;仅当用户要回复或评论且提供链接时使用,仅获取或查询 issue 信息时勿用。Python 3.7+ standard library only.
| name | os_adapter |
| description | 操作系统适配工具,用于生成和管理不同操作系统的适配方案。当需要为新 OS 创建适配或更新 OS 配置时调用。 |
操作系统适配工具,用于自动化处理新 OS 的适配流程,包括:
/etc/os-release 获取 OS 信息BCLINUX_21_10_AARCH64 = "BCLinux_21.10_aarch64" 格式module_utils/common_info 中的 OSName 添加对应数据需要更新的数据:
OSName:OS 名称常量dl_os_list:下载 OS 列表更新 module_utils/compatibility_config 中的数据:
HardwareOSTags 中的 OS_TO_CARD_TAG_MAP参考:compatibility_config.py 第 167-177 行
在 downloader_config 目录中:
installed.txt:已安装库信息pkg_info.json:包版本信息(JSON 数组格式)source.repo 或 source.list:系统源配置(根据 OS 类型)读取系统已安装的库,将相关信息写入 installed.txt
根据 OS 类型生成不同的源配置文件:
source.repo
source.list
使用依赖分析脚本梳理所有依赖(CANN 和 NPU),生成 pkg_info.json 文件。
依赖列表:
分析命令:
python3 scripts/analyze_dep_tree.py --show_version --show_pkg_name \
--group cann --pkgs gcc gcc-c++ make cmake unzip zlib-devel libffi-devel openssl-devel pciutils net-tools sqlite-devel lapack-devel gcc-gfortran \
--group npu --pkgs make dkms gcc kernel-headers-$(uname -r) kernel-devel-$(uname -r)
依赖列表:
分析命令:
python3 scripts/apt_analyzer.py --show_version --show_pkg_name \
--group cann --pkgs gcc g++ make cmake libsqlite3-dev zlib1g-dev libssl-dev libffi-dev net-tools \
--group npu --pkgs dkms gcc linux-headers-$(uname -r)
| 参数 | 说明 |
|---|---|
| --show_version | 在输出中显示包版本号 |
| --show_pkg_name | 在输出中显示完整包名 |
| --group | 指定依赖组名称(如 cann、npu) |
| --pkgs | 指定该组包含的包列表 |
脚本会输出 JSON 格式的依赖树和包列表,生成的 pkg_info.json 格式:
[
{ "name": "gcc", "version": "9.3.0-1.el7" },
{ "name": "make", "version": "3.82-24.el7" },
...
]
更新 scripts/nexus_config.json:
skills/os_adapter/
├── SKILL.md # 技能定义文件
├── scripts/ # 脚本目录
│ ├── os_adapter.py # 主适配脚本
│ ├── analyze_dep_tree.py # RPM 系列依赖分析脚本
│ ├── apt_analyzer.py # DEB 系列依赖分析脚本
│ └── utils.py # 工具函数
└── templates/ # 模板目录
├── installed.txt.tpl # installed.txt 模板
├── pkg_info.json.tpl # pkg_info.json 模板
├── source.repo.tpl # RPM 系列源配置模板
└── source.list.tpl # DEB 系列源配置模板
# 通过 SSH 连接远程 OS,自动获取 OS 信息、repo 信息和依赖信息
python scripts/os_adapter.py --ssh-host 192.168.1.100 --ssh-user root --ssh-key ~/.ssh/id_rsa --hardware "I2,A2,A3"
# 指定 SSH 端口
python scripts/os_adapter.py --ssh-host 192.168.1.100 --ssh-port 2222 --ssh-user root --hardware "I2,A2"
# 如果 SSH 无法获取 repo 信息,会提示用户手动配置
# 执行完整适配流程(本地系统)
python scripts/os_adapter.py --os-name "NewOS_22.04_x86_64"
# 仅更新 OS 基本信息
python scripts/os_adapter.py --step basic-info --os-name "NewOS_22.04_x86_64"
# 仅创建配置文件
python scripts/os_adapter.py --step create-config --os-name "NewOS_22.04_x86_64"
# 指定硬件支持
python scripts/os_adapter.py --os-name "NewOS_22.04_x86_64" --hardware "I2,A2,A3"
# 交互式录入信息(支持 SSH 连接)
python scripts/os_adapter.py --interactive
| 参数 | 说明 | 默认值 |
|---|---|---|
| --ssh-host | SSH 主机地址 | 无 |
| --ssh-port | SSH 端口 | 22 |
| --ssh-user | SSH 用户名 | root |
| --ssh-key | SSH 私钥文件路径 | 无 |
| 文件 | 路径 | 说明 |
|---|---|---|
| OSName | module_utils/common_info | OS 名称常量定义 |
| dl_os_list | module_utils/common_info | 下载 OS 列表 |
| HardwareOSTags | module_utils/compatibility_config | 硬件兼容性配置 |
| OS 配置目录 | downloader_config/{os_name}/ | OS 配置文件目录 |
| installed.txt | downloader_config/{os_name}/installed.txt | 已安装库信息 |
| pkg_info.json | downloader_config/{os_name}/pkg_info.json | 包版本信息(JSON 数组) |
| source.repo | downloader_config/{os_name}/source.repo | RPM 系列系统源配置 |
| source.list | downloader_config/{os_name}/source.list | DEB 系列系统源配置 |
| nexus_config.json | scripts/nexus_config.json | 构建配置 |
脚本执行前会检测以下标志文件/目录,确认是否为 ascend-deployer 项目:
module_utils/downloader_config/scripts/nexus_config.json如果检测失败,脚本会输出错误信息并退出。
假设要适配远程服务器上的 openEuler 24.03 aarch64:
python scripts/os_adapter.py --ssh-host 192.168.1.100 --ssh-user root --ssh-key ~/.ssh/id_rsa --hardware "I2,A2"
OSName 中添加常量dl_os_list 中添加条目OS_TO_CARD_TAG_MAP 中添加硬件映射nexus_config.json假设要适配 BCLinux 21.10 aarch64:
python scripts/os_adapter.py --os-name "BCLinux_21.10_aarch64" --hardware "I2,A2"
OSName 中添加 BCLINUX_21_10_AARCH64 = "BCLinux_21.10_aarch64"dl_os_list 中添加对应条目OS_TO_CARD_TAG_MAP 中添加硬件映射downloader_config/BCLinux_21.10_aarch64/ 目录installed.txt、pkg_info.json、source.reponexus_config.json 中的 rpm_os 列表假设要适配 Debian 10 x86_64:
python scripts/os_adapter.py --os-name "Debian_10_x86_64" --hardware "I2,A2"
OSName 中添加 DEBIAN_10_X86_64 = "Debian_10_x86_64"dl_os_list 中添加对应条目OS_TO_CARD_TAG_MAP 中添加硬件映射downloader_config/Debian_10_x86_64/ 目录installed.txt、pkg_info.json、source.listnexus_config.json 中的 deb_os 列表