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
25 changes: 24 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,30 @@ for reviewers.

## [Unreleased]

Add user-visible changes here before running `bun run release:prepare <version>`.
### Added

- **Claude Opus 5, GPT-6 Astra, GPT-5.6, GLM-5.3, DeepSeek V4 Pro and about
300 other models are now selectable.** The bundled Pi SDK moved from 0.80.6
to 0.85.1, which brings its model catalog up to date (1057 → 1354 entries)
and adds four providers, including Baseten and the Qwen token plans. Models
appear under the connection you already have; no reconfiguration needed.

### Fixed

- **ChatGPT Plus sign-in and token refresh work again in packaged builds.**
Every request through a ChatGPT subscription could fail with
`Cannot find module './openai-codex.js'` because the SDK's OAuth flows are
loaded lazily and the packaged agent could not find them. They are now
registered up front.

### Changed

- The agent's credential layer now runs on the Pi SDK's `ModelRuntime` API.
Subscription tokens refreshed by the SDK are still mirrored back to the
desktop app, so sessions keep working past token expiry without a new
sign-in.
- Documentation no longer advertises a Claude Pro/Max subscription flow. That
option was never implemented; ChatGPT Plus is the only subscription sign-in.

## [0.11.1] - 2026-09-10

Expand Down
106 changes: 83 additions & 23 deletions bun.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Bitlab documentation (English)

