
1. 先分清Vercel skills 管技能包Gemini CLI 的模型端点管推理给 Gemini CLI 装完 Vercel skills 后如果模型请求仍走默认端点常见表现是技能已经加载、对话却 401 或超时。把 Gemini CLI 的模型端点改到 TaoTokenhttps://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentgemini_cli_skills_guide后再让 skills 管理技能包整条链路才完整。很多教程只讲npx skills add怎么装技能却没讲 Gemini CLI 到底把推理请求发到哪里。结果是技能目录里已经出现SKILL.md输入提示词后 Gemini CLI 仍然报鉴权失败、模型不可用或者连接超时。Vercel 实验室开源的skills本质是一个面向 AI 编程工具的包管理器。它不负责模型推理也不负责帮你保存会话只负责把技能包安装、更新、卸载、搜索、发布这一套流程标准化。它支持 Gemini CLI、Claude Code、Codex、Cursor、Copilot、Windsurf、Cline、OpenCode、Trae、Qwen Code 等一批工具。对 Gemini CLI 用户来说skills解决的是“我能不能给 Gemini CLI 加一套现成能力”而 Gemini CLI 的模型配置解决的是“这些能力触发后模型请求从哪个端点走”。两件事必须分开看。技能本身通常是一份SKILL.md里面写的是程序性知识遇到什么任务时按什么步骤做、输出格式是什么、需要注意哪些边界。有些技能还会附带脚本、模板或者检查清单。Gemini CLI 读取这些技能后会把相关内容组织进上下文再调用模型完成推理。如果模型端点还是默认配置而你的 Key、区域、网络策略又不匹配就会在“技能已装好”的假象里卡住。所以这篇内容不从泛泛的“AI 应用商店”讲起而是直接围绕 Gemini CLI先用skills装技能再把 Gemini CLI 的模型供应商改成 TaoTokenBase URL 填https://taotoken.net/apiKey 占位符用YOUR_API_KEY。2. 给 Gemini CLI 装第一个技能从 use 试用到 add 落盘skills的上手门槛不高但命令有使用场景差异。use适合试用不落盘add适合正式安装会写入项目或用户目录list、update、remove负责日常维护。对 Gemini CLI 用户建议先use确认技能内容和自己的工作流匹配再add到项目里。# 1. 不落盘试用一个技能确认它是否符合你的工作流 npx skills use owner/repo --tool gemini-cli # 2. 项目级安装技能进入当前项目适合随仓库共享 npx skills add owner/repo --tool gemini-cli # 3. 全局安装当前用户所有项目可用 npx skills add owner/repo --tool gemini-cli -g # 4. 搜索技能 npx skills find frontend-design # 5. 查看 Gemini CLI 已安装技能 npx skills list --tool gemini-cli # 6. 更新与卸载 npx skills update npx skills remove frontend-design安装过程一般是交互式的工具会检测本机装了哪些 AI 编程工具然后让你勾选要安装的技能最后选择项目级还是全局级。项目级默认写入当前项目目录适合提交到 Git团队克隆仓库后拿到同一套技能全局级写入用户目录适合个人常用技能所有项目都能复用。底层通常会通过软链接把多个工具的技能目录指向同一份文件保证单一事实来源。如果不支持软链接则退回复制模式。安装后可以检查 Gemini CLI 的技能目录。不同版本路径可能略有差异常见形态是项目内.gemini/skills或用户目录下的 Gemini 配置目录。你可以用下面的命令确认技能是否落盘# 查看项目内 Gemini CLI 技能文件 find .gemini/skills -maxdepth 2 -name SKILL.md -print # 查看用户级技能目录具体路径以本机 Gemini CLI 版本为准 find ~/.gemini -maxdepth 3 -name SKILL.md -print 2/dev/null如果技能装好了进入项目后运行 Gemini CLI然后输入一个能触发技能的提示词。例如你装了一个前端设计检查技能可以输入“按照 frontend-design 技能检查当前页面的布局层级、颜色对比和可访问性问题。” 如果 Gemini CLI 能读取技能并给出结构化建议说明技能链路已经打通。如果它完全没有提到技能内容先检查--tool gemini-cli是否传对、技能是否在 Gemini CLI 实际读取的目录下。3. Gemini CLI 模型配置改成 TaoTokenKey 从官网拿Base URL 填 https://taotoken.net/api技能安装只是第一步。Gemini CLI 真正发起推理时需要知道自己该请求哪个模型供应商。这里要改的是 Gemini CLI 的模型配置不是skills的配置。先去 TaoToken 官网https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentgemini_cli_skills_key登录进入控制台创建 API Key。创建后复制 Key在 Gemini CLI 模型配置中把 Key 填进去或者写入本机环境变量再引用。Base URL 按产品事实填写https://taotoken.net/api注意不要自己拼成其他路径除非你的 Gemini CLI 版本明确要求完整路径。Key 占位符统一写成YOUR_API_KEY如果你使用配置文件方式可以在 Gemini CLI 的模型供应商配置里新增一个自定义供应商。不同版本的字段名可能略有差异核心是这三项供应商名称、Base URL、API Key。可以按下面结构改写{ name: TaoToken, provider: custom, baseUrl: https://taotoken.net/api, apiKey: YOUR_API_KEY, model: 从 TaoToken 控制台模型列表中选择 }如果你不想把 Key 写进配置文件更推荐用本机环境变量。下面以 Bash 或 Zsh 为例# 写入 ~/.bashrc 或 ~/.zshrc仅保存在本机不要提交到 Git export TAOTOKEN_API_KEYYOUR_API_KEY export TAOTOKEN_BASE_URLhttps://taotoken.net/api # 让当前终端生效 source ~/.bashrc 2/dev/null || source ~/.zshrc 2/dev/null然后在 Gemini CLI 的模型配置中Base URL 填TAOTOKEN_BASE_URL对应的值API Key 填TAOTOKEN_API_KEY对应的值。模型名不要凭感觉写去 TaoToken 控制台的模型列表里复制。不同模型名对应的上下文长度、推理能力和计费策略可能不同。配置完成后先不要急着触发复杂技能先用一个简单问题验证端点。# 进入你的项目目录 cd your-project # 启动 Gemini CLI gemini在 Gemini CLI 里问一个不需要技能参与的问题例如“用三句话解释什么是依赖注入。” 如果能正常返回说明模型端点已经通了。然后再触发技能例如“按照 frontend-design 技能检查当前页面结构并给出修改清单。” 如果简单问题都失败就不要继续调技能先排查模型配置。常见状态码和方向如下401Key 未填、Key 复制错误、环境变量未生效。403Key 权限不足、模型未开通或账号状态异常。404Base URL 写错、模型名不存在。超时网络策略、端点不可达或模型名称与网关不匹配。如果你看到的是“技能加载了但模型请求失败”优先检查 Gemini CLI 的模型供应商配置而不是反复重装skills。技能是文件模型端点是运行时配置两者故障表现很像但排查路径不同。4. 跑技能时最容易踩的坑端点、模型名、作用域、脚本权限、跨工具兼容第一类坑是“技能装了但 Gemini CLI 没读”。表现是你问技能相关问题Gemini CLI 完全不引用技能内容。此时先运行npx skills list --tool gemini-cli确认技能列表里有目标技能。再检查项目目录和用户目录确认 Gemini CLI 实际读取的是哪一个。项目级和全局级不要混着猜-g安装的技能通常在用户目录不带-g的通常在项目目录。第二类坑是“Key 看起来填了但实际没生效”。常见原因是配置文件里还留着YOUR_API_KEY占位符或者环境变量只在当前终端生效新开终端就丢了。可以用 Python 或 shell 检查变量是否存在但不要打印完整 Key。# 检查环境变量是否生效不输出完整 Key python3 - PY import os key os.environ.get(TAOTOKEN_API_KEY, ) base os.environ.get(TAOTOKEN_BASE_URL, ) print(TAOTOKEN_API_KEY:, 已设置 if key else 未设置) print(TAOTOKEN_BASE_URL:, base if base else 未设置) PY第三类坑是“Base URL 乱加路径”。产品事实给出的 Base URL 是https://taotoken.net/api。有些工具要求只填 Base URL有些工具要求填完整接口路径。Gemini CLI 的模型配置里如果明确要求 Base URL就按https://taotoken.net/api填。不要因为看到其他工具写/v1/chat/completions就跟着改除非当前 Gemini CLI 版本明确要求。第四类坑是“模型名从旧文章复制”。模型列表会变旧教程里的模型名可能已经下线。正确做法是登录 TaoToken 控制台从模型列表里选择当前可用的模型名再填进 Gemini CLI 配置。模型名错了技能再完整也没有意义。第五类坑是“技能脚本权限与安全”。技能不只是 Markdown有些技能会带脚本、模板或命令片段。安装前先读SKILL.md更新时看 diff。尤其是涉及文件写入、网络请求、凭据读取的技能要在本地可控环境中审查。# 安装或更新后审查技能目录的变更 git diff -- .gemini/skills # 只给你信任的脚本增加执行权限 chmod x .gemini/skills/skill-name/scripts/check.sh第六类坑是“跨工具高级特性不兼容”。hooks、context: fork这类高级能力目前只有部分工具支持。Gemini CLI 能用的通常是基础技能形态读取SKILL.md、按指令组织上下文、调用模型输出。不要指望一个为 Claude Code 深度定制的技能在 Gemini CLI 里所有高级字段都原样生效。跨工具分发时优先选择基础 Markdown 技能。5. 多工具共存Claude Code、Codex、CC Switch 别把配置套错很多开发者不止用 Gemini CLI还同时用 Claude Code、Codex、Cursor 等。skills的优势是一次安装、多工具分发但模型配置不是通用的。每个工具有自己的配置文件和鉴权变量。最常见的错误是把 Claude Code 的ANTHROPIC_*变量填到 Codex或者把 Codex 的config.toml格式塞进 Gemini CLI。下面把三类配置分开写清楚。Claude Code 使用settings.json或环境变量时相关变量是ANTHROPIC_API_KEY、ANTHROPIC_BASE_URL。示例{ env: { ANTHROPIC_API_KEY: YOUR_API_KEY, ANTHROPIC_BASE_URL: https://taotoken.net/api } }Codex 使用~/.codex/config.toml这类 TOML 配置不要写ANTHROPIC_*。示例结构如下model 从 TaoToken 控制台选择 model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY如果你用 CC Switch 管理多个供应商把它理解成三件套供应商 Base URL、API Key、模型名。三件事分别保存切换时一起切。不要把 Claude Code 的供应商配置直接套给 Codex也不要把 Codex 的 provider 配置复制到 Gemini CLI。Gemini CLI 也维护自己的一套模型配置TaoToken Base URL、YOUR_API_KEY、从控制台复制的模型名。多工具共存时建议在环境变量里使用不同前缀例如 Claude Code 用ANTHROPIC_*Codex 用TAOTOKEN_*Gemini CLI 也使用自己的配置项避免串台。# 示例不同工具使用不同 Key 变量便于排查和轮换 export TAOTOKEN_API_KEYYOUR_API_KEY export TAOTOKEN_BASE_URLhttps://taotoken.net/api # Claude Code 如果需要独立配置再单独设置 ANTHROPIC_*不要和 Codex 混用 # export ANTHROPIC_API_KEYYOUR_API_KEY # export ANTHROPIC_BASE_URLhttps://taotoken.net/api这样做的目的是让排障更清晰。Gemini CLI 报错时只看 Gemini CLI 的模型配置Claude Code 报错时只看ANTHROPIC_*或settings.jsonCodex 报错时只看config.toml。不要在一个终端里同时 export 一堆变量然后靠猜哪个生效。6. 技能生态与团队落地skills.sh 找技能私有仓库做内部技能库skills配套的技能目录和排行榜站点可以理解为技能生态的展示层。你可以按分类浏览、看热度排行、看安装量统计也可以搜索现成技能。对 Gemini CLI 用户最实用的入口是先找基础技能例如前端设计检查、浏览器操作、代码规范、文档生成、测试用例梳理等再通过npx skills add安装到项目或全局。发布门槛也很低把技能放进 Git 仓库别人安装后就能被检索到。开放生态带来丰富度也带来质量差异所以安装前审查SKILL.md是必要步骤。团队场景更建议使用私有仓库。企业可以把内部规范、发布流程、灰度检查、日志排查、接口约定做成技能包放进公司私有 Git 仓库。敏感技能可以标记为内部可见避免被外部搜索到。团队成员克隆项目后项目级.gemini/skills会跟随仓库分发大家的 Gemini CLI 使用同一套技能。注意不要把 API Key 写进技能文件也不要把.env提交到仓库。# 项目级技能随 Git 共享但 Key 不要提交 echo .env .gitignore echo .gemini/skills/**/.env .gitignore # 更新技能前先看变更确认没有引入未知脚本 npx skills update --dry-run # 提交前审查技能目录 git diff -- .gemini/skills技能解决的是程序性知识怎么做事、按什么规范做、输出什么格式。它不替代模型端点配置也不替代外部系统的强类型调用。官方选型思路可以概括为先写 Markdown 技能不够用再加脚本最后才考虑更重的集成方式。对大多数 Gemini CLI 用户先把SKILL.md和 TaoToken 模型端点跑通收益最直接。7. 文末 CTA模型对话 → Coding Plan → 创建 Key → Claude Code 文档如果你还没验证 TaoToken 的 Key 和模型是否可用建议按下面顺序走一遍。先在模型对话页做最小验证确认 Key 能正常调用模型再看 Coding Plan 是否适合你的使用频率然后去控制台创建或管理 API Key最后如果你同时使用 Claude Code可以对照文档配置ANTHROPIC_*和settings.json。Gemini CLI 用户的核心动作仍然是在 Gemini CLI 模型配置中填入 TaoToken 的 Base URLhttps://taotoken.net/apiKey 使用YOUR_API_KEY模型名从控制台复制。模型对话https://taotoken.net/models/detail/chat?utm_sourcetaotoken_aicg_blog_endutm_contentgemini_cli_skills_chatCoding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentgemini_cli_skills_coding创建 Keyhttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentgemini_cli_skills_keysClaude Code 文档https://taotoken.net/doc/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_contentgemini_cli_skills_claudecode官网入口也放在这里方便你从控制台开始https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentgemini_cli_skills_end回到 Gemini CLI 本身最小闭环就是三步用npx skills add owner/repo --tool gemini-cli把技能装到 Gemini CLI在 Gemini CLI 模型配置里把 Base URL 改成https://taotoken.net/apiKey 填YOUR_API_KEY用简单问题验证模型端点再触发技能。先让模型通再让技能跑最后把项目级技能提交到仓库团队就能复用同一套 Gemini CLI 技能包。