多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

用 Skill Recorder 录一遍重复操作,TaoToken 统一 Key 接入 AI 自动生成 Skill 实战

用 Skill Recorder 录一遍重复操作,TaoToken 统一 Key 接入 AI 自动生成 Skill 实战 1. 重复操作录一遍为什么还需要统一 Key每天打开同一个后台、导出报表、复制字段、粘贴进表格、再发一封格式固定的邮件——这类操作单看每一步都不难难的是让 AI 接手。传统做法要么手写一份详尽的 SKILL.md要么反复向大模型描述流程费时费力还容易漏细节。微软开源的 Skill Recorder 把这件事倒过来与其描述你想做什么不如直接演示一遍。按下快捷键照常工作它记录窗口切换、浏览器 URL、屏幕快照、剪贴板预览和口述旁白再由 GitHub Copilot 把操作记录重构为「整体意图 有序步骤」最后生成可复用的 SKILL.md 或定时 Automation。问题在于录制本身免费开源但分析环节依赖 GitHub Copilot 权限下游执行还可能牵扯 Microsoft 365 Copilot 订阅。对国内开发者来说更现实的路径是录制照旧用 Skill Recorder分析、改写、适配其他 Agent 的环节走一个统一的 API 通道。TaoToken 在这里扮演的就是这个角色——一个 Key 打通多家模型省去为每个环节单独配环境、单独管额度的麻烦。这篇就按「录制 → 生成 → 验证」的完整动作清单走一遍配置骨架可以直接复制。2. TaoToken 前置一个 Key 管住生成环节Skill Recorder 的 Analyze 步骤本质上是把事件时间线、截取的屏幕图像和口述文字交给大模型做意图重构。官方默认走 GitHub Copilot但生成出来的 SKILL.md 要适配 Codex、Claude Code 等其他 Agent 时工具名称和权限都得重新检查。与其在每个 Agent 里各配一套凭证不如把「分析 改写 适配」统一到一个兼容 OpenAI 协议的入口。TaoToken 的定位就是统一 Key / API 通道官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 兼容 OpenAI 的/v1/chat/completions调用方式。你拿到 Key 之后无论是让模型帮你把录制的原始步骤整理成 SKILL.md还是把生成好的 Skill 改写成 Codex 能识别的工具调用格式都走同一个通道。适合谁用已经在用 GitHub Copilot 或 Claude Code 的开发者、需要把重复行政流程沉淀成 Skill 的非技术用户、以及想把录制产物适配到多个 Agent 环境的团队。前置准备只有两件事——装好 Skill Recorder 并完成一次录制以及拿到一个 TaoToken Key。拿 Key 的入口在控制台登录后进 API Keys 页面创建即可https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。创建后先复制保存页面刷新后不再完整显示。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有各语言的调用示例下面配置里用到的字段都能对上。3. 可复制配置config.toml 与 settings.json 骨架Skill Recorder 本身以源码形式发布官方脚本会下载固定版本的 Node.js 在本地构建不全局安装任何东西。安装命令从最新 release 页面取 commit 后执行# macOS / Ubuntu commitrelease-commit curl -fsSL https://raw.githubusercontent.com/microsoft/skill-recorder/$commit/install.sh | SKILL_RECORDER_COMMIT$commit bash# Windows (PowerShell) $commitrelease-commit $env:SKILL_RECORDER_COMMIT$commit irm https://raw.githubusercontent.com/microsoft/skill-recorder/$commit/install.ps1 | iex首次启动时 macOS 会请求屏幕录制权限并通过 Device Code Flow 完成 GitHub 授权。接下来是让生成环节走 TaoToken 的两份配置骨架。第一份是config.toml放在项目根目录或~/.skill-recorder/下用来声明模型通道。字段名按 OpenAI 兼容格式写base_url指向 TaoToken 的 API 端点# ~/.skill-recorder/config.toml [provider] name taotoken base_url https://taotoken.net/api api_key_env TAOTOKEN_API_KEY default_model gpt-4o-mini [analyze] # 分析录制记录时使用的模型可换成更强的推理模型 model gpt-4o-mini temperature 0.2 max_tokens 4096 [rewrite] # 把 SKILL.md 适配到其他 Agent 时使用 model claude-3-5-sonnet temperature 0.3Key 不写进文件用环境变量注入避免误提交export TAOTOKEN_API_KEYsk-你的Key第二份是settings.json放在~/.copilot/或项目.copilot/下用来告诉 Skill Recorder 生成产物时调用哪个通道。这份配置同时被 Copilot CLI 和 Skill Recorder 读取{ skillRecorder: { provider: { type: openai-compatible, baseUrl: https://taotoken.net/api, apiKeyEnv: TAOTOKEN_API_KEY, model: gpt-4o-mini }, output: { skillDir: ~/.copilot/skills/, automationDir: ~/.copilot/automations/ }, privacy: { stripClipboard: true, redactPatterns: [sk-[A-Za-z0-9], ghp_[A-Za-z0-9]] } } }redactPatterns这一项建议保留录制时剪贴板预览可能带出 Key 或令牌生成前先做一层正则替换。skillDir指向~/.copilot/skills/是为了让 Microsoft Scout 自动发现技能如果你只用 Codex 或 Claude Code改成对应目录即可。4. 验证请求从录制到生成 Skill 的完整动作配置就位后走一遍完整流程。先确认通道能通用 curl 打一次 TaoToken 的接口curl -s https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: gpt-4o-mini, messages: [{role: user, content: 回复 OK 两个字母}], max_tokens: 16 }返回里choices[0].message.content是OK就说明 Key 和端点都对。这一步别跳过后面生成失败时能快速排除是通道问题还是录制问题。通道通了之后开始录制。macOS 按⌘⇧RWindows 按CtrlShiftR屏幕顶部出现置顶小工具栏可以随时静音、切换麦克风录废了直接丢弃重来。录制期间照常操作比如打开 GitHub 查看新 issue、回复留言、添加标签。口述旁白是可选项但强烈建议开——一边操作一边说出判断比如「先检查哪些任务没处理」「发送前再核对一遍」语音通过 Whisper 在本地转写支持 99 种语言首次使用需下载约 252 MB 的模型。录完点 Analyze。这一步会把事件时间线、截取的屏幕图像和口述文字发到模型做意图重构。走 TaoToken 通道时请求体大致长这样{ model: gpt-4o-mini, messages: [ { role: system, content: 你是 Skill 生成助手。根据操作记录重构整体意图和有序步骤输出 SKILL.md 格式。 }, { role: user, content: 录制事件时间线 口述转写文本 } ], temperature: 0.2 }分析结果完全可编辑某一步理解错了直接改无关操作删掉直到它准确反映真实意图。确认后一键生成两种产物——Skill 是一份 SKILL.md 流程文件Automation 是同一套流程但可按时间计划或事件触发器运行。由于录制过程没有运行时间信息软件会先给建议值你可以改成「每个工作日早上 9 点」再生成。生成后的 SKILL.md 会优先使用 Agent 原生工具而不是回放 UI 点击。比如你在浏览器里打开 GitHub 查看 issue、回复、加标签生成时这些网页操作会被改写成ghCLI 命令。验证方式是直接读一遍生成的 SKILL.md检查工具名是否真实存在cat ~/.copilot/skills/skill-name/SKILL.md如果里面出现web_fetch、gh issue list这类调用说明泛化成功如果还是「点击坐标 (320, 480)」这种机械复刻说明分析环节没走通回到 Analyze 步骤重新生成。5. 本篇常见错排查报错一401 Unauthorized或invalid api key。先确认环境变量在当前 shell 里生效echo $TAOTOKEN_API_KEY能打印出sk-开头的串。如果配置文件里写的是api_key_env注意大小写要和环境变量名完全一致。Key 在控制台创建后只完整显示一次丢了就重新建一个。报错二model not found。default_model字段填的模型名要在 TaoToken 支持的列表里。不同模型对上下文长度和图像输入的支持不一样分析录制记录时如果带屏幕截图要选支持视觉输入的模型否则会报content type not supported。报错三Analyze 卡住或超时。录制时间过长、事件条数过多时单次请求可能超出上下文窗口。解决办法是在 Analyze 前先删掉无关步骤或者把录制拆成两段分别生成。另外max_tokens设太小会导致输出被截断SKILL.md 生成不完整建议不低于 4096。报错四生成的 Skill 在 Codex 里跑不起来。这是跨 Agent 适配的典型问题。Skill Recorder 默认面向微软 Agent 生态生成的工具名是 Copilot 系的。要交给 Codex 或 Claude Code得让模型重新检查工具名称和权限。可以直接把 SKILL.md 丢给模型改写curl -s https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: claude-3-5-sonnet, messages: [ {role: system, content: 把这份 SKILL.md 里的工具调用改写成 Codex 可识别的格式保留步骤顺序和判断条件。}, {role: user, content: 粘贴 SKILL.md 内容} ] }报错五隐私泄露风险。录制期间屏幕捕获、帧提取、语音转写全部在本地完成原始视频不上传但点 Analyze 后事件时间线、截取的屏幕图像和口述文字会发到模型处理。v0.3.1 版本不含机密信息自动脱敏应用会在每次录制前提醒不要录制、输入、粘贴或口述密码、API Key、令牌。如果任务涉及登录把登录环节放在录制之外完成。一个文件名、一个浏览器标签页、一条弹出通知都可能泄露信息录制前先清理桌面和后台窗口。6. 把生成环节接到统一通道上Skill Recorder 解决的是「教 AI 干活」的入口问题——从写文档变成演示一遍。但它生成的 SKILL.md 要真正跑起来还得过分析、改写、适配这几关每一关都要调模型。如果每个环节各配一套凭证管理成本很快就上来了。统一走 TaoToken 的好处是录制产物在本地分析、改写、跨 Agent 适配都通过同一个 Key 和端点完成换模型只改配置里的model字段不用重新配环境。长期做编码或 Agent 开发的可以看 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 适合需要持续调用、按周期结算的场景。只想先验证模型效果的直接进模型对话页面试https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 。接入细节和参数说明都在文档里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。挑一个你自己的重复性行政任务录一遍走完 Analyze 到生成再读一遍 SKILL.md 检查工具名。跑通一次之后后面就是复制配置、换模型名的事了。
返回列表