Bitlab is a cross-platform, local-first AI agent workspace derived from [Craft Agents OSS](https://github.com/craft-ai-agents/craft-agents-oss) `v0.11.2`. The current runtime is Pi-only: `@earendil-works/pi-coding-agent` runs in a dedicated Bun subprocess and serves the Electron app, WebUI, CLI, and headless server through one RPC contract. Bitlab supports API-key connections, custom OpenAI/Anthropic-compatible endpoints, Ollama, and the retained ChatGPT Plus / Claude Pro/Max subscription flows. It does not include the Claude Agent SDK, GitHub Copilot, external messaging, product automations, Projects/Kanban, Sources/MCP, Viewer/public sharing, or image generation.
Bitlab is a cross-platform, local-first AI agent workspace derived from [Craft Agents OSS](https://github.com/craft-ai-agents/craft-agents-oss) `v0.11.2`. The current runtime is Pi-only: `@earendil-works/pi-coding-agent` runs in a dedicated Bun subprocess and serves the Electron app, WebUI, CLI, and headless server through one RPC contract. Bitlab supports API-key connections, custom OpenAI/Anthropic-compatible endpoints, Ollama, and the retained ChatGPT Plus subscription flow. It does not include the Claude Agent SDK, GitHub Copilot, external messaging, product automations, Projects/Kanban, Sources/MCP, Viewer/public sharing, or image generation.

This directory is the English-language user documentation. A Chinese translation lives under [`zh/`](./zh/README.md) and is kept in sync with the English source.

Expand Down
4 changes: 2 additions & 2 deletions docs/comparison-with-craft.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Both repositories are Bun monorepos with the same workspace layout (`apps/{elect
| Registered `AgentBackend`s | `pi` only | `pi`, `claude-agent-sdk`, plus optional **Copilot / gateway** subscriptions |
| Auth model | API key + custom endpoints + Ollama + **ChatGPT/Claude subscription OAuth**, all through Pi | API-key + custom + **OAuth (Anthropic, OpenAI, GitHub Copilot, Google Workspace, Slack, Microsoft)** + subscription flows + gateway |
| Subprocess model | `packages/pi-agent-server` runs as a Bun subprocess; communicates over JSONL on stdio | Pi subprocess (same) **plus** SDK subprocess (`@anthropic-ai/claude-agent-sdk-binary`, ~217 MB native `claude` binary per platform arch) **plus** bridge/session MCP servers **plus** WhatsApp worker subprocess |
| Built-in transports | OpenAI-compatible, Anthropic-compatible, Ollama (Pi `0.80.6`) | Same, plus Anthropic SDK direct mode and Copilot SDK mode |
| Built-in transports | OpenAI-compatible, Anthropic-compatible, Ollama (Pi `0.85.1`) | Same, plus Anthropic SDK direct mode and Copilot SDK mode |
| Image generation | ❌ (deleted; image attachments still supported) | ✅ (`gen_image` model + tool) |

## 4. Agent tools (what the model can actually call)
Expand Down Expand Up @@ -223,7 +223,7 @@ The matrix below extends [`docs/featues.md`](./featues.md) with explicit numbers
| Tool icons and default permissions | ✅ | ✅ |
| "What's New" notes | ❌ | ✅ |
| Claude Agent SDK backend | ❌ | ✅ |
| Claude Pro/Max OAuth subscription | ✅ (Pi) | ✅ (Claude SDK by default) |
| Claude Pro/Max OAuth subscription | ❌ | ✅ (Claude SDK by default) |
| ChatGPT Plus OAuth subscription | ✅ (Pi) | ✅ (Pi) |
| GitHub Copilot SDK + OAuth subscription | ❌ | ✅ |
| External messaging gateway + WhatsApp / Slack / Lark workers | ❌ | ✅ |
Expand Down
8 changes: 2 additions & 6 deletions docs/connections.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,12 @@ Connections are configured in Settings and stored without plaintext credentials
| Form | Provider preset | Notes |
|---|---|---|
| ChatGPT Plus | `openai-codex` | Craft ChatGPT OAuth; executed by Pi |
| Claude Pro/Max | `anthropic` | Craft Claude OAuth; executed by Pi |
| Pi provider preset | any preset bundled with `@earendil-works/pi-ai` 0.80.6 (anthropic, openai, google, deepseek, xai, mistral, groq, openrouter, …) | Auth via API key |
| Pi provider preset | any preset bundled with `@earendil-works/pi-ai` 0.85.1 (anthropic, openai, google, deepseek, xai, mistral, groq, openrouter, …) | Auth via API key |
| Custom `openai-completions` | user-supplied base URL | API key optional (Ollama uses empty key) |
| Custom `anthropic-messages` | user-supplied base URL | API key optional |
| Local Ollama | `http://127.0.0.1:11434/v1` | No auth, OpenAI-completions protocol |

GitHub Copilot, Craft gateway, Sources OAuth, and generic OAuth connections are not supported. The two retained subscription flows use Craft's OAuth implementation; no Claude Agent SDK or Copilot SDK is installed.
GitHub Copilot, Craft gateway, Sources OAuth, and generic OAuth connections are not supported. The retained ChatGPT Plus subscription flow uses Craft's OAuth implementation; no Claude Agent SDK or Copilot SDK is installed.

## Connection type vs authentication type

Expand All @@ -31,7 +30,6 @@ These two fields come from `LlmConnection` in `packages/shared/src/config/llm-co
| Form | `providerType` | `authType` | `customEndpoint.api` |
|---|---|---|---|
| ChatGPT Plus | `pi` | `oauth` | — |
| Claude Pro/Max | `pi` | `oauth` | — |
| Pi provider preset | `pi` | `api_key` | — |
| Custom `openai-completions` | `pi_compat` | `api_key_with_endpoint` | `openai-completions` |
| Custom `anthropic-messages` | `pi_compat` | `api_key_with_endpoint` | `anthropic-messages` |
Expand Down Expand Up @@ -61,8 +59,6 @@ ChatGPT Plus through Pi OAuth:
}
```

Claude Pro/Max through Pi OAuth uses the same shape with `slug: "claude-max"` and `piAuthProvider: "anthropic"`.

DeepSeek through a custom endpoint:

```json
Expand Down
2 changes: 1 addition & 1 deletion docs/featues.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This document records Bitlab's intentional product boundary relative to the upst
## Retained

- Electron Desktop, WebUI, headless server, shared renderer, and WebSocket RPC
- Pi agent backend, API-key model connections, and ChatGPT Plus / Claude Pro/Max subscriptions
- Pi agent backend, API-key model connections, and ChatGPT Plus subscriptions
- Custom OpenAI-compatible and Anthropic-compatible endpoints, plus Ollama
- Local multi-workspace support and the `default` workspace
- Sessions (create, continue, cancel, resume, search, rename, delete, flag, archive, unread, import/export, branch, multi-window)
Expand Down
Loading