内容
align="center">
<img src="assets/brand/fluxion-logo.svg" width="132" alt="Fluxion logo">
</p>
<h1 align="center">Fluxion 总线</h1>
[English](README.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md)
https://github.com/user-attachments/assets/7ff8be4e6-9-9ceb425fafba3具有分段数据的实时记录。_
总线是 FluxOS 应用和本地代理网关背后的开源**Fluxion** 让您的主要 AI 代理可以将委托给 **Codex**Claude Code** 和 **Antigravity**,通过一个本地 MCP在当前代理中停留,而 Fluxion 将工作路由到另一个提供商,保留会话,报告结果,并记录文件更改以供审查或恢复ion 还会读取提供商报告的配额检测并在提供时通知您,并在重置后自动进行最小的代理调用,以立即启动下一个滚动窗口。
配额和使用数据不仅限于通过 Fluxion 委托的任务。Fluxion 直接从提供商 API、本地代理服务或本地代理历史记录中读取它们;它不会根据 Fluxion 任务记录计算提供商配额。
本地优先,单租户,自托管。无需 Fluxion 账户或 SaaS 依赖暴露为 `127.0.0.1`。
## 为什么选择
### 跨委托,无需离开您的主要代理
```text
┌────────────────────────────────────────────┐
│ 主要代理 │
│ Codex / Claude Code / Antigravity ─────────────────────┬──────────────────────┘
│委托范围子任务
▼
──┐
│ Fluxion MCP │ 路由监督│
┬──────── │
────┼────────────┐
▼ ▼ ▼
Codex Claude Code Antigravity
│ │ │
└────────────┼────────────┘
▼
状态 / 结果 / 更改的文件 / 回滚
▼
主要代理
```
- 将每个子任务路由到不同的提供商。
- 在重复调用期间继续执行器原生会话。
- 选择只读调查或显式授权编辑。
- 检查异步状态、日志、工件和更改的文件。
- 在审查后回滚可恢复的文本文件更改。
### 将配额重置变成可用窗口
```text
Claude 配额 Codex 配额igravity 配额 └───────────────┬┘
▼
┌──────────────── │ Fluxion 配额 │
│ 监控 + 调度 │
└────────┬────────┘
│
┌────────────┼──────────────┐
▼ ▼
macOS 应用 检测到重置
│
自动 Ping + 通知
Slack/Telegram/WeChat/LINE/QQ/Feishu
```
- 查看跨提供商的剩余配额和重置倒计时。
- 监控提供商/账户配额,包括在 Fluxion 之外使用的配额。
- 在 macOS 或 Linux 上使用基于 Web 的控制台。
- 在 macOS 上使用菜单栏配额、服务控件和设置。
- 检测提供商侧的配额重置。
- 在检测到重置后自动进行最小的代理调用,以启动下一个滚动窗口。
- 通过 Slack、WeChat、LINE、QQ 或 Feishu 发送配额重置通知。
### 远程控制本地代理
在远离计算机时,从 Slack、Telegram、WeChat、LINE、QQ 或 Feishu 发送任务。Fluxion 将消息路由到本地 Codex、Claude Code 或 Antigravity 执行器,然后在同一对话中返回进度更新和最终结果。
```text
电话 / 远程Slack/WeChat/LINE/QQ/Feishu
│
▼
Fluxion 消息网关
│
▼
Codex / Claude / Antigravity
│
▼
进度更新 + 最终结果
```
远程其执行器会话,因此后续消息可以继续相同的任务上下文。用户还可以通过渠道控制命令检查最近的任务、检查网关状态、重置对话或取消排队/运行中的任务。
WeChat 使用 iLink 二维码登录。绑定帐户一次,启用渠道,然后启动与其他消息渠道相同的消息网关。
## 平台支持
| 功能 | macOS | Linux | Windows |
| --- | --- | --- | --- |
| MCP 跨委托 | 支持 | 预期,未验证 | 未验证 |
| Web 配额控制台 | 支持 | 验证 | 未验证 调度器自动 ping 和通知 | 支持预期,未验证 | 未验证 |
| 原生 macOS macOS | 不可用可用 |
基于Linux 支持非原生功能,预计但未手动验证。
菜单栏应用在 12 或更高版本上运行;其“登录时启动”切换开关需要 macOS 13+,在 macOS 12 上禁用。
提供商配额探测依赖于兼容的本地凭证或服务。例如,Antigravity 的实时配额需要其本地 sidecar 运行。显示的配额来自这些提供商或代理源,而不是来自 Fluxion 任务记录的计数器。
## 安装和验证
要求:
- 至少一个已安装并经过身份验证的执行器 CLI:`codex`、`claude` 或 `agy`
- Codex:独立的 CLI 或 Codex 桌面应用 — 其捆绑的 CLI 在 macOS 上自动检测,其登录满足身份验证。
- Python 3.12+(推荐 Python 3.13)用于 CLI/后端安装。macOS 桌面应用可以通过 Homebrew 在需要时安装 `python@3.13`。
- 仅当在本地重建 Web 控制台前端时需要 Node 18+。
### macOS 桌面应用(推荐)
桌面应用在 Apple Silicon(M 系列)Mac 上运行。Intel 用户应从源代码构建或 CLI 安装。
的方法是使用 [](https://):
```bash
brew install --cask superposed-labs/tap/fluxion
```
Cask 会为您清除标志,因此无需 Gatekeeper 步骤 — 直接启动稍后使用 `brew upgrade --cask` 更新。
Homebrew?** 从版本](https://github.com/superposed-labs/fluxion-bus/releases/latest)(针对 `SHA256SUMS` 验证)下载 `Fluxion.app` DMG,并将其拖Applications`。应用未签名且未 notarized,因此 Gatekeeper 阻止了第一次启动:系统设置 → 隐私和安全** 并点击 **仍然打开**,或运行以下命令自行清除 quarantine:
```bash
xattr -dr com.apple.quarantine /Applications/Fluxion.app
```
在第一次启动时,Fluxion 使用 `~/.local/share/fluxion` 作为托管后端路径,并提供 **安装/修复**。然后,应用内捆绑快照和依赖轮安装后端,创建 `.venv`,初始化 `.env`,并启动本地服务 — 无需 git访问、Xcode 命令行工具或本地 Node 如果 Python 3.12+ 不可用且已安装 Homebrew,安装程序使用 Home `python@3.13`; Homebrew,应用会指向 python.org 安装设置开始前进行安装。诸如 ``、`claude` 或 `agy`执行器 CLI 仍需要单独安装和。
### 让您的代理配置 CLI
对于 CLI-first 使用、 注册或非桌面安装,您已经使用的代理可以运行后端安装程序直:先决条件、安装程序、M您的客户端注册,以及验证步骤并报告结果。将以下内容粘贴到 Claude Code、Codex 或 Antigravity 中的项目目录中:
```text
阅读 https://raw.githubusercontent.com/superposed-labs/fluxion-bus/main/docs/agent-install.md
安装和配置此机器上的 Fluxion。 将当前目录用作第一个授权工作区,
在您的客户端上注册 MCP 服务器,然后运行验证步骤并报告结果。
```
代理遵循 [docs/agent-install.md](docs/agent-install.md),它包装了下面使用的相同安装程序。它以每个组件的状态报告完成,涵盖后端 CLI、MCP 注册和 Web 控制台静态资产。macOS 桌面应用通过 Release DMG 单独分发。
### 手动安装
为当前用户安装或更新 Fluxion:
```bash
curl -fsSL https://raw.githubusercontent.com/superposed-labs/fluxion-bus/main/scripts/install.sh \
| bash -- --no```
安装程序~/./fluxion`,将命令链接到 `~/.local/bin`,并安装 CLI、网关和 MCP 命令。预构建的 macOS 应用通过 Release DMG 分发;使用源安装程序进行后端/CLI 设置和开发工作流。再次运行相同的命令以更新,同时保留 `.env` 和 `data/`。
默认情况下,运行安装命令的目录成为第一个授权工作区。根据需要覆盖它:
```bash
curl -fsSL https://raw.githubusercontent.com/superposed-labs/fluxion-bus/main/scripts/install.sh \
| FLUXION_WORKSPACE=/absolute/path/to/project bash -s -- --no-desktop
```
卸载同时保留配置和数据到时间戳备份:
```bash
~/.local/share/fluxion/scripts/uninstall.sh
```
仅当还应删除配置和运行时数据时才使用 `--purge`。
### 开发安装
用于 Fluxion 开发的源代码检出:
```bash
git clone git@github.com:superposed-labs/fluxion-bus.git
cd fluxion-bus
python3 -m venv .venv
source .venvactivate
pip install -e .
# 检测执行器并使用真实路径创建最小的 .env。
fluxion init
# 检查配置、执行器可用性和工作区授权。
fluxion doctor
# 使用只读任务验证本地执行路径。
fluxion run "Summarize this project and to run its tests."
```
显式允许编辑:
```bash
fluxion run --write "Fix the failing tests."
```
为另一个工作区初始化 Fluxion:
```bash
fluxion init --workspace /absolute/path/to/project
fluxion doctor --workspace /absolute/path/to/project
fluxion run --workspace /absolute/path/to/project "Inspect this project."
```
`fluxion init` 创建一个故意很小的 `.env`;[`.env.example`](.env.example) 镜像该最小形状以进行手动设置。对于高级手动配置,请参阅 [`.env.advanced.example`](.env.advanced.example)、[配置](docs/configuration.md) 和 [`scripts/install.sh`](scripts/install.sh)。
## MCP 委托快速入门
在您已经工作的客户端上注册 `fluxion-mcp`。Claude Code、Codex 和 Antigravity 的客户端特定示例在 [MCP 参考](docs/mcp.md#client-setup) 中。
Claude Code 注册示例:
```bash
claude mcp add -s user \
-e FLUXION_ENV_FILE=<fluxion-repo>/.env \
-e FLUXION_WORKSPACE_ROOT=<fluxion-repo> \
-e FLUXION_DATA_DIR=<fluxion-repo>/data \
fluxion -- <fluxion-repo>/.venv/bin/fluxion-mcp
```
主要代理可以委托一个聚焦的子任务:
```json
{
"agent": "claude",
"project": "web",
"profile": "inspect",
"mode": "read-only",
"prompt": "Investigate why the login form is submitting twice."
}
```
Fluxion 返回一个 `run_id`。主要代理可以通过相同的 MCP 服务器检查状态、获取结果、取消运行、查看更改的文件或回滚审查后的工作区写入运行。
对于多项目使用,配置项目密钥与 `FLUXION_PROJECTS_FILE`;参见 [项目注册表](docs/configuration.md#project-registry)。
## 配额监控快速入门
### Web 控制台
如果您安装了预构建的应用或使用了安装程序,则控制台已就绪。直接启动:
```bash
fluxion-web # http://127.0.0.1:8765
```
*(如果从 Git 克隆或重建静态资产:`cd web && npm install && npm run build && cd ..` 在运行命令之前)。*
### macOS 菜单栏应用
如果您下载了预构建的 `Fluxion.dmg`,请将其拖入 `/Applications` 并打开它。
如果从本地源代码检出构建菜单栏应用(这会为您的机器架构编译原生代码,无论是 Apple Silicon 还是 Intel):
```bash
./desktop/build.sh
open desktop/Fluxion.app
```
菜单栏应用可以配置和启动配额监控、自动 ping、重置通知和伴侣服务。实际的后台自动 ping 和通知工作由 `fluxion-scheduler` 执行,它也可以在 Linux 上无需菜单栏应用而运行。
应用可以保留在仓库中或复制到 `/Applications`。当在仓库外启动时,它会要求用户选择 Fluxion 源代码检出并将该路径存储在 `~/Library/Application Support/Fluxion/` 下。
```bash
fluxion-scheduler
```
参见 [配额监控](docs/quota-monitoring.md) 和 [调度器](docs/scheduler.md),了解提供商来源、配置和始终在线的部署。
## 消息渠道
`fluxion-gateway` 接受来自 Slack、Telegram、WeChat、LINE、QQ 和 Feishu 的远程任务,并通过与 MCP 和本地 CLI 相同的路由器提交它们。然后,它在同一对话中用执行状态和最终结果回复。
```bash
fluxion-gateway
```
参见 [配置](docs/configuration.md#messaging-channel-configuration) 以获取渠道和工作区设置。
## 文档
- [架构](docs/architecture.md) — 完整系统图、接口、共享状态和项目布局
- [代理辅助安装](docs/agent-install.md) — 为 AI 代理执行而编写的逐步安装说明
- [MCP 参考](docs/mcp.md) — 客户端设置、工具、状态状态、取消和安全回滚流程
- [配额监控](docs/quota-monitoring.md) — 提供商来源、Web 控制台、macOS 应用、隐私和通知
- [macOS 应用](desktop/README.md) — 发布打包、托管后端、`/Applications` 安装和开发覆盖
- [用法统计](docs/usage-statistics.md) — 代理历史记录覆盖、独立于 Fluxion 委托、成本估算和快速模式限制
- [调度器](docs/scheduler.md) — 自动 ping、配额重置触发器、cron 规则和部署
- [配置](docs/configuration.md) — 执行器、授权、渠道、Web UI 和环境变量
- [部署](deploy/README.md) — launchd 和 systemd 服务模板
## 许可证
[Apache License 2.0](LICENSE) — 另见 [NOTICE](NOTICE)。