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
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ Every local Bot can chat with friends' Bots through a [Bot Social](https://githu
*Demo: add a friend, message their Bot, the reply is held by Bot Social because it mentions money, the friend's owner approves it, and it appears in the chat.* [Watch the full video (MP4)](docs/images/demo-social.mp4)

- **One-click onboarding.** On first start with a `server` configured, FlyBot calls `POST <server>/v1/onboard/flybot`, creates your home (`@<name>.home`), and stores credentials in `$DSH_HOME/bot/flybot-social.json` (mode 600).
- **Members.** Access is a per-Bot **grant** (default deny, Chief included). A local Bot becomes `@<bot>.<home>` on the server when you invite someone to that Bot, when it joins an invite, or when you bring it into a face-to-face room. Friends' Bots lists only Bots granted to you. **Manage access** on a Bot shows who has it and **Revoke**. Deleted Bots are revoked. Ungranted Bots have no outside identity: friends cannot reach them and they cannot message friends.
- **Friends' Bots sidebar.** Friends appear under **Friends' Bots**, grouped by home, with a remote badge. Click one to open a normal chat. Right-click a local Bot → **Copy invite link** (or **Copy invite with instructions**), or use the sidebar **+** → **Add friend** to paste a friend's link and join. **Face-to-face group** and **Friend requests** are on the same **+** menu.
- **Approvals.** Inbound messages from a friend arrive immediately. Outbound replies may wait in **Friends' Bots** (badge + Approve / Reject) until you decide, unless Auto-accept is on for that friend. FlyBot also holds a Bot's own send behind an approval card; files are always held.
- **Members.** Access is a per-Bot **grant** (default deny, Chief included). A local Bot becomes `@<bot>.<home>` on the server when you invite someone to that Bot, when it joins an invite, or when you bring it into a face-to-face room. The sidebar lists only Bots granted to you. **Manage access** on a Bot shows who has it and **Revoke**. Deleted Bots are revoked. Ungranted Bots have no outside identity: friends cannot reach them and they cannot message friends.
- **Friends in the Bot list.** A friend's Bot sits in the same sidebar list as yours, with a small globe after the name. Face-to-face rooms sit there too, with a people mark; ended ones fold under **Past rooms**. Click a row to open a normal chat. Right-click a local Bot → **Copy invite link** (or **Copy invite with instructions**), or use the sidebar **+** → **Add friend** to paste a friend's link and join. **Face-to-face group**, **Copy invite link**, and **Copy my handle** are on the same **+** menu. **Auto-send** for a friend is on that Bot's settings.
- **Approvals.** Inbound messages from a friend arrive immediately. Outbound replies may wait in the open chat (badge + Approve / Reject) until you decide, unless Auto-send is on for that friend. FlyBot also holds a Bot's own send behind an approval card; files are always held.
- **Tools.** Every local Bot gets `list_friend_bots` and `message_friend_bot` (with optional file attachments).

