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
6 changes: 3 additions & 3 deletions MiniApp/Demo/git-graph/source/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,8 @@ body {
color: #fff;
border-color: rgba(88,166,255,.4);
}
.btn--primary:hover { background: #2d72c7; }
.btn--primary:active { background: #2563b5; }
.btn--primary:hover { background: var(--accent); }
.btn--primary:active { background: var(--accent-dim); }
.btn--secondary {
background: var(--bg-active);
color: var(--text);
Expand Down Expand Up @@ -229,7 +229,7 @@ body {
.main { display: flex; flex: 1; min-height: 0; min-width: 0; }

/* ── Graph area (commit list) ────── */
.graph-area { flex: 1; min-width: 0; display: flex; flex-direction: column; min-height: 0; }
.graph-area { flex: 1; min-width: 0; display: flex; flex-direction: column; min-height: 0; background: var(--bg); }
.graph-area__scroll {
flex: 1;
min-width: 0;
Expand Down
6 changes: 3 additions & 3 deletions MiniApp/Demo/git-graph/source/styles/layout.css
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@
color: #fff;
border-color: rgba(88,166,255,.4);
}
.btn--primary:hover { background: #2d72c7; }
.btn--primary:active { background: #2563b5; }
.btn--primary:hover { background: var(--accent); }
.btn--primary:active { background: var(--accent-dim); }
.btn--secondary {
background: var(--bg-active);
color: var(--text);
Expand Down Expand Up @@ -182,7 +182,7 @@
.main { display: flex; flex: 1; min-height: 0; min-width: 0; }

/* ── Graph area (commit list) ────── */
.graph-area { flex: 1; min-width: 0; display: flex; flex-direction: column; min-height: 0; }
.graph-area { flex: 1; min-width: 0; display: flex; flex-direction: column; min-height: 0; background: var(--bg); }
.graph-area__scroll {
flex: 1;
min-width: 0;
Expand Down
154 changes: 46 additions & 108 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,177 +1,115 @@
[中文](README.zh-CN.md) | **English**

<div align="center">
[GitHub release](https://github.com/GCWing/BitFun/releases)
[Website](https://openbitfun.com/)
[License: MIT](https://github.com/GCWing/BitFun/blob/main/LICENSE)
[Platform](https://github.com/GCWing/BitFun)

![BitFun](./png/BitFun_title.png)

**AI assistant with personality and memory**

Hand over the work, keep the life
---

AI Agent workspace for coding and knowledge work
## Introduction

</div>
<div align="center">
BitFun is an Agentic OS—and a companion right beside you.

[![GitHub release](https://img.shields.io/github/v/release/GCWing/BitFun?style=flat-square&color=blue)](https://github.com/GCWing/BitFun/releases)
[![Website](https://img.shields.io/badge/Website-openbitfun.com-6f42c1?style=flat-square)](https://openbitfun.com/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow?style=flat-square)](https://github.com/GCWing/BitFun/blob/main/LICENSE)
[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-blue?style=flat-square)](https://github.com/GCWing/BitFun)
It will interact through phones, watches, desktop robots, and more. It is part of your everyday life, and it evolves with you.

</div>
![first_screen_screenshot](./png/first_screen_screenshot.png)

---
## Introduction

In the age of AI, true human-machine collaboration is not just a ChatBox, but a partner that understands you, works with you, keeps evolving, and gets things done anytime, anywhere. That is where BitFun begins.

BitFun is a next-generation AI assistant with built-in **Code Agent** and **Cowork Agent**. It has memory, personality, and the ability to evolve over time. You can remotely control the desktop through mobile QR pairing or Telegram / Feishu bots, send instructions, and watch each execution step in real time while the Agent keeps working in the background.
## Remote Control

Built with **Rust + TypeScript** for an ultra-lightweight, fluid, cross-platform experience.
Pair by scanning a QR code, and your phone instantly becomes a remote command center for the desktop Agent. Send one message, and the AI on the desktop starts working right away.

![BitFun](./png/first_screen_screenshot.png)
Besides the mobile browser scan, BitFun also supports Telegram / Feishu bots / WeChat bots for remote commands, with real-time visibility into Agent progress.

---

## Dual Modes

BitFun provides two modes for different kinds of work:
BitFun offers two modes for different scenarios:

- **Assistant Mode**: warmer, preference-aware, and backed by long-term memory. Best for ongoing collaboration, such as maintaining a project or preserving your writing and design style.
- **Professional Mode**: token-efficient, execution-first, and context-clean. Best for short, focused tasks like fixing a bug or updating a small feature.
- **Assistant Mode**: warm, remembers your preferences, with long-term memory. Best for ongoing collaborationmaintaining a project, continuing your aesthetic and working habits.
- **Professional Mode**: saves tokens, execution-first, clean context. Best for immediate tasksfixing a bug, tweaking a style.

---

## Remote Control

With QR pairing, your phone instantly becomes a remote command center for the desktop Agent. Send one message and the desktop AI starts working right away.

The desktop generates a QR code, and the mobile browser opens the remote interface after scanning it, with no app installation required.

Besides mobile QR pairing, BitFun also supports Telegram / Feishu bots for remote instructions and real-time progress tracking.
## Agent System

| Feature | Description |
|---|---|
| **QR Pairing** | Scan a QR code generated by the desktop, complete key exchange, and bind a long-lived connection |
| **Full Control** | View sessions, switch modes, send instructions, and control the desktop workflow remotely |
| **Real-time Streaming** | Every Agent step and tool call can be viewed live on your phone |

## Agent System
| Agent | Role | Core Capabilities |
| ---------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Personal Assistant** | Your dedicated AI companion | Long-term memory and personality; orchestrates Code / Cowork / custom Agents on demand, and can iterate and grow |
| **Code Agent** | Coding agent | Four modes: Agentic (autonomous read / edit / run / verify) / Plan (plan first, then execute) / Debug (instrument → gather evidence → root cause) / Review (repo-standard review) |
| **Cowork Agent** | Knowledge-work agent | Built-in PDF / DOCX / XLSX / PPTX; fetch and extend capability packs from the Skill marketplace as needed |
| **Custom Agent** | Domain specialist | Quickly define a domain-specific Agent with Markdown |

| Agent | Role | Core Capabilities |
|---|---|---|
| **Personal Assistant** (Beta) | Your dedicated AI companion | Long-term memory and personality settings; can orchestrate Code / Cowork / custom Agents on demand, and continuously evolve |
| **Code Agent** | Coding assistant | Four modes: Agentic (autonomous read / edit / run / verify) / Plan (plan first, then execute) / Debug (instrumentation to root cause) / Review (repository-aware code review) |
| **Cowork Agent** | Knowledge work assistant | Built-in PDF / DOCX / XLSX / PPTX handling, and can fetch and extend suitable capability packages from the Skill marketplace |
| **Custom Agent** | Domain specialist | Quickly define a domain-specific Agent with Markdown |

---

## Ecosystem

> It keeps growing.

Mini Apps emerge from conversations, Skills evolve in the community, and Agents improve through collaboration.
> It grows on its own.

| Layer | Description |
|---|---|
| **Mini Apps** | Generate runnable interfaces from a prompt and package them into desktop apps with one click |
| **Skill Marketplace** | Install community capability packs so Agents can learn new skills quickly |
| **MCP Protocol** | Connect external tools and resources to extend Agent capabilities beyond the local system |
| **Custom Agents** | Define roles, memory, and capability boundaries with Markdown |
| **ACP Protocol (WIP)** | A structured multi-Agent communication standard for interoperating with mainstream AI tools |
Supports Skills, MCP (including MCP App), and custom Agents; also on-demand Mini Apps (from one line of requirements to a runnable UI, with one-click packaging into a desktop app).

---

## Platform Support

The project is built with Rust + TypeScript for cross-platform reuse, keeping your Agent available wherever you work.

| Form Factor | Supported Platforms | Status |
|---|---|---|
| **Desktop** | Windows, macOS, Linux | ✅ Supported (Tauri) |
| **Remote Control** | Mobile browser, Telegram, Feishu | ✅ Supported |
Built with Tauri for Windows, macOS, and Linux; mobile control works through the phone browser, Telegram, Feishu, WeChat, and more.

---

## Quick Start

### Download and Use
### Download and use

Download the latest desktop installer from [Releases](https://github.com/GCWing/BitFun/releases). After installation, configure your model and start using BitFun.

> CLI, Server, and native mobile apps are still in planning or development. Desktop and remote control are already supported.

### Build from Source
### Build from source

Make sure you have the following prerequisites installed:
**Prerequisites:**

- Node.js (LTS recommended)
- pnpm
- Rust toolchain (install via [rustup](https://rustup.rs/))
- [Tauri prerequisites](https://v2.tauri.app/start/prerequisites/) for desktop development
- [Node.js](https://nodejs.org/) (LTS recommended)
- [pnpm](https://pnpm.io/)
- [Rust toolchain](https://rustup.rs/)
- [Tauri prerequisites](https://v2.tauri.app/start/prerequisites/) (required for desktop development)

**Windows only**: The desktop build links against a **prebuilt** OpenSSL (no OpenSSL source compile). You do **not** need to download the ZIP by hand: the first time OpenSSL is required, tooling fetches [FireDaemon OpenSSL 3.5.5](https://download.firedaemon.com/FireDaemon-OpenSSL/openssl-3.5.5.zip) into **`.bitfun/cache/`** and later runs reuse that cache. **`pnpm run desktop:dev`** and all **`pnpm run desktop:build*`** scripts run `ensure-openssl-windows.mjs` (builds use `desktop-tauri-build.mjs`). **If you compile with plain `cargo`** (without those pnpm entrypoints), run **`node scripts/ensure-openssl-windows.mjs`** once from the repo root first — it performs the same download and prints **`OPENSSL_*`** lines for PowerShell. Override with `OPENSSL_DIR` pointing at the **`x64`** folder from the ZIP, or `BITFUN_SKIP_OPENSSL_BOOTSTRAP=1` and your own `OPENSSL_*`.
**Commands:**

```bash
# Install dependencies
pnpm install

# Run desktop app in development mode
# Run desktop in development mode
pnpm run desktop:dev

# Build desktop app
# Build desktop
pnpm run desktop:build
```

For more details, see the [Chinese Contributing Guide](./CONTRIBUTING_CN.md).

### Linux Build

#### Prerequisites

Install system dependencies:

```bash
# Debian/Ubuntu
sudo apt install libwebkit2gtk-4.1-dev build-essential libgtk-3-dev \
libayatana-appindicator3-dev librsvg2-dev patchelf
```

See [docs/linux-setup.md](docs/linux-setup.md) for other distributions (Arch, Fedora, etc.).

#### Build

```bash
pnpm install
pnpm run desktop:build:linux
```

Output will be in `src/apps/desktop/target/release/bundle/` (`.deb`, `.rpm`, `.AppImage`).
For more details, see the [Contributing guide](./CONTRIBUTING_CN.md).

---

## Contributing

We welcome great ideas and code contributions. We are maximally accepting of AI-generated code. Please submit PRs to the `dev` branch first; we will periodically review and sync to the main branch.
We welcome great ideas and code; we are maximally open to AI-generated code. Please submit PRs to the `dev` branch first; we review periodically and sync to the main branch.

**Contribution directions we care about most:**

Key contribution areas we focus on:
1. Contributing good ideas and creativity in features, interaction, and visual design via Issues
2. Optimizing the Agent system and overall quality
3. Improving system stability and foundational capabilities
4. Expanding the ecosystem, including Skills, MCP, LSP plugins, and support for vertical development scenarios
1. Good ideas / creativity (features, interaction, visuals, etc.)—via Issues
2. Improving the Agent system and outcomes
3. Improving stability and foundational capabilities
4. Growing the ecosystem (Skills, MCP, LSP plugins, or better support for certain vertical development scenarios)

---

## Disclaimer

1. This project is built in spare time for exploring and researching next-generation human-machine collaboration, not for commercial profit.
2. 97%+ of this project was built with Vibe Coding. Feedback on code issues is also welcome, and refactoring or optimization through AI is encouraged.
3. This project depends on and references many open-source projects. Thanks to all open-source authors. **If your rights are affected, please contact us for rectification.**
1. This project is spare-time exploration and research into next-generation humanmachine collaboration, not a commercial profit-making project.
2. More than 97% was built with Vibe Coding. Code feedback is welcome; refactoring and optimization via AI is encouraged.
3. This project depends on and references many open-source projects. Thanks to all open-source authors. **If your rights are affected, please contact us for remediation.**

---
<div align="center">

The world is being rewritten, and this time, we are all holding the pen.

</div>
Loading
Loading