Skip to content

常见问题

浏览器兼容性

TSH 支持哪些浏览器?

TSH 需要 Chrome 86+Edge 86+。推荐使用最新版本的 Chrome 或 Edge。

Firefox 和 Safari 暂不支持,因为 TSH 依赖的 File System Access API 仅在 Chromium 内核浏览器中可用。

为什么打开后提示授权文件夹?

TSH 通过 File System Access API 操作本地文件,需要用户主动授权一个文件夹作为工作目录。这是浏览器的安全机制,TSH 无法自动获取文件访问权限。

授权后能访问其他文件夹吗?

不能。TSH 只能访问你授权的文件夹及其子目录。如需访问其他位置,重新授权即可。

文件操作

为什么 cp 复制目录报错?

复制目录必须加 -r 参数:

bash
cp -r sourcedir/ destdir/

不加 -r 会报 omitting directory 错误。

mv 移动目录需要 -r 吗?

不需要。mv 直接支持目录移动,无需额外参数:

bash
mv dir1/ dir2/

为什么大文件读取失败?

TSH 对超过 50MB 的文件做了保护限制,防止浏览器内存溢出。建议使用专业工具处理大文件。

文件保存后内容没变?

确保编辑器退出前执行了保存操作:

  • Vim: :wq 保存退出
  • Nano: Ctrl+O 保存,Ctrl+X 退出

保存后可用 cat 命令验证内容。

本地终端桥接

连接本地终端失败?

  1. 确认 PowerShell 命令中的 Token 与网页一致
  2. 确认在同一台机器上执行命令
  3. 检查端口是否被占用
  4. 浏览器会自动重试 60 秒,请耐心等待

连接后无法输入?

  • 点击终端区域确保获得焦点
  • 确认连接模态框已关闭
  • 尝试按回车键激活输入

本地终端安全吗?

安全。桥接脚本仅监听 127.0.0.1,外部网络无法访问。每次连接生成唯一随机 Token 防止 CSRF。数据仅在浏览器和本地之间传输。

插件

插件安装后重启会丢失吗?

不会。插件映射存储在 localStorage 中,页面刷新后自动恢复。但插件代码缓存在内存中,刷新后需要重新下载。

从外部 URL 安装插件报 "Failed to fetch"?

TSH 通过内置 /proxy 端点代理外部 URL,自动处理 CORS。如果仍然失败,检查:

  1. URL 是否正确可访问
  2. 目标服务器是否在线
  3. 尝试用 curl 验证 URL

如何开发自己的插件?

参考 插件 API 参考示例插件。插件是纯 JS 代码,无需打包工具。

TSH 脚本

TSH 脚本兼容本地 EXE 吗?

兼容。TSH 脚本语言设计为同时兼容 CF 版本和本地 EXE 版本。同一份 .tsh 脚本可在两个环境中运行。

脚本中如何使用变量插值?

使用 ${变量名} 语法:

bash
var name = "TSH"
echo "Hello, ${name}!"

脚本中如何执行命令并获取输出?

使用反引号命令替换:

bash
var files = `ls`
echo "Files: ${files}"

部署

Cloudflare Worker 免费额度够用吗?

够用。Cloudflare Workers 免费计划每天 100,000 次请求,对个人使用完全足够。TSH 是纯前端应用,Worker 仅负责静态文件服务。

可以部署到其他平台吗?

可以。TSH 本质上是静态文件 + 一个 Worker 脚本。你可以:

  • 用任意静态服务器托管 public/ 目录
  • node local-dev.js 本地运行
  • 部署到 Vercel、Netlify 等平台

详细方案参考 部署指南

如何更新 TSH?

bash
git pull
cd cf-worker
node build-worker.js

然后重新部署 Worker。浏览器端刷新即可获取最新版本。

基于 MIT 许可证发布