扩展
概览
tdl 扩展是与 tdl 核心无缝集成的独立工具。它们提供了一种扩展 tdl 核心的方法,但不需要将每个新功能添加到核心代码中。
tdl 扩展具有以下特点:
- 它们可以添加和删除,而不会影响 tdl 核心。
- 它们与 tdl 集成,并会显示在 tdl 命令和其他地方。
tdl 扩展位于 ~/.tdl/extensions,由 tdl extension 子命令控制。
使用以下命令快速体验 tdl 扩展:
tdl extension install iyear/tdl-whoamitdl whoami你可以看到 tdl-whoami 扩展的输出。详情请参阅 tdl-whoami。
You are XXXXX. ID: XXXXXXXX查找扩展
你可以通过浏览带有 tdl-extension 主题的代码库来查找扩展。
安装扩展
要安装扩展,请使用 extension install 子命令。
扩展有两种类型:
GitHub: 托管在 GitHub 代码库上的扩展。bashtdl extension install <owner>/<repo>要从私有代码库安装扩展,必须设置
GITHUB_TOKEN环境变量为 GitHub 个人访问令牌(具有Contents读取权限)。bashexport GITHUB_TOKEN=YOUR_TOKEN tdl extension install <owner>/<private-repo>Local: 存储在本地计算机上的扩展。bashtdl extension install /path/to/extension
强制安装已经存在的扩展,请使用 --force 选项:
tdl extension install --force EXTENSION一次安装多个扩展,请使用以下命令:
tdl extension install <owner>/<repo1> /path/to/extension2 ...仅打印信息而不实际安装扩展,请使用 --dry-run 选项:
tdl extension install --dry-run EXTENSION如果你已经安装了同名的扩展,安装将失败。例如,如果你已经安装了 foo/tdl-whoami,则必须在安装 bar/tdl-whoami 之前卸载它。
运行扩展
安装扩展后,可以像运行本地 tdl 命令一样运行扩展,使用 tdl EXTENSION-NAME。EXTENSION-NAME 是包含扩展的代码库的名称,去掉 tdl- 前缀。
例如,如果你从 iyear/tdl-whoami 代码库安装了扩展,可以使用以下命令运行扩展。
tdl whoami运行扩展时,全局配置仍然可用。例如,以下命令在运行 tdl-whoami 扩展时指定命名空间和代理。
tdl -n foo --proxy socks5://localhost:1080 whoami扩展自身的选项也可以使用。例如,以下命令在运行 tdl-whoami 扩展时启用详细模式。
INFO
请记住在扩展子命令之前写全局选项,在扩展子命令之后写扩展选项:
tdl <全局选项> <扩展名> <扩展选项>tdl -n foo whoami -v通常可以在包含扩展的代码库的 README 中找到有关如何使用扩展的具体信息。
查看已安装的扩展
要查看所有已安装的扩展,请使用 extension list 子命令。此命令将列出所有已安装的扩展及其作者和版本。
tdl extension list更新扩展
要更新扩展,请使用 extension upgrade 子命令。将 EXTENSION 参数替换为扩展的名称。
tdl extension upgrade EXTENSION1 EXTENSION2 ...更新所有已安装的扩展,请设置 EXTENSION 参数为空。
tdl extension upgrade从 GitHub 私有代码库升级扩展,必须设置 GITHUB_TOKEN 环境变量为 GitHub 个人访问令牌(具有 Contents 读取权限)。
export GITHUB_TOKEN=YOUR_TOKEN
tdl extension upgrade EXTENSION仅打印信息而不实际升级扩展,请使用 --dry-run 选项:
tdl extension upgrade --dry-run EXTENSION卸载扩展
要卸载扩展,请使用 extension remove 子命令。将 EXTENSION 参数替换为扩展的名称。
tdl extension remove EXTENSION1 EXTENSION2 ...仅打印信息而不实际卸载扩展,请使用 --dry-run 选项:
tdl extension remove --dry-run EXTENSION开发扩展
请参阅 tdl-extension-template 代码库,了解如何为 tdl 创建、构建和发布扩展。
