Repository navigation
Astral 0.1.26
Astral 0.1.26
Read-tool images enter the model context and persistent tool history directly as native image data. The Host no longer uploads another copy to the Computer or creates a file reference before returning a read result. Historical image previews continue to use the recorded tool result, including after the original file or Computer is unavailable. User-uploaded attachments keep their existing file-reference and input-image handling.
IM attachment and resource content endpoints support a single byte range with HTTP 206 and Content-Range when the source size is known; unsatisfiable or unsupported multi-range requests return 416. Unknown-size sources continue to return the complete content with HTTP 200. Server and the calling Computer's Daemon both need Range support. A range may be served by rereading and discarding the source prefix rather than a persistent cache or native upstream resume.
New local containers created from the Server use a verified Docker host route instead of configured public access URLs. The Server checks the route from the container and verifies its pinned identity; it reports failure if no local route works. Explicit CLI connections to a remote Server keep their selected remote address. Existing containers retain their saved address until it is explicitly changed.
Bots can delegate long-running or parallel work to persistent subagents, including handing off work after it has already started. Each subagent has a stable name chosen by its parent or a generated code, independent of its first task. New delegation supports one level below the original conversation: root → subagent. Only the original user-facing root can create subagents; subagents cannot delegate further. Deeper subagents created by earlier versions remain available in their original positions. Subagents report progress to their direct parent with the original event time in Astral's configured timezone. Both a normally ending round and a run failure notify and trigger that parent, which can review the result or error, choose another model, retry or assign more work. These runtime events do not classify business-task success.
Root instructions call for responsive coordination and independently actionable delegation; subagents are instructed to report meaningful progress and blockers. When no useful independent work remains, they are instructed to end the current round rather than poll or keep it alive waiting for outside action; normal waits for executing commands and bounded checks remain allowed.
Select a subagent bubble in the conversation to inspect its full conversation and tool activity in the same right-hand panel. For deeper subagents created by earlier versions, follow their nested bubbles and return through the breadcrumbs without losing your original draft or reading position. Subagents remain reusable after a round ends and do not appear as separate conversations in the main sidebar.
Expanded tool results show image thumbnails that open in the shared viewer. Subagent-management details show the actual operation, target, input, model and reasoning selection, and returned status or error. Message-send details show the historical destination, body, attachments, reply and confirmed, failed or unconfirmed result. These views work in both the original conversation and read-only subagent panels; inspecting a historical call does not execute it again.
Changing the model or reasoning settings in the original conversation updates all existing subagents, including subtasks that have not started. A parent can also change one direct child's model and reasoning for later work without changing that child's descendants. A read-only model directory lists enabled, locally available profiles and their supported reasoning choices. Requests already sent keep their original settings; later requests use the new choice. Subagents default to their parent's current computer and working directory. Inherited conversation history stays unchanged, and only the original user-facing conversation receives new messaging-platform context or can send messages to its bound chat.
Permanently deleting a conversation or delegated subtask also deletes its complete subagent subtree, including independent histories. Computer working files and external platform messages remain. Subagent privacy follows the original conversation, and their storage usage is included with that conversation rather than shown as separately managed rows.
Linux Server installation prepares the current user's systemd service and linger when needed, collects Web administrator credentials, and registers the astral command. The installer explains any required sudo step while continuing to run the Server as the original user. Use install-server.sh --uninstall to remove only that installation's service and program; data, identity, backups and recovery files are retained.
The CLI discovers registered installations and provides administrator setup, authentication status, credential reset and hostname recovery commands without requiring users to reconstruct internal data paths.
Standalone Servers allow remote Web management by default. Hostname restrictions and their allowlist are edited and saved together, with the current access hostname retained when restrictions are enabled. Desktop keeps its separate remote-management control. Account and hostname changes use explicit local actions, with failures retaining the current draft.
Computer settings distinguish a missing Docker command, an unreachable engine and insufficient permissions, show the actual Server account, and provide a retry action. Feishu setup guidance links to the external permissions and event configuration required to complete a connection.
Narrow chat panels use a two-layer Composer with one frame, directly accessible Computer and model selection, and a stable send/stop position. The FollowUp queue uses compact continuous rows. Message images and files appear above the separate text bubble; multiple images use two columns and file names wrap within the message. Clicking an image opens a full-page viewer with zoom, pan, multi-image navigation and download, including trackpad and phone gestures. Unavailable originals retain their historical preview and preview download. Ordinary files continue to open in the file sidebar.
Slow network sends show a centered spinner in place of the button icon only after 300ms. Repeated Enter does not submit again while the request is pending. A failed send retains the draft, and an unchanged retry reuses the original input identity.
Deleting a search service turns off web search for all Bots that reference it, with the affected Bots shown before confirmation. Old unavailable search references no longer block unrelated Bot settings, while newly selected search services must exist.
Official Server and Computer downloads and updates consistently use the configured HTTPS GitHub release proxy. This does not redirect unrelated API traffic or the Desktop updater.
The bilingual documentation is rewritten around user tasks, external preparation, platform setup and troubleshooting. It removes button-by-button instructions already expressed by the UI and separates advanced deployment and API reference material.
- macOS: install the DMG matching your Mac architecture. Developer ID signatures are verified. Apple notarization is accepted. See mac-signing-report.json for exact final-byte evidence.
- Windows: use the EXE installer for a current-user installation. Windows packages are not code-signed and may show SmartScreen warnings; ZIP builds are for manual installation.
- Linux Desktop: AppImage supports in-app updating; install newer DEB packages manually. Linux packages are not code-signed.
- Linux VPS: run install-server.sh for a current-user headless Server and systemd user service.
Desktop checks for new versions without downloading packages. Use Settings → About & diagnostics → Update and restart to check Latest again, download and verify the package, then install and restart. You can keep using Astral during download; installation interrupts running tasks. Ordinary exit does not install updates. Remote Daemons can be updated from Computer settings or with the displayed update command; container updates retain the existing environment.
Versioned migrations are bundled with the latest binary. Upgrades apply missing migrations in order without downloading intermediate releases. Before a migration, the Server snapshots its data; migration failure stops startup and restores that snapshot. The current target is Host 6 / Core 11 / SQLite schema 12, starting from the supported Host 3 / Core 11 baseline. The Host 3 → 4 migration restores visibility of Sessions archived while still bound to IM. It appends an unarchived current revision while preserving every earlier revision, IM event and Core history entry; ordinary archived Sessions stay archived. Desktop keeps its existing schema-3-core-11/ data directory. Older private data formats and downgrades are not supported. Desktop installation errors can be retried; a release which cannot start may require manually reinstalling a previous version after restoring its matching data backup.
- Source: 40b1d6b
- Required CI: https://github.com/oines/astral/actions/runs/42021024986
- Release packaging: https://github.com/oines/astral/actions/runs/42021024986
- Native acceptance covers the runner architecture; cross-building an installer does not establish native execution on every architecture.
The six unified Server/Web UI/CLI/Daemon binaries and three-platform Desktop packages are included. checksums.txt covers the six binaries; SHA256SUMS covers all attached files except itself. Checksums describe exact release bytes and do not independently establish publisher authenticity.