Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,20 @@ OpenBitFun is a highly customizable, open-source agent workspace that keeps work

**Your phone is a remote controller.** Send instructions, check progress, and respond to approval requests from your phone or browser. Tasks run on the selected host and keep going when you switch views or disconnect the controller.

**The official Relay is ready to use; no server deployment is required.** Sign in on your devices with the same OpenBitFun account, using GitHub or an email verification code where supported. Same-network connections are also available. See the [connection FAQ](./src/apps/relay-server/FAQ.md) for login, internet access, and self-hosting requirements.

**On mobile, switch between layouts for one, two, or three screens.** Focus on the conversation with a single screen, then unfold your phone to view conversations and files side by side. The interface adapts as the screen layout changes.

![Switching between connected computers and remotely controlling the selected device from a phone](./png/openbitfun-multi-device.png)

<details>
<summary>Connection and deployment details</summary>

Use SSH to work on a remote host, through a jump host, or inside a container, with files, commands, and agent execution in the target environment. The desktop app and CLI share core execution capabilities; mobile clients and messaging bots offer more ways to control tasks.
Use SSH to work on a remote host, through a jump host, or inside a container. File access, terminals, and workspace commands target that environment; the Agent Runtime stays on the OpenBitFun host. The desktop app and CLI share core execution capabilities; mobile clients and messaging bots offer more ways to control tasks.