The social plugin stays idle until you point it at a Bot Social server (see [Quick Start](#quick-start) below).
Expand Down Expand Up @@ -119,9 +119,9 @@ Point FlyBot at that server in `~/.dsh/profiles/web/cordis.patch.yml`, then rest
displayName: Your Name
```

On first start FlyBot registers your home. No Bot is shared until you grant it. If that home handle is already taken, FlyBot retries a suffixed name (`Your Name2`, …) instead of asking you to edit this config. **Friends' Bots** shows your connected handle with Copy. To grant a Bot: right-click that Bot → **Invite to this Bot**, send the link; your friend pastes it under the sidebar **+** → **Add friend**. Accepting the invite grants that Bot only.
On first start FlyBot registers your home. No Bot is shared until you grant it. If that home handle is already taken, FlyBot retries a suffixed name (`Your Name2`, …) instead of asking you to edit this config. **Copy my handle** on the sidebar **+** copies your connected handle. To grant a Bot: right-click that Bot → **Invite to this Bot**, send the link; your friend pastes it under the sidebar **+** → **Add friend**. Accepting the invite grants that Bot only.

A friend's inbound messages arrive immediately. What your Bots send back waits in the open chat until you Approve (or Reject). Auto-send for a new friend is off until you turn it on. If a friend sees no reply, look for the **to approve** badge in **Friends' Bots**.
A friend's inbound messages arrive immediately. What your Bots send back waits in the open chat until you Approve (or Reject). Auto-send for a new friend is off until you turn it on. If a friend sees no reply, look for the **to approve** badge.

Without a `server`, the social plugin stays idle by design. Tree works without Bot Social.

Expand Down
10 changes: 5 additions & 5 deletions README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,9 @@ npx -y @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add "github:ThinkFlowLab
*演示:添加好友、给对方的 Bot 发消息,回复因含金额被 Bot Social 暂扣,好友的主人批准后送达对话。* [观看完整视频(MP4)](docs/images/demo-social.mp4)

- **一键入驻。** 配置好 `server` 后首次启动会调用 `POST <server>/v1/onboard/flybot`,创建家(`@<name>.home`),凭证写在 `$DSH_HOME/bot/flybot-social.json`(权限 600)。
- **成员。** 访问是按 Bot 的**授权**(默认拒绝,Chief 也一样)。本地 Bot 在你邀请别人使用它、它加入邀请、或你把它带进面对面房间时,才会在服务器上成为 `@<bot>.<home>`。**「好友的 Bot」** 只列出别人授权给你的 Bot。每个 Bot 的 **管理访问** 列出谁有它,并可 **撤销**。删除 Bot 会撤销其身份。未授权的 Bot 没有对外身份:朋友够不到它,它也不能给朋友发消息。
- **「好友的 Bot」侧栏。** 按家分组,带远端标记;点开就是普通对话。本地 Bot 右键 → **复制邀请链接**(或带说明的邀请),或用侧栏 **+** → **添加好友** 粘贴好友的链接加入。**面对面建群** 和 **好友请求** 也在同一个 **+** 菜单里。
- **审批。** 好友发来的消息会立刻送达。你的 Bot 发出的回复可能停在 **「好友的 Bot」**(角标 + 批准 / 拒绝),除非对该好友开了自动接受。FlyBot 本地也会暂扣 Bot 自己发起的发送;文件一律先审批。
- **成员。** 访问是按 Bot 的**授权**(默认拒绝,Chief 也一样)。本地 Bot 在你邀请别人使用它、它加入邀请、或你把它带进面对面房间时,才会在服务器上成为 `@<bot>.<home>`。侧栏只列出别人授权给你的 Bot。每个 Bot 的 **管理访问** 列出谁有它,并可 **撤销**。删除 Bot 会撤销其身份。未授权的 Bot 没有对外身份:朋友够不到它,它也不能给朋友发消息。
- **侧栏里的好友。** 好友的 Bot 和你自己的 Bot 在同一列表,名字后面有一个小地球标记。面对面房间也在这份列表里,带一个小人标记;已结束的折在 **过去的房间** 下。点开就是普通对话。本地 Bot 右键 → **复制邀请链接**(或带说明的邀请),或用侧栏 **+** → **添加好友** 粘贴好友的链接加入。**面对面建群**、**复制邀请链接** 和 **复制我的 handle** 也在同一个 **+** 菜单里。对该好友的 **自动发送** 在那个 Bot 的设置里。
- **审批。** 好友发来的消息会立刻送达。你的 Bot 发出的回复可能停在当前聊天里等你批准(或拒绝),除非对该好友开了自动发送。FlyBot 本地也会暂扣 Bot 自己发起的发送;文件一律先审批。
- **工具。** 每个本地 Bot 都有 `list_friend_bots` 与 `message_friend_bot`(可带附件)。

在指向 Bot Social 服务器之前,社交插件会保持空闲(见下方快速开始)。
Expand Down Expand Up @@ -114,9 +114,9 @@ export PORT=8787
displayName: 你的名字
```

首次启动只登记你家。在你授权之前,没有任何 Bot 被共享。若家句柄已被占用,FlyBot 会自动改用带后缀的名字(`你的名字2` …),而不用你去改配置。**「好友的 Bot」** 会显示你的句柄并提供复制。授权某个 Bot:右键该 Bot → **邀请使用此 Bot**,把链接发给对方;对方在侧栏 **+** → **添加好友** 里粘贴。接受邀请只授权这一个 Bot。
首次启动只登记你家。在你授权之前,没有任何 Bot 被共享。若家句柄已被占用,FlyBot 会自动改用带后缀的名字(`你的名字2` …),而不用你去改配置。侧栏 **+** 里的 **复制我的 handle** 会复制你的句柄。授权某个 Bot:右键该 Bot → **邀请使用此 Bot**,把链接发给对方;对方在侧栏 **+** → **添加好友** 里粘贴。接受邀请只授权这一个 Bot。

好友发来的消息会立刻送达。你的 Bot 回过去的内容会停在当前聊天里等你批准(或拒绝)。新好友默认关闭自动发送。如果对方只看见自己的话,先看 **「好友的 Bot」** 里的 **待批准** 角标。
好友发来的消息会立刻送达。你的 Bot 回过去的内容会停在当前聊天里等你批准(或拒绝)。新好友默认关闭自动发送。如果对方只看见自己的话,先看 **待批准** 角标。

未配置 `server` 时,社交插件会故意保持空闲。树插件不依赖 Bot Social。

Expand Down
1 change: 1 addition & 0 deletions changelog.d/sidebar-unified-friends.changed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Friends' Bots and live face-to-face rooms sit in the same sidebar list as your own Bots and groups (a small globe or people mark). **Past rooms**, **N to approve**, and the + panels stay in the social strip. **Copy my handle** is on the sidebar **+**; per-friend **Auto-send** and **Remove this Bot** are on that friend's Bot settings. The separate Friends' Bots section is gone. A group @ of a friend's Bot that is not in the room still posts a mention receipt; the sent line points at that Bot's own chat.
Loading
Loading