常见问题
浏览器兼容性
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 参数:
cp -r sourcedir/ destdir/不加 -r 会报 omitting directory 错误。
mv 移动目录需要 -r 吗?
不需要。mv 直接支持目录移动,无需额外参数:
mv dir1/ dir2/为什么大文件读取失败?
TSH 对超过 50MB 的文件做了保护限制,防止浏览器内存溢出。建议使用专业工具处理大文件。
文件保存后内容没变?
确保编辑器退出前执行了保存操作:
- Vim:
:wq保存退出 - Nano:
Ctrl+O保存,Ctrl+X退出
保存后可用 cat 命令验证内容。
本地终端桥接
连接本地终端失败?
- 确认 PowerShell 命令中的 Token 与网页一致
- 确认在同一台机器上执行命令
- 检查端口是否被占用
- 浏览器会自动重试 60 秒,请耐心等待
连接后无法输入?
- 点击终端区域确保获得焦点
- 确认连接模态框已关闭
- 尝试按回车键激活输入
本地终端安全吗?
安全。桥接脚本仅监听 127.0.0.1,外部网络无法访问。每次连接生成唯一随机 Token 防止 CSRF。数据仅在浏览器和本地之间传输。
插件
插件安装后重启会丢失吗?
不会。插件映射存储在 localStorage 中,页面刷新后自动恢复。但插件代码缓存在内存中,刷新后需要重新下载。
从外部 URL 安装插件报 "Failed to fetch"?
TSH 通过内置 /proxy 端点代理外部 URL,自动处理 CORS。如果仍然失败,检查:
- URL 是否正确可访问
- 目标服务器是否在线
- 尝试用
curl验证 URL
如何开发自己的插件?
参考 插件 API 参考 和 示例插件。插件是纯 JS 代码,无需打包工具。
TSH 脚本
TSH 脚本兼容本地 EXE 吗?
兼容。TSH 脚本语言设计为同时兼容 CF 版本和本地 EXE 版本。同一份 .tsh 脚本可在两个环境中运行。
脚本中如何使用变量插值?
使用 ${变量名} 语法:
var name = "TSH"
echo "Hello, ${name}!"脚本中如何执行命令并获取输出?
使用反引号命令替换:
var files = `ls`
echo "Files: ${files}"部署
Cloudflare Worker 免费额度够用吗?
够用。Cloudflare Workers 免费计划每天 100,000 次请求,对个人使用完全足够。TSH 是纯前端应用,Worker 仅负责静态文件服务。
可以部署到其他平台吗?
可以。TSH 本质上是静态文件 + 一个 Worker 脚本。你可以:
- 用任意静态服务器托管
public/目录 - 用
node local-dev.js本地运行 - 部署到 Vercel、Netlify 等平台
详细方案参考 部署指南。
如何更新 TSH?
git pull
cd cf-worker
node build-worker.js然后重新部署 Worker。浏览器端刷新即可获取最新版本。