Skip to content

Commit 00a686e

Browse files
authored
Merge pull request #1776 from jaylfc/dev
release: promote dev to master (1.0.0-beta.39)
2 parents d0246a5 + b8acce7 commit 00a686e

85 files changed

Lines changed: 7168 additions & 276 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/doc-gate.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,8 @@ jobs:
3535
env:
3636
BASE_REF: ${{ github.base_ref }}
3737
run: python scripts/check_doc_gate.py diff-gate --base "origin/$BASE_REF"
38+
39+
- name: Managed backend manifest lint
40+
run: |
41+
python -m pip install --quiet pyyaml
42+
python scripts/check_manifests.py managed-lint

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ data/.setup_complete
2323
data/.auth_password
2424
data/.auth_sessions
2525
data/.auth_local_token
26+
data/mesh_credentials.json
2627
data/agents.json
2728
data/images/
2829
data/videos/

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,20 @@ Versions follow semver beta: `1.0.0-beta.N`, bumped on each dev->master promotio
77

88
## [Unreleased]
99

10+
## [1.0.0-beta.39] - 2026-07-10
11+
12+
### Added
13+
- Game Studio can now generate textures and sprites from a text prompt using a ComfyUI backend on a discrete-GPU worker, writing the image straight into the game's file set. On a host with no capable GPU the panel shows a clear "needs a GPU worker" state instead of failing (#1773).
14+
- taOSgo cluster-join now completes the network side: a controller joins the account mesh over the system tailscale against the Headscale server, and the per-host service tokens the join returns are persisted host-locally (owner-only) so publishing and passkey fetches keep working after a join (#1770, #1772).
15+
- Agents post to the coordination bus as themselves through an authenticated send proxy, so a message carries the agent's own identity and cannot be spoofed as another account (#1768).
16+
- The cluster advertises the models a node can serve from its backend manifest, and installing a backend now registers it as a managed, node-local service that can be started, stopped, and health-checked per node (#1756, #1758, #1760, #1762).
17+
- An approved external agent can be granted a least-privilege project-tasks scope to read and drive a single project's task board (claim, close, comment) with its own token, scoped so it can never reach another project (#1774).
18+
19+
### Fixed
20+
- Backend and worker robustness: the model VRAM check reserves atomically before a load so two loads cannot race the same memory, a malformed backend manifest no longer crashes the worker, and the VRAM guard fails closed rather than open on a probe error (#1725, #1767).
21+
- The RK3588 (RKLLM) install path pins the rkllama server to the verified 1.3.0 reference and guards the fork patches, and a live rkllama port is treated as installed only when it is a managed service (#1755, #1764).
22+
- Fixed six agent-framework catalog manifests that referenced install scripts which did not exist at the repo root (#1694).
23+
1024
## [1.0.0-beta.38] - 2026-07-08
1125

1226
### Added

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,20 @@ curl -fsSL https://raw.githubusercontent.com/jaylfc/taOS/master/scripts/install-
578578

579579
See [docs/mirror-policy.md](docs/mirror-policy.md) for the mirror governance policy, what is mirrored, when it updates, how to verify integrity independently, and how to self-host the mirror for air-gapped deployments. The same policy will extend to RK3576, Raspberry Pi 4, Mac mini / Apple Silicon, and x86 classes as those verified install paths land.
580580

581+
## Agent Framework Install Scripts
582+
583+
Several agent frameworks ship with dedicated install scripts under `scripts/install-*.sh` that are invoked automatically by the catalog installer when deploying the corresponding framework:
584+
585+
| Script | Framework | Build toolchain |
586+
|---|---|---|
587+
| `scripts/install-agent-zero.sh` | [Agent Zero](https://github.com/frdel/agent-zero) | Clones repo to `/opt/agent-zero` and installs with pip |
588+
| `scripts/install-deer-flow.sh` | [DeerFlow](https://github.com/bytedance/deer-flow) | Clones repo to `/opt/deer-flow` and provisions with `uv` (Python 3.12) |
589+
| `scripts/install-moltis.sh` | [Moltis](https://github.com/moltis-org/moltis) | Installs via `cargo install` from crates.io (or git tag) |
590+
| `scripts/install-openclaw.sh` | [OpenClaw](https://github.com/openclaw/openclaw) | Clones repo to `/opt/openclaw` and installs with pip |
591+
| `scripts/install-picoclaw.sh` | [PicoClaw](https://github.com/sipeed/picoclaw) | Clones repo to `/opt/picoclaw` and builds with `cmake` |
592+
593+
Hermes Agent uses `install: {method: pip, package: hermes-agent}` in its catalog manifest (available on PyPI from Nous Research) and does not need a separate install script.
594+
581595
## TurboQuant KV cache compression
582596

583597
**768K context window on a single RTX 3060 (12 GB).** taOS integrates Google's TurboQuant (ICLR 2026) KV cache quantization via TheTom/llama-cpp-turboquant. Unlike weight quantization, which compresses model files, TurboQuant compresses the per-request KV cache -- the per-token memory that scales with context length and is the actual bottleneck on consumer hardware.

app-catalog/agents/agent-zero/manifest.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ requires:
1414
install:
1515
method: script
1616
script: scripts/install-agent-zero.sh
17+
note: |
18+
Clones frdel/agent-zero into /opt/agent-zero and installs with pip.
19+
No PyPI package — the `agent-zero` package on PyPI is an unrelated
20+
voice-agent framework. Agent Zero is clone-and-run only.
1721
1822
hardware_tiers:
1923
arm-npu-16gb: full

app-catalog/agents/deer-flow/manifest.yaml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,11 @@ requires:
1414

1515
install:
1616
method: script
17-
script: scripts/install.sh
17+
script: scripts/install-deer-flow.sh
1818
note: |
1919
Clones bytedance/deer-flow into /opt/deer-flow and provisions the backend
20-
with uv (Python 3.12). Writes a config.yaml pointing DeerFlow at the taOS
21-
LiteLLM proxy and a systemd unit that serves the backend runs API on 8001.
22-
The bridge adapter (deer_flow_adapter.py) lives in the taOS controller.
20+
with uv (Python 3.12). The bridge adapter (deer_flow_adapter.py) lives in
21+
the taOS controller.
2322
2423
config_schema:
2524
- name: model

app-catalog/agents/hermes/manifest.yaml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,8 @@ requires:
1313
python: ">=3.10"
1414

1515
install:
16-
method: script
17-
script: scripts/install.sh
18-
note: |
19-
Installs hermes-agent from PyPI inside the agent container.
20-
Configures the Hermes → TAOS bridge adapter (hermes_adapter.py)
21-
and a systemd unit that connects to TAOS channels via SSE.
16+
method: pip
17+
package: hermes-agent
2218

2319
config_schema:
2420
- name: model

app-catalog/agents/openclaw/manifest.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,11 @@ requires:
1313

1414
install:
1515
method: script
16-
script: scripts/install.sh
16+
script: scripts/install-openclaw.sh
17+
note: |
18+
Clones openclaw/openclaw into /opt/openclaw and installs with pip.
19+
No PyPI package — `openclaw` on PyPI resolves to an unrelated CMDOP
20+
plugin. OpenClaw is clone-and-run only.
1721
1822
config_schema:
1923
- name: model

app-catalog/services/rkllama/manifest.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,13 @@ lifecycle:
3131
backend_type: rkllama
3232
default_url: http://localhost:7833
3333
auto_manage: true
34+
# Managed as a systemd service (see scripts/install-rknpu.sh install_systemd_unit).
35+
# taOS manages the unit per node: start/stop/restart default to `systemctl <verb> <unit>`.
36+
unit: rkllama.service
37+
scope: system
38+
health:
39+
url: "http://localhost:7833/api/tags"
40+
expect: '"models"'
3441
keep_alive_minutes: 0
3542
start_cmd: "systemctl start rkllama"
3643
stop_cmd: "systemctl stop rkllama"

desktop/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)