1. 右键菜单加个关联项:从注册表到可点击入口
Windows 右键菜单扩展这件事,说穿了就是往注册表里塞几个约定好的键位,让资源管理器在渲染菜单时多读一行。你平时看到的「用 WinRAR 打开」「用 UltraEdit 编辑」,本质上都是HKEY_CLASSES_ROOT下面某个文件类型或目录类型挂载了shell子键,shell下面再挂菜单名,菜单名下面挂command,command的默认值就是真正要执行的命令行。这套机制从 XP 时代到现在没怎么变过,稳定得让人安心。
这篇要做的,是给 TaoToken 配一个可验证的右键入口。TaoToken 是一个统一 Key/API 通道,官网在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 入口是 https://taotoken.net/api 。它的定位是把多家模型的调用收敛到一套 Key 和一套接口上,所以日常会频繁打开控制台、看文档、查 Key。与其每次开浏览器敲地址,不如在右键菜单里放一个「打开 TaoToken 控制台」的项,点一下就跳过去。
适合谁看:经常在 Windows 上做开发、想给自己常用工具加右键入口的人;对注册表有点好奇但没动过手的人;以及已经用过 TaoToken、想把入口做得更顺手的人。下面从键位结构讲起,给一份可以直接复制导入的.reg骨架,再演示导入后怎么验证、怎么回滚。整个过程不需要装任何第三方软件,改的都是当前用户或机器级别的注册表项。
2. TaoToken 前置:先把 Key 和入口地址准备好
在动注册表之前,先把要跳转的目标地址确认清楚。右键菜单的command最终执行的是一个命令行,如果这个命令行里带了 URL,那 URL 必须是对的,否则点下去只会弹一个空白页或者报错。TaoToken 这边常用的几个入口:
| 用途 | 地址 |
|---|---|
| 官网首页 | https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= |
| API 基址 | https://taotoken.net/api |
| 模型对话 | https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=right_click_menu&utm_campaign=rewrite |
| Coding Plan | https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=right_click_menu&utm_campaign=rewrite |
| 控制台 | https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=right_click_menu&utm_campaign=rewrite |
| API Keys | https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=right_click_menu&utm_campaign=rewrite |
| 接入文档 | https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=right_click_menu&utm_campaign=rewrite |
如果你还没拿 Key,先去 API Keys 页面创建一个。创建完把 Key 复制到本地一个安全的地方,后面配环境变量或者写进客户端配置时要用。这一步和注册表没关系,但它是「可验证入口」能真正跑通的前提——右键点开控制台之后,你总得有个 Key 才能继续往下调模型。
注意:注册表里只放跳转 URL,不要把 API Key 写进
.reg文件。.reg是明文,导入后任何能读注册表的人都能看到,Key 泄露的风险不值得冒。
3. 可复制配置:shell / command / DefaultIcon 三键骨架
右键菜单的键位结构可以拆成三层。第一层是「挂在哪」,比如挂在所有文件上、挂在目录上、还是挂在某个自定义扩展名上。第二层是shell,它下面每个子键就是一个菜单项。第三层是菜单项下面的command,它的默认值决定点击后执行什么。DefaultIcon则是可选的,用来给菜单项配一个图标。
先看挂载点。常见的几个位置:
HKEY_CLASSES_ROOT\*\shell—— 所有文件右键都出现HKEY_CLASSES_ROOT\Directory\shell—— 目录右键出现HKEY_CLASSES_ROOT\Directory\Background\shell—— 目录空白处右键出现HKEY_CLASSES_ROOT\Drive\shell—— 驱动器右键出现
这里选Directory\Background\shell,因为「在文件夹空白处右键打开 TaoToken 控制台」是最自然的操作路径。下面这份.reg可以直接存成taotoken_menu.reg,双击导入:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\TaoTokenConsole] @="打开 TaoToken 控制台" "Icon"="\"C:\\Windows\\System32\\shell32.dll,13\"" [HKEY_CLASSES_ROOT\Directory\Background\shell\TaoTokenConsole\command] @="cmd /c start \"\" \"https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=right_click_menu&utm_campaign=rewrite\""逐段解释一下。[HKEY_CLASSES_ROOT\Directory\Background\shell\TaoTokenConsole]这一行创建了菜单项本体,键名TaoTokenConsole是内部标识,随便取但别和已有的重名。它下面的@="打开 TaoToken 控制台"是菜单上显示的文字。"Icon"指定图标,这里借用了系统shell32.dll里的第 13 号图标,你也可以换成自己的.ico文件路径。
command子键的默认值就是点击后执行的命令。cmd /c start "" "URL"这个写法是为了让 URL 在默认浏览器里打开,start后面那对空引号是标题占位,不能省,否则带引号的 URL 会被当成窗口标题。如果你想让菜单项只在按住 Shift 时才出现,可以在TaoTokenConsole键下加一个"Extended"=""字符串值。
如果你更想挂在所有文件上,把路径里的Directory\Background换成*即可。想挂在目录本身上(不是空白处),换成Directory。三种挂法的shell和command结构完全一样,只是第一层路径不同。
4. 验证请求:导入后看菜单、点命令、查图标
导入.reg之后,别急着到处点。先做三个验证动作,确认每一层都生效了。
第一个动作,看菜单项有没有出现。随便打开一个文件夹,在空白处右键,菜单里应该能看到「打开 TaoToken 控制台」。如果没看到,先按 F5 刷新一下资源管理器,或者关掉再开一个窗口。Windows 11 的右键菜单默认是折叠的,需要点「显示更多选项」才能看到传统菜单项,这是系统行为,不是你的配置没生效。
第二个动作,点一下这个菜单项。默认浏览器应该打开 TaoToken 控制台页面。如果浏览器没反应,或者弹出一个命令行窗口一闪而过,说明command的写法有问题。最常见的是start后面的空引号漏了,或者 URL 里的&没有正确转义。在.reg文件里,&不需要额外转义,但如果你是在命令行里用reg add添加,&会被cmd解释成命令分隔符,那就得写成^&。
第三个动作,检查图标。菜单项左边应该显示一个图标。如果显示的是默认空白图标,说明Icon路径不对,或者.ico文件不存在。用shell32.dll这种系统文件一般不会出问题,但要注意索引号,不同 Windows 版本里shell32.dll的图标索引可能略有差异,13 号在大多数版本里是一个类似「窗口」的图标。
验证通过之后,你可以再补一个「打开接入文档」的菜单项,结构完全一样,只是键名和 URL 不同:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\TaoTokenDoc] @="打开 TaoToken 接入文档" "Icon"="\"C:\\Windows\\System32\\shell32.dll,23\"" [HKEY_CLASSES_ROOT\Directory\Background\shell\TaoTokenDoc\command] @="cmd /c start \"\" \"https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=right_click_menu&utm_campaign=rewrite\""两个菜单项会按字母顺序排列,TaoTokenConsole在TaoTokenDoc前面。如果你想让某个项排前面,可以在键下加一个"Position"="Top"字符串值。
5. 本篇常见错排查
改注册表这件事,出错的地方往往很集中。下面这几个是我自己踩过或者见别人踩过的坑。
菜单项不显示。先确认导入的.reg是不是真的写进去了。打开regedit,导航到HKEY_CLASSES_ROOT\Directory\Background\shell,看下面有没有你建的键。如果没有,可能是导入时被 UAC 拦了,或者.reg文件编码不对。.reg文件必须是 UTF-16 LE 或者带 BOM 的 UTF-8,用记事本另存为时选「UTF-16 LE」最稳。
点击没反应。把command的默认值复制出来,直接在cmd里跑一遍。如果命令行本身能打开浏览器,那就是注册表读取的问题;如果命令行本身就报错,那就是命令写法的问题。注意cmd /c start "" "URL"里,start是cmd的内置命令,不是独立程序,所以必须通过cmd /c调用。
图标不显示或者显示成别的。Icon的值如果指向.ico文件,路径里如果有空格,整个值要用引号包起来,并且引号在.reg里要写成\"。如果指向dll或exe,格式是"路径,索引号",索引号从 0 开始。索引号写错就会显示成别的图标,不会报错,所以只能靠试。
导入后想改菜单文字。直接改TaoTokenConsole键的默认值就行,不用删了重建。改完刷新资源管理器,或者重启explorer.exe。重启explorer.exe的方法是任务管理器里找到「Windows 资源管理器」,右键重新启动。
想回滚。最干净的做法是删掉整个菜单项键。在regedit里右键TaoTokenConsole键,删除,确认。或者用命令行:
Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\Directory\Background\shell\TaoTokenConsole]注意键名前面那个减号,它表示删除。把这段存成.reg导入,对应的键和它下面的所有子键都会被删掉。如果你加了多个菜单项,每个都要单独写一行删除。
还有一个容易忽略的点:如果你把菜单挂在了HKEY_CLASSES_ROOT\*\shell下面,那所有文件的右键菜单都会多一项,包括你不希望它出现的场景。这种全局挂载要谨慎,测试阶段建议先挂在Directory\Background上,影响面小,验证起来也方便。
6. 把入口用起来:从右键到实际调用
右键菜单配好之后,它本身只是个跳转入口。真正让它有价值的是后面接的那套流程:点开控制台,创建或复制 Key,然后去模型对话页面试一次调用,或者把 Key 填进你的编码工具里走 Coding Plan。TaoToken 的 API 基址是 https://taotoken.net/api ,接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=right_click_menu&utm_campaign=rewrite ,里面有针对不同客户端的配置示例。
如果你主要用命令行工具或者编辑器插件,建议把 Key 配到环境变量里,而不是每次手动填。Windows 下可以用setx TAOTOKEN_API_KEY "你的Key"写进用户环境变量,新开的终端就能读到。这样右键打开控制台查完 Key 之后,回到终端直接就能用,不用来回复制粘贴。
注册表这套东西,改一次能用很久,但改之前最好先导出备份。在regedit里选中你要改的父键,右键导出,存成一个.reg文件放好。万一改乱了,双击备份文件就能还原。这个习惯比记住所有回滚命令都管用。