Same-account device control uses the official Relay by default. Desktop can also run a local Relay for same-network mobile control. Both paths use the online OpenBitFun identity service for sign-in; LAN mode is not an offline-login option. A private Relay requires a matching client build: see the [deployment guide](./src/apps/relay-server/README.md#for-community-developers-and-forks).

Account login, synchronization, and control between devices on the same account run through a [Relay server you deploy](./src/apps/relay-server/README.md). See [Remote Connect](./docs/interactive-capabilities/capabilities/feature.remote-connect.md) and [remote workspaces](./docs/features/remote-workspaces.md) for connection options.
Device-to-device payloads are encrypted end to end with keys generated on the devices. Sessions and files are read from the owning online device on demand; the Relay still handles account, device, and routing metadata. This does not cover traffic to model providers, messaging bots, or published Pages. See the [privacy boundaries](./src/apps/relay-server/FAQ.md#what-can-the-services-see), [Remote Connect](./docs/interactive-capabilities/capabilities/feature.remote-connect.md), and [remote workspaces](./docs/features/remote-workspaces.md).

</details>

Expand Down
8 changes: 6 additions & 2 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,20 @@ OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你

**手机就是远程控制端。** 通过手机或浏览器发送指令、查看进度、补充要求和处理授权。任务始终在所选设备上运行,切换界面或断开控制端连接后仍会继续。

**官方 Relay 开箱即用,无需部署服务器。** 在各设备上使用同一个 OpenBitFun 账号登录,可选择 GitHub 或受支持的邮箱验证码登录;也可使用同一网络连接。登录、联网与自托管条件见[连接常见问题](./src/apps/relay-server/FAQ.zh-CN.md)。

**手机端支持单屏、双屏、三屏布局自由切换。** 单屏时专注对话,展开后并排查看会话与文件;界面随屏幕形态调整,让折叠屏的空间真正用起来。

![在多台电脑间切换完整工作台,并通过手机远程控制所选设备](./png/openbitfun-multi-device.png)

<details>
<summary>连接与部署说明</summary>

工作区也可以通过 SSH 连接到远程主机、跳板机或容器,让文件、命令与 Agent 在目标环境中工作。桌面和 CLI 共享核心执行能力,移动端与消息机器人提供更多控制入口。
工作区也可以通过 SSH 连接到远程主机、跳板机或容器,让文件访问、终端与工作区命令在目标环境中执行;Agent Runtime 仍由 OpenBitFun 宿主运行。桌面和 CLI 共享核心执行能力,移动端与消息机器人提供更多控制入口。

同账号设备互控默认使用官方 Relay;桌面端也可启动本地 Relay,供同一网络内的手机连接。两种方式登录时都需要访问 OpenBitFun 在线身份服务,局域网模式不提供离线登录。私有 Relay 需要配套客户端构建,详见[部署指南](./src/apps/relay-server/README.md#for-community-developers-and-forks)。

同账号设备互控、登录与同步服务由你[自部署 Relay](./src/apps/relay-server/README.md)。更多连接方式见[远程连接](./docs/interactive-capabilities/capabilities/feature.remote-connect.md)与[远程工作区](./docs/features/remote-workspaces.md)。
设备间传输的内容采用端到端加密,密钥在设备上生成,会话与文件按需从持有它们的在线设备读取;Relay 仍处理账号、设备和路由元数据。这一加密边界不涵盖模型服务商、聊天机器人平台或已发布的 Pages。详见[隐私边界](./src/apps/relay-server/FAQ.zh-CN.md#服务能看到什么)、[远程连接](./docs/interactive-capabilities/capabilities/feature.remote-connect.md)与[远程工作区](./docs/features/remote-workspaces.md)。

</details>

Expand Down
6 changes: 6 additions & 0 deletions deploy/relay-v1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
This directory is a community self-deployment template. Example domains and
paths must be replaced with your own environment.

Normal Remote Connect use goes through the official Relay and does not require
this deployment. A private endpoint requires matching client builds; setting
these server variables alone does not redirect released clients. Follow the
[fork setup](../../src/apps/relay-server/README.md#for-community-developers-and-forks)
and read the [connection FAQ](../../src/apps/relay-server/FAQ.md) first.

The owner guide is [Relay Server](../../src/apps/relay-server/README.md).
Use this independent Compose project for `/v/1.0.2/`. Keep the `/v/1.0.1/` Compose project
(`openbitfun-relay-v1.0.1`, port `19701`, `/srv/openbitfun-relay-v1.0.1`) running with its own
Expand Down
72 changes: 39 additions & 33 deletions docs/interactive-capabilities/capabilities.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"title": "OpenBitFun Playbook",
"origin": "https://playbook.openbitfun.com",
"source": "src/shared/interactive-capabilities/catalog.json",
"digest": "6ae2eeaa19e6342f9dcf7ff33b7c0fa94547ee1c02fc1835f6f4471caab6fbb3",
"digest": "9b42d8bd570aa1f371e2ddfbb4c6d8384e97492e7987c774eef00c1f087db6dc",
"ownerDigest": "3cc6d7d869b2c90c2161494a854b5ff7eb72ea69a1a28e40ccd42065fb3382e2",
"searchAcceptance": [
{
Expand Down Expand Up @@ -25571,8 +25571,8 @@
"categoryId": "connect",
"titleZh": "Remote Connect 与多设备",
"titleEn": "Remote Connect & devices",
"summaryZh": "从手机、Bot 或另一台 OpenBitFun 设备连接当前主机,远程查看会话、回答权限并继续工作。",
"summaryEn": "Connect to this host from mobile, a bot, or another OpenBitFun device to inspect sessions, answer permissions, and continue work remotely.",
"summaryZh": "从手机、Bot 或另一台 OpenBitFun 设备远程查看会话、回答权限并继续工作。手机与同账号设备互控默认使用官方 Relay,无需部署服务器;官方与局域网模式登录时均需联网。",
"summaryEn": "Inspect sessions, answer permissions, and continue work from mobile, a bot, or another OpenBitFun device. Mobile and same-account device control use the official Relay by default, with no server deployment; both official and LAN modes need internet access for sign-in.",
"keywordsZh": [
"Remote Connect",
"远程控制",
Expand All @@ -25582,7 +25582,8 @@
"微信",
"多设备",
"Peer Device",
"GitHub"
"GitHub",
"邮箱登录"
],
"keywordsEn": [
"remote connect",
Expand All @@ -25593,28 +25594,29 @@
"WeChat",
"multi-device",
"peer device",
"GitHub"
"GitHub",
"email sign-in"
],
"highlightsZh": [
"通过局域网或官方 Relay 连接",
"官方 Relay 无需部署;桌面端可同时运行局域网 Relay",
"接入飞书、Telegram 或微信 Bot",
"使用 GitHub 身份管理设备并进入 Peer Device Mode"
"使用同一种登录方式与同一账号管理设备并进入 Peer Device Mode"
],
"highlightsEn": [
"Connect through LAN or the official Relay",
"Use the official Relay without deployment; Desktop can also run a LAN Relay concurrently",
"Use Feishu, Telegram, or WeChat bots",
"Use GitHub identity to manage devices and enter Peer Device Mode"
"Use the same login method and account to manage devices and enter Peer Device Mode"
],
"items": [
{
"id": "connection-methods",
"titleZh": "选择局域网或官方 Relay",
"titleEn": "Choose LAN or the official Relay",
"titleZh": "使用官方 Relay 或桌面内置局域网 Relay;两者可同时运行,登录均需联网",
"titleEn": "Use the official or Desktop-hosted LAN Relay; both can run together and need internet for sign-in",
"control": {
"kind": "open",
"reasonCode": "unstructuredInteraction",
"reasonZh": "“选择局域网或官方 Relay”需要结合当前网络与设备状态,确认目标主机后才能连接;智能体打开连接入口,由用户完成选择。",
"reasonEn": "“Choose LAN or the official Relay” depends on the current network and device state and requires the user to confirm the target host; the Agent opens the connection entry for that choice."
"reasonZh": "“使用官方 Relay 或桌面内置局域网 Relay;两者可同时运行,登录均需联网”需要结合当前网络与设备状态,由用户确认目标主机。官方 Relay 无需部署;私有 Relay 需配套客户端构建,界面没有自定义服务器地址或部署向导。",
"reasonEn": "“Use the official or Desktop-hosted LAN Relay; both can run together and need internet for sign-in” depends on network and device state and requires target confirmation. The official Relay needs no deployment; a private Relay requires matching client builds, with no custom-server field or deployment wizard in the UI."
}
},
{
Expand Down Expand Up @@ -25662,13 +25664,13 @@
},
{
"id": "account",
"titleZh": "使用 GitHub 登录、退出并查看身份状态",
"titleEn": "Sign in with GitHub, sign out, and inspect identity status",
"titleZh": "通过共享登录页使用 GitHub 或邮箱验证码登录、退出并查看身份状态",
"titleEn": "Sign in through the shared page with GitHub or an email code, sign out, and inspect identity status",
"control": {
"kind": "open",
"reasonCode": "externalAuth",
"reasonZh": "GitHub 账户登录必须由用户在外部认证页面确认;智能体可以打开入口并读取非秘密状态,但不能冒充账户持有人。",
"reasonEn": "GitHub account sign-in requires confirmation on an external authentication page; the Agent may open the entry and read non-secret status but cannot impersonate the account holder."
"reasonZh": "登录必须由用户在外部认证页面完成。GitHub 与邮箱是独立账号,各设备需使用同一种方式和同一账号;旧客户端或服务可能仅支持 GitHub。智能体可打开入口并读取非秘密状态,不能代替用户认证。",
"reasonEn": "The user must complete sign-in on the external authentication page. GitHub and email are independent accounts; devices need the same method and account. Older clients or services may support GitHub only. The Agent may open the entry and read non-secret status, but cannot authenticate for the user."
}
},
{
Expand All @@ -25695,14 +25697,16 @@
}
],
"stepsZh": [
"打开 Remote Connect",
"选择网络、Bot 或账户",
"按向导连接并确认安全提示"
"打开 Remote Connect,选择网络、Bot 或账户入口",
"手机或设备互控:宿主与控制端以相同方式登录同一账号,官方 Relay 无需部署",
"手机可扫描官方或桌面局域网邀请,确认目标设备;二维码不授予访问权,目标宿主须保持在线",
"Bot 远控:在对应平台完成机器人配置与配对,检查监听状态"
],
"stepsEn": [
"Open Remote Connect",
"Choose Network, Bot, or Account",
"Follow the connection flow and review its security notice"
"Open Remote Connect and choose Network, Bot, or Account",
"For mobile or device control, sign in on the host and controller with the same method and account; the official Relay needs no deployment",
"On mobile, scan an official or Desktop LAN invitation and confirm the target; the QR code grants no access and the host must stay online",
"For bot control, configure and pair the bot on its platform, then check listener status"
],
"agentExamplesZh": [
"打开 Remote Connect",
Expand Down Expand Up @@ -25904,29 +25908,31 @@
"多设备",
"Peer Device",
"GitHub",
"邮箱登录",
"remote connect",
"remote control",
"mobile",
"Feishu",
"WeChat",
"multi-device",
"peer device",
"通过局域网或官方 Relay 连接",
"email sign-in",
"官方 Relay 无需部署;桌面端可同时运行局域网 Relay",
"接入飞书、Telegram 或微信 Bot",
"使用 GitHub 身份管理设备并进入 Peer Device Mode",
"Connect through LAN or the official Relay",
"使用同一种登录方式与同一账号管理设备并进入 Peer Device Mode",
"Use the official Relay without deployment; Desktop can also run a LAN Relay concurrently",
"Use Feishu, Telegram, or WeChat bots",
"Use GitHub identity to manage devices and enter Peer Device Mode",
"选择局域网或官方 Relay",
"Choose LAN or the official Relay",
"Use the same login method and account to manage devices and enter Peer Device Mode",
"使用官方 Relay 或桌面内置局域网 Relay;两者可同时运行,登录均需联网",
"Use the official or Desktop-hosted LAN Relay; both can run together and need internet for sign-in",
"启动、停止 Remote Connect 并查看实时连接状态和设备信息",
"Start or stop Remote Connect and inspect live status and device information",
"查看局域网 IP、网络信息与可分享的连接配置",
"Inspect LAN IP, network details, and shareable connection configuration",
"配置飞书、Telegram、微信等 Bot 并单独停止 Bot",
"Configure Feishu, Telegram, WeChat, and other bots, and stop a bot independently",
"使用 GitHub 登录、退出并查看身份状态",
"Sign in with GitHub, sign out, and inspect identity status",
"通过共享登录页使用 GitHub 或邮箱验证码登录、退出并查看身份状态",
"Sign in through the shared page with GitHub or an email code, sign out, and inspect identity status",
"列出、连接、查看设备型号与系统、设置别名和删除同账户设备",
"List, connect, inspect model and OS, set aliases, and remove same-account devices",
"进入 Peer Device Mode,把另一台 OpenBitFun 设备作为命令与事件数据面",
Expand Down Expand Up @@ -26465,12 +26471,12 @@
}
],
"stepsZh": [
"使用 GitHub 登录",
"登录 OpenBitFun 账号(GitHub 或服务支持的邮箱验证码)",
"打开 Pages",
"选择页面并确认发布与可见性"
],
"stepsEn": [
"Sign in to a GitHub account",
"Sign in to OpenBitFun with GitHub or an email code supported by the service",
"Open Pages",
"Choose a page and confirm publishing and visibility"
],
Expand Down
4 changes: 2 additions & 2 deletions docs/interactive-capabilities/capabilities/feature.pages.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ Save page versions and publish them to public or private URLs while managing tit

## 怎么用 / How to use it

1. 使用 GitHub 登录
Sign in to a GitHub account
1. 登录 OpenBitFun 账号(GitHub 或服务支持的邮箱验证码)
Sign in to OpenBitFun with GitHub or an email code supported by the service
2. 打开 Pages
Open Pages
3. 选择页面并确认发布与可见性
Expand Down
Loading
Loading