Compare commits
8 Commits
access-tok
...
v1.15.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
748d2b7fd4 | ||
|
|
527759dd02 | ||
|
|
3290255bad | ||
|
|
9b987395b3 | ||
|
|
4852d1fe92 | ||
|
|
8bd313f0d4 | ||
|
|
711e1099d6 | ||
|
|
91c8dd8f7d |
8
.github/workflows/workflow.yml
vendored
8
.github/workflows/workflow.yml
vendored
@@ -17,7 +17,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
- uses: dtolnay/rust-toolchain@stable
|
- uses: dtolnay/rust-toolchain@1.93.0
|
||||||
- name: Install SQLite3
|
- name: Install SQLite3
|
||||||
run: sudo apt-get update && sudo apt-get install -y libsqlite3-dev
|
run: sudo apt-get update && sudo apt-get install -y libsqlite3-dev
|
||||||
- run: cargo test --all-features
|
- run: cargo test --all-features
|
||||||
@@ -30,7 +30,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Extract metadata (tags, labels) for Docker
|
- name: Extract metadata (tags, labels) for Docker
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v5
|
uses: docker/metadata-action@v6
|
||||||
with:
|
with:
|
||||||
images: |
|
images: |
|
||||||
ghcr.io/${{ github.repository }}
|
ghcr.io/${{ github.repository }}
|
||||||
@@ -65,7 +65,7 @@ jobs:
|
|||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Extract metadata (tags, labels) for Docker
|
- name: Extract metadata (tags, labels) for Docker
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v5
|
uses: docker/metadata-action@v6
|
||||||
with:
|
with:
|
||||||
tags: |
|
tags: |
|
||||||
type=raw,value=latest,enable=${{ github.ref_name == 'main' }}
|
type=raw,value=latest,enable=${{ github.ref_name == 'main' }}
|
||||||
@@ -77,7 +77,7 @@ jobs:
|
|||||||
ghcr.io/${{ github.repository }}
|
ghcr.io/${{ github.repository }}
|
||||||
|
|
||||||
- name: Build and push Docker images
|
- name: Build and push Docker images
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v7
|
||||||
with:
|
with:
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
|||||||
11
CHANGELOG.md
11
CHANGELOG.md
@@ -1,3 +1,14 @@
|
|||||||
|
# (2026-03-07) Version 1.15.0
|
||||||
|
|
||||||
|
- (**Feature**) Add support for authentication via access tokens (for [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service)/OIDC-enabled homeservers) as an alternative to password authentication. See [🔐 Authentication](./docs/configuration/authentication.md) for setup details. Thanks to [Taylor Southwick](https://github.com/twsouthwick) for the contribution in [#83](https://github.com/etkecc/baibot/pull/83)!
|
||||||
|
|
||||||
|
- (**Internal Improvement**) Pin the Rust toolchain to `1.93.0` in both CI and local development to avoid `matrix-sdk` build failures on newer stable toolchains.
|
||||||
|
|
||||||
|
- (**Internal Improvement**) Documentation updates.
|
||||||
|
|
||||||
|
- (**Internal Improvement**) Dependency updates.
|
||||||
|
|
||||||
|
|
||||||
# (2026-02-18) Version 1.14.3
|
# (2026-02-18) Version 1.14.3
|
||||||
|
|
||||||
- (**Internal Improvement**) Add [Renovate](https://docs.renovatebot.com/) configuration for automated dependency updates
|
- (**Internal Improvement**) Add [Renovate](https://docs.renovatebot.com/) configuration for automated dependency updates
|
||||||
|
|||||||
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -288,7 +288,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "baibot"
|
name = "baibot"
|
||||||
version = "1.14.3"
|
version = "1.15.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anthropic",
|
"anthropic",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ license = "AGPL-3.0-or-later"
|
|||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
keywords = ["matrix", "chat", "bot", "AI", "LLM"]
|
keywords = ["matrix", "chat", "bot", "AI", "LLM"]
|
||||||
include = ["/etc/assets/baibot-torso-768.png", "/src", "/README.md", "/CHANGELOG.md", "/LICENSE"]
|
include = ["/etc/assets/baibot-torso-768.png", "/src", "/README.md", "/CHANGELOG.md", "/LICENSE"]
|
||||||
version = "1.14.3"
|
version = "1.15.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ You can see the list of supported environment variables in the [🦀 src/entity/
|
|||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> The static configuration contains an `initial_global_config` key, which is used to populate the bot's global configuration (stored as [dynamic configuration](#dynamic-configuration)) the first time the bot starts. Modifying this subsequently will not have any effect. After initial global configuration creation, it's expected to be managed dynamically via chat commands.
|
> The static configuration contains an `initial_global_config` key, which is used to populate the bot's global configuration (stored as [dynamic configuration](#dynamic-configuration)) the first time the bot starts. Modifying this subsequently will not have any effect. After initial global configuration creation, it's expected to be managed dynamically via chat commands.
|
||||||
|
|
||||||
|
For Matrix-account authentication setup, see [🔐 Authentication](./authentication.md).
|
||||||
|
|
||||||
|
|
||||||
### Dynamic configuration
|
### Dynamic configuration
|
||||||
|
|
||||||
|
|||||||
23
docs/configuration/authentication.md
Normal file
23
docs/configuration/authentication.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
## 🔐 Authentication
|
||||||
|
|
||||||
|
baibot supports 2 authentication modes for the Matrix account (`user.*` keys in config).
|
||||||
|
|
||||||
|
Set **exactly one** mode. If both are set (or neither is set), startup validation fails.
|
||||||
|
|
||||||
|
### Password authentication
|
||||||
|
|
||||||
|
- Config key: `user.password`
|
||||||
|
- Environment variable: `BAIBOT_USER_PASSWORD`
|
||||||
|
|
||||||
|
### Access token authentication
|
||||||
|
|
||||||
|
- Config keys: `user.access_token` + `user.device_id`
|
||||||
|
- Environment variables: `BAIBOT_USER_ACCESS_TOKEN` + `BAIBOT_USER_DEVICE_ID`
|
||||||
|
|
||||||
|
Access-token authentication is useful for OIDC-enabled homeservers (e.g. those using [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service)).
|
||||||
|
|
||||||
|
Example token-generation command:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
mas-cli manage issue-compatibility-token <username> [device_id]
|
||||||
|
```
|
||||||
@@ -11,7 +11,7 @@ user:
|
|||||||
# Password-based login (traditional homeservers):
|
# Password-based login (traditional homeservers):
|
||||||
password: baibot
|
password: baibot
|
||||||
|
|
||||||
# Access token login (for MAS/OIDC-enabled homeservers):
|
# Access token login (for Matrix Authentication Service/OIDC-enabled homeservers):
|
||||||
# Generate a token via: mas-cli manage issue-compatibility-token <username> [device_id]
|
# Generate a token via: mas-cli manage issue-compatibility-token <username> [device_id]
|
||||||
# access_token: null
|
# access_token: null
|
||||||
# device_id: null
|
# device_id: null
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
ollama:
|
ollama:
|
||||||
image: docker.io/ollama/ollama:0.17.6
|
image: docker.io/ollama/ollama:0.17.7
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "${SERVICE_OLLAMA_BIND_PORT_HTTP}:11434"
|
- "${SERVICE_OLLAMA_BIND_PORT_HTTP}:11434"
|
||||||
|
|||||||
4
rust-toolchain.toml
Normal file
4
rust-toolchain.toml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
[toolchain]
|
||||||
|
channel = "1.93.0"
|
||||||
|
components = ["rustfmt", "clippy"]
|
||||||
|
profile = "default"
|
||||||
Reference in New Issue
Block a user