Skip to content
Open
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ node_modules/
dist/
coverage/
.corepack/
.build/
*.log
*.tsbuildinfo

Expand Down
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,31 @@ Platform mapping:

Daemon logs are under `~/.lark-channel/profiles/<profile>/logs/daemon/`.

### macOS floating status ball

On macOS, the bridge starts a small desktop status ball by default. It stays on top, can be dragged, saves its position, and expands on hover to show every visible profile. Multiple profiles share one ball; its color/state follows the highest-priority profile state.

Disable it for one run with:

```bash
lark-channel-bridge run --no-floating-ball
lark-channel-bridge start --no-floating-ball
```

Or disable it persistently in a profile config:

```json
{
"desktop": {
"floatingBall": {
"enabled": false
}
}
}
```

The status snapshot is local-only and limited to profile name, bot display name, agent, status, counts, update time, short app-id suffix, and low-sensitive error kind. It does not write prompts, message bodies, tool payloads, chat/thread/session IDs, secrets, or tokens. See [desktop status docs](./docs/desktop-status.md).

### Multiple profiles: Claude and Codex

By default, the bridge starts with the currently selected profile. Use `profile use <name>` to change it. Each profile keeps its own app credentials, sessions, working directories, and logs. Create multiple profiles only when you need to connect multiple PersonalAgent apps, or run Claude and Codex as separate bots:
Expand Down
25 changes: 25 additions & 0 deletions README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,31 @@ lark-channel-bridge unregister [--profile <name>]

daemon 日志在 `~/.lark-channel/profiles/<profile>/logs/daemon/`。

### macOS 桌面悬浮状态球

macOS 上默认会启动一个轻量桌面悬浮球。它置顶显示、可拖动并记住位置,鼠标 hover 时展开展示所有可见 profile;多 profile 同时运行时也只显示一个悬浮球,聚合状态取最高关注度状态。

单次关闭:

```bash
lark-channel-bridge run --no-floating-ball
lark-channel-bridge start --no-floating-ball
```

profile 配置中永久关闭:

```json
{
"desktop": {
"floatingBall": {
"enabled": false
}
}
}
```

本地状态快照只包含 profile 名称、bot 显示名、agent、状态、计数、更新时间、appId 后缀和低敏错误类型;不会写入 prompt、消息正文、工具 payload、chat/thread/session ID、secret 或 token。开发与调试细节见 [desktop status docs](./docs/desktop-status.md)。

### 多 profile:分别运行 Claude 和 Codex

默认情况下,bridge 使用当前激活的 profile;可以通过 `profile use <name>` 切换。每个 profile 会维护独立的应用凭据、会话、工作目录和日志。只有在需要同时连接多个 PersonalAgent 应用,或分别运行 Claude 和 Codex 时,才需要创建多个 profile:
Expand Down
14 changes: 14 additions & 0 deletions desktop/macos-floating-ball/Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// swift-tools-version: 5.9

import PackageDescription

let package = Package(
name: "LarkChannelFloatingBall",
platforms: [.macOS(.v13)],
products: [
.executable(name: "LarkChannelFloatingBall", targets: ["LarkChannelFloatingBall"]),
],
targets: [
.executableTarget(name: "LarkChannelFloatingBall"),
]
)
Loading