# FIRERPA 星连平台

星连平台是一个面向分布式 Android 设备与自动化任务执行的管理系统，**数据完全本地化**，覆盖**设备接入**、**设备监控**、**脚本开发**、**任务编排**、**模型配置**与**用户管理**等核心场景，适合远程设备运营、批量自动化执行和 AI/RPA 脚本，支持跨网设备互联、支持本地与远程设备的统一接入及 P2P 接入。
<br>
<br>
支持管理大规模设备节点，编写、版本化和调试自动化脚本、向设备动态下发及执行脚本、追踪任务运行状态、结果与失败原因、配置 AI 模型，支撑 Prompt/混合脚本执行、管理平台用户等。

## 主要功能


### 设备管理

Starlink 提供完整的设备管理能力，支持设备列表分页检索、排序和批量选择，支持按分组查看设备并识别在线、离线、忙碌等状态。设备接入支持直连、P2P、转发等模式，便于适配不同网络环境。平台同时提供设备品牌、型号、架构、服务版本、注册时间、心跳时间、电量等信息展示，并支持在设备详情中进行用户绑定管理。

### 实时监控

平台提供设备实时监控能力，支持设备总览、分组筛选和状态筛选，并可实时预览设备画面。设备详情页可以持续查看 CPU、内存、网络、线程、文件描述符、崩溃数等实时与历史指标，结合图表能力帮助用户持续观测设备状态变化，适合用于远程巡检和异常排查。

### 批量操作

在批量操作场景下，Starlink 支持将文件同时推送到多台设备，并提供上传进度反馈与失败重试机制；也支持从多台设备拉取文件并统一打包下载。除此之外，平台还支持批量执行 Shell 命令，并按设备查看输出结果、错误信息和退出状态，方便进行集中式运维与批量处理。

### 任务编排

平台内置任务编排与执行能力，支持在任务列表中进行分页查看、搜索、状态筛选、时间筛选与排序，并可直观看到运行中、暂停、完成等任务状态。系统同时提供任务总览统计，包括运行数、成功数、失败数、超时数与趋势数据。创建任务时可以配置脚本版本、目标分组、执行模式、优先级、超时、重试等参数，并支持循环、次数、按设备次数、截止时间、Crontab 等多种调度模式。

### 任务追踪

在任务详情中，用户可以查看任务基本信息、脚本版本、执行配置、参数来源和时间信息，也可以从设备维度追踪任务下发、成功、失败、超时和绑定状态。平台还提供执行实例明细，用于查看执行状态、耗时、异常、traceback、结果和资源信息，并支持对任务进行运行控制与版本切换。

### 脚本中心

脚本中心面向脚本开发、维护与协作场景，支持脚本列表搜索、类型筛选、时间筛选和批量删除，支持代码脚本与 Prompt/混合脚本两类内容。平台支持脚本共享给其他用户，脚本详情页集成 Monaco Editor，能够提供较完整的在线开发体验，同时支持脚本版本历史浏览与 Diff 对比，便于持续迭代和回溯变更。

### 在线调试

Starlink 提供内置在线调试能力，支持在脚本页面直接进入调试模式，并在选择目标设备与模型后发起调试运行。调试过程中支持 Step In、Step Over、Step Out、Continue、Quit 等控制操作，支持查看源码停靠位置、调用栈、局部变量和调试输出，也支持在调试控制台执行表达式。结合实时投屏能力，用户可以把脚本执行过程与设备画面联动观察。

### 模型管理

平台提供 AI 模型管理能力，支持维护模型名称、Endpoint、模型名、Key 等配置，并支持视觉模式开关。用户还可以配置视觉缩放、最大 Token、Temperature、Step Delay 等参数，使模型能够更好地适配 Prompt/混合脚本与 AI 驱动任务的执行需求。


## 安装平台

我们的服务生态完全基于 Docker，所以您的电脑或者服务器上必须已安装 Docker。为了流程顺畅的进行，我们建议您使用 Linux 系列的系统如 Ubuntu、Debian 等而非 Windows/Mac。

首先，您需要先克隆我们的配置文件，您可以执行如下命令

```bash
git clone https://github.com/firerpa/starlink.git
```

```{tip}
如未安装 Git，请下载并解压此文件：https://github.com/firerpa/starlink/archive/refs/heads/master.zip
```

完成克隆后，进入该目录，目录下包含一个隐藏文件 `.env.example`，您需要将其重命名为 `.env` 并适当里面的配置项，
配置项的修改依据您的实际需求，部分配置一旦设置后续将无法更改。

```{attention}
您需要正确的在防火墙放行 `7123` `8883` `8000` `65000` 端口（默认），如果您在配置中修改了这些端口，请放行对应端口。
```

```ini
DOMAIN=starlink.local

# 以下变量在第一次初始化后严禁修改。
API_PORT=65000
WEB_PORT=8000
FWD_PORT=7123

# 设置相关数据库的默认密码（随机设置即可）
REDIS_PASSWORD=9XdTBBn11m5ugEGUavmR4C
RABBITMQ_PASSWORD=6LVc53IVJcRpiDsY0CyLcN
POSTGRES_PASSWORD=P5FinxzLZToVzAaAIZvsIw

# 设置当前服务器所在的物理网络网段、网关以及接口名。
# 如果运行在公网，则您无需配置下列三项，并移除 starlink.yaml 中的所有 lan-macvlan 节
LOCAL_LAN_SUBNET=192.168.50.0/24
LOCAL_LAN_GATEWAY=192.168.50.1
LOCAL_LAN_INTERFACE=enp7s0
# 设置当前服务的本地 IP，取决于您的宿主机是否支持 docker lan-macvlan 模式以及您是否需要接入本地网络的设备
# 您需要在这里使用一个当前内网未使用的 IP，如不需要接入本地设备或者不支持 lan-macvlan 模式，请设置为 127.0.0.1，该项不可为空。
LOCAL_LAN_IP=192.168.50.200

# 设置当前服务器的公网IP，如果您不打算部署在公网，设置为与 LOCAL_LAN_IP 相同的值，否则请设置正确的服务器公网地址（可通过命令 curl -4 ip.sb 获得）
PUBLIC_IP=192.168.50.200

# 部署 https://github.com/firerpa/hub-bridge 来获得以下参数
# P2P 模式可以让您在内网运行的情况下接入外网设备，如果不准备使用 P2P 模式，只需要保持当前注释状态即可

#TOP_ENDPOINT=http://x.x.x.x:9000
#TOP_CLIENT_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq...QIDAQAB
#TOP_SECRET=49c98730-....-bb0c9f22a310
```

```{hint}
对于中国大陆内部署的服务，您可能无法正常从 docker hub 拉取镜像，您需要自行绕过此限制。
```

配置完成后，在当前目录执行如下命令即可。

```bash
docker compose -f starlink.yaml up --force-recreate -d
```

稍等片刻您可以在浏览器访问 `https://{LOCAL_LAN_IP}:{WEB_PORT}` 来访问后台，公网部署的情况下，请将 `LOCAL_LAN_IP` 替换为 `PUBLIC_IP`，使用默认用户名 `admin`，密码 `starlink` 来登录后台，登录后台后，请及时修改默认密码。



## 人工服务

如果这些步骤对您来说仍然颇有具复杂性，您也可以选择付费的安装服务，使用微信扫码选择需要的安装数量，我们将会依据您的需求为您提供合适的远程安装服务，让您省却一切烦恼。

<p align="center">
<img src="/assets/images/manual-service.png" alt="人工服务" width="25%">
</p>

您可以在支付订单后的**跳转页面**长按二维码添加我们的人工服务微信（或在 [技术支持](./tech-support.md) 章节添加我们的企业微信），并附带订单生成的服务凭证或订单截图，我们将竭诚为您服务。
