---
title: "任务示例"
description: "通过 tailnet 分享报告、预览本地 Web 应用、连接 agent 和访问原始 TCP"
url: "https://tslink.md/zh/docs/use-cases"
locale: "zh"
product_version: "0.1.1"
source: "https://github.com/anydoor7/tslink/blob/v0.1.1/docs/sharing.md"
---

> Documentation index: https://tslink.md/zh/llms.txt · Installed binary is authoritative: `tslink manifest`.

场景指南：[在手机上使用编程 agent 的 Web UI](https://tslink.md/zh/docs/agent-ui-phone.md) · [私有分享一份 HTML 报告，并设置访问截止时间](https://tslink.md/zh/docs/private-html-report.md) · [分享一个应用，而非整台机器](https://tslink.md/zh/docs/share-one-app.md)。

## 开始前

这些是可尝试的流程，不是采用情况声明。先按[安装指南](https://tslink.md/zh/docs/installation.md)安装 TSLink。接收设备需要 Tailscale，并且 tailnet 策略允许访问。首次使用可能返回 `needs_login`：先在浏览器完成授权，再用 `url --wait`。`share` 和 `add` 默认确保网关运行。

## 把 agent 生成的报告分享给手机

agent 写出真实 HTML 报告后，只分享该文件：

```bash
tslink share ./report.html --name report --json
tslink url report --wait --json
```

读取第一个结果的 `data.status`。若为 `needs_login`，把 `data.auth_url` 交给用户，完成授权后再运行第二条命令。已经就绪则读取 `data.url`。在 tailnet 策略允许的手机上打开准确的返回 HTTPS URL。单文件目标不会分享同目录其它文件；目录目标会提供其中可浏览的内容。

用完后：

```bash
tslink remove report --json
```

本地删除与远端设备清理分别报告。ephemeral tailnet 节点清理不会删除本地 registry 条目。

## 在另一台设备上预览已有 Web 应用

用应用自己的开发命令启动它，再注册监听端口：

```bash
tslink add preview --proxy localhost:3000 --allow you@example.com
tslink url preview --wait
```

把示例邮箱换成接收设备真实的 Tailscale 登录身份。后端进程继续独立运行。WhoIs 可用时，HTTP proxy 会把解析的身份头传递给后端；入站身份头先被剥离。tailnet 网络策略和应用自身授权仍适用。

## 让本地 agent 通过 MCP 管理分享

配置 MCP client 启动已安装的二进制：

```json
{"mcpServers":{"tslink":{"command":"tslink","args":["mcp"]}}}
```

用 `{"target":"/absolute/path/report.html","name":"report"}` 调用 `share`。把 `needs_login` 当作成功的人机交接，之后用 `{"name":"report","wait":"30s"}` 调用 `url`。`list` 查看准确的运行时 URL，`unshare` 清理。[MCP 参考](https://tslink.md/zh/docs/mcp-server.md)列出全部 44 个 owner 工具，精简会话看到更少和完整输入字段。

## 从另一台 tailnet 机器访问已有 MCP server

如果 MCP server 已在本地端口提供 HTTP，把它注册为普通 proxy：

```bash
tslink add mcp-backend --proxy localhost:8080 --allow you@example.com
tslink url mcp-backend --wait
```

给 tailnet 内 MCP client 配置返回的 origin 加上后端实际 MCP 路径，例如 `/mcp`。TSLink 转发 HTTP，不会把 stdio 转换为 HTTP，也不会代替 MCP/应用授权。参见 [MCP 服务器托管](https://tslink.md/zh/docs/mcp-hosting.md)。远程控制 TSLink 本身，应使用独立且默认关闭的[远程 MCP 控制面](https://tslink.md/zh/docs/mcp-server.md#%E8%BF%9C%E7%A8%8B-mcp-%E6%8E%A7%E5%88%B6%E9%9D%A2)。

## 通过原始 TCP 访问数据库

```bash
tslink add database --tcp localhost:5432
tslink url database --wait
```

数据库 client 应使用准确返回的主机与端口。TCP 转发字节，没有 HTTP 身份头或 TSLink `--allow` 检查。用 tailnet ACLs/grants 和数据库自身认证保护它。每服务节点提供网络身份，不提供进程或主机隔离。

## 诊断未就绪链接

```bash
tslink status --json
tslink doctor --json
tslink logs --source err --last 50
```

分别读取凭据存储、节点授权、监督方式与运行时证据。进程存活不能证明另一台设备可访问服务。访问与应用日志写入 stderr（`tslink.err.log`）。CLI 日志是原文；MCP `logs` 工具返回有界且脱敏的窗口，这不能作为阻止有 shell 的 agent 读取 secret 的边界。

## 人员、本地模型与自托管应用

[分享应用七天](https://tslink.md/zh/docs/people-sharing.md)、[连接已有本地模型](https://tslink.md/zh/docs/local-ai.md)，或[检查应用健康与上传限制](https://tslink.md/zh/docs/health-and-alerts.md)。用 `tslink apps list` 查看 recipe catalog；`tslink apps share jellyfin` 预览访问路径，`--yes` 应用。应用仍需自行安装与配置。
