Skip to content

Releases

Astral 0.1.39

Choose a tag to compare

@github-actions github-actions released this 08 Nov 11:14
6a61b92

Astral 0.1.39

Archiving now seals a conversation and its subagents: running work stops, driving inputs are cleared, and fixed-target schedules and event endpoints are disabled. History, export and independent forks remain available. Restore unlocks the conversation without continuing old work or re-enabling automation. Archived targets reject new schedules, event endpoints and delivery; chat binding requires an explicit restore first.

The sidebar shows clock and lightning markers together. Open a conversation's three-dot menu to find its automatic tasks at the top; selecting a name opens the matching Bot and task editor. A conversation remains in Now with a blue dot while any of its subagents are working, even when the original agent is idle.

Permanently deleting a Computer also removes its event endpoints and events not yet accepted into conversation context. Mixed batches retain other Computers' events, and accepted conversation context remains intact. Deletion and queue cleanup commit together; old callbacks and late UI responses cannot restore removed work. Computer work files, containers and the Daemon service are retained.

Files and read-only subagent conversations now share a tabbed right-hand workspace. Chat and the workspace sit side by side with a draggable divider; the workspace overlays chat only when there is not enough room for both. Files opens directory browsing directly on the current session's computer and working directory; selecting a file follows its source computer. The preview and directory divider is adjustable too. Text and code previews support copying contents; partial previews clearly copy only the loaded excerpt, while downloads provide the complete file. Desktop can reveal verified local files in the system file manager; remote and container files stay within Astral's browsing and download controls.

Probe can switch from a fixed model back to Follow the Session’s current model, including the session's current reasoning settings.

Bots now support an ordered model list with separate reasoning choices. Sessions try their preferred model first, then the Bot's alternatives; main sessions and subagents use the same recovery rules. Retryable failures allow up to five total attempts per model, including the first; quota and authorization failures move directly to the next candidate. Optional automatic restoration is off by default and checks the preferred model through real Models SDK requests before returning at a safe request boundary. Checks may incur charges. If all candidates fail with restoration enabled, the task waits for recovery.

Reorder model priorities with drag handles or keyboard controls, using the same model-and-reasoning picker as conversations. Apply to unarchived sessions makes this Bot's unarchived conversations and their subagents prefer the first model without restarting stopped work. Archived trees keep their saved model choices, including after restoration.

The sidebar's Bot menu now includes Manage Bot, opening the selected Bot's settings. The conversation's Computer menu includes Manage Computers, opening that conversation's Bot computer permissions.

Model-request recovery avoids repeatedly serializing and copying complete image-bearing requests through nested model wrappers. Compact request freezing also avoids building an all-history JSON digest index for a small unmatched request tail, using the existing bounded literal representation. Actual recovery, retry limits and request isolation are preserved; no cache or storage format is introduced.

Core prepares new inline images once using the native Go VPX encoder. Ordinary read-tool images use quality 75 and a 150,000-base64-byte compression threshold; IM previews use quality 30 and a 30,000-byte threshold. Fitting small originals keep their exact bytes. Original dimensions are preserved unless the caller explicitly requests a size limit, and there is no outer loop to retry quality or resize to a fixed byte count. Final sizes vary with image content. Probe, ordinary requests, compaction and replay reuse the frozen result. Original downloads and existing recorded history are preserved.

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 terminal run failure notify and trigger that parent, which can review the result or error, choose another model, retry or assign more work. Model fallback and waiting for preferred-model recovery do not send terminal notifications. 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 workspace. For deeper subagents created by earlier versions, follow their nested bubbles and switch between conversations through tabs 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 re...

Read more

Astral 0.1.38

Choose a tag to compare

@github-actions github-actions released this 08 Nov 08:17
379c051

Astral 0.1.38

Files and read-only subagent conversations now share a tabbed right-hand workspace. Chat and the workspace sit side by side with a draggable divider; the workspace overlays chat only when there is not enough room for both. Files opens directory browsing directly on the current session's computer and working directory; selecting a file follows its source computer. The preview and directory divider is adjustable too. Text and code previews support copying contents; partial previews clearly copy only the loaded excerpt, while downloads provide the complete file. Desktop can reveal verified local files in the system file manager; remote and container files stay within Astral's browsing and download controls.

Probe can switch from a fixed model back to Follow the Session’s current model, including the session's current reasoning settings.

Bots now support an ordered model list with separate reasoning choices. Sessions try their preferred model first, then the Bot's alternatives; main sessions and subagents use the same recovery rules. Retryable failures allow up to five total attempts per model, including the first; quota and authorization failures move directly to the next candidate. Optional automatic restoration is off by default and checks the preferred model through real Models SDK requests before returning at a safe request boundary. Checks may incur charges. If all candidates fail with restoration enabled, the task waits for recovery.

Reorder model priorities with drag handles or keyboard controls, using the same model-and-reasoning picker as conversations. Apply to all sessions makes this Bot's existing sessions and subagents prefer the first model without restarting stopped work.

The sidebar's Bot menu now includes Manage Bot, opening the selected Bot's settings. The conversation's Computer menu includes Manage Computers, opening that conversation's Bot computer permissions.

Model-request recovery avoids repeatedly serializing and copying complete image-bearing requests through nested model wrappers. Compact request freezing also avoids building an all-history JSON digest index for a small unmatched request tail, using the existing bounded literal representation. Actual recovery, retry limits and request isolation are preserved; no cache or storage format is introduced.

Core prepares new inline images once using the native Go VPX encoder. Ordinary read-tool images use quality 75 and a 150,000-base64-byte compression threshold; IM previews use quality 30 and a 30,000-byte threshold. Fitting small originals keep their exact bytes. Original dimensions are preserved unless the caller explicitly requests a size limit, and there is no outer loop to retry quality or resize to a fixed byte count. Final sizes vary with image content. Probe, ordinary requests, compaction and replay reuse the frozen result. Original downloads and existing recorded history are preserved.

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 terminal run failure notify and trigger that parent, which can review the result or error, choose another model, retry or assign more work. Model fallback and waiting for preferred-model recovery do not send terminal notifications. 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 workspace. For deeper subagents created by earlier versions, follow their nested bubbles and switch between conversations through tabs 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...

Read more

Astral 0.1.36

Choose a tag to compare

@github-actions github-actions released this 08 Nov 03:54
25e6ee3

Astral 0.1.36

Files and read-only subagent conversations now share a tabbed right-hand workspace. Chat and the workspace sit side by side with a draggable divider; the workspace overlays chat only when there is not enough room for both. Files opens directory browsing directly on the current session's computer and working directory; selecting a file follows its source computer. The preview and directory divider is adjustable too. Text and code previews support copying contents; partial previews clearly copy only the loaded excerpt, while downloads provide the complete file. Desktop can reveal verified local files in the system file manager; remote and container files stay within Astral's browsing and download controls.

Probe can switch from a fixed model back to Follow the Session’s current model, including the session's current reasoning settings.

Bots now support an ordered model list with separate reasoning choices. Sessions try their preferred model first, then the Bot's alternatives; main sessions and subagents use the same recovery rules. Retryable failures allow up to five total attempts per model, including the first; quota and authorization failures move directly to the next candidate. Optional automatic restoration is off by default and checks the preferred model through real Models SDK requests before returning at a safe request boundary. Checks may incur charges. If all candidates fail with restoration enabled, the task waits for recovery.

Reorder model priorities with drag handles or keyboard controls, using the same model-and-reasoning picker as conversations. Apply to all sessions makes this Bot's existing sessions and subagents prefer the first model without restarting stopped work.

The sidebar's Bot menu now includes Manage Bot, opening the selected Bot's settings. The conversation's Computer menu includes Manage Computers, opening that conversation's Bot computer permissions.

Model-request recovery avoids repeatedly serializing and copying complete image-bearing requests through nested model wrappers. Compact request freezing also avoids building an all-history JSON digest index for a small unmatched request tail, using the existing bounded literal representation. Actual recovery, retry limits and request isolation are preserved; no cache or storage format is introduced.

Core prepares new inline images once using the native Go VPX encoder. Ordinary read-tool images use quality 75 and a 150,000-base64-byte compression threshold; IM previews use quality 30 and a 30,000-byte threshold. Fitting small originals keep their exact bytes. Original dimensions are preserved unless the caller explicitly requests a size limit, and there is no outer loop to retry quality or resize to a fixed byte count. Final sizes vary with image content. Probe, ordinary requests, compaction and replay reuse the frozen result. Original downloads and existing recorded history are preserved.

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 terminal run failure notify and trigger that parent, which can review the result or error, choose another model, retry or assign more work. Model fallback and waiting for preferred-model recovery do not send terminal notifications. 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 workspace. For deeper subagents created by earlier versions, follow their nested bubbles and switch between conversations through tabs 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...

Read more

Astral 0.1.35

Choose a tag to compare

@github-actions github-actions released this 07 Nov 18:52
c1b383a

Astral 0.1.35

Files and read-only subagent conversations now share a tabbed right-hand workspace. Chat and the workspace sit side by side with a draggable divider; the workspace overlays chat only when there is not enough room for both. Files opens directory browsing directly on the current session's computer and working directory; selecting a file follows its source computer. The preview and directory divider is adjustable too. Text and code previews support copying contents; partial previews clearly copy only the loaded excerpt, while downloads provide the complete file. Desktop can reveal verified local files in the system file manager; remote and container files stay within Astral's browsing and download controls.

Probe can switch from a fixed model back to Follow the Session’s current model, including the session's current reasoning settings.

Bots now support an ordered model list with separate reasoning choices. Sessions try their preferred model first, then the Bot's alternatives; main sessions and subagents use the same recovery rules. Retryable failures allow up to five total attempts per model, including the first; quota and authorization failures move directly to the next candidate. Optional automatic restoration is off by default and checks the preferred model through real Models SDK requests before returning at a safe request boundary. Checks may incur charges. If all candidates fail with restoration enabled, the task waits for recovery.

Reorder model priorities with drag handles or keyboard controls, using the same model-and-reasoning picker as conversations. Apply to all sessions makes this Bot's existing sessions and subagents prefer the first model without restarting stopped work.

The sidebar's Bot menu now includes Manage Bot, opening the selected Bot's settings. The conversation's Computer menu includes Manage Computers, opening that conversation's Bot computer permissions.

Model-request recovery avoids repeatedly serializing and copying complete image-bearing requests through nested model wrappers. Compact request freezing also avoids building an all-history JSON digest index for a small unmatched request tail, using the existing bounded literal representation. Actual recovery, retry limits and request isolation are preserved; no cache or storage format is introduced.

Core prepares new inline images once using the native Go VPX encoder. Ordinary read-tool images use quality 75 and a 150,000-base64-byte compression threshold; IM previews use quality 30 and a 30,000-byte threshold. Fitting small originals keep their exact bytes. Original dimensions are preserved unless the caller explicitly requests a size limit, and there is no outer loop to retry quality or resize to a fixed byte count. Final sizes vary with image content. Probe, ordinary requests, compaction and replay reuse the frozen result. Original downloads and existing recorded history are preserved.

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 terminal run failure notify and trigger that parent, which can review the result or error, choose another model, retry or assign more work. Model fallback and waiting for preferred-model recovery do not send terminal notifications. 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 workspace. For deeper subagents created by earlier versions, follow their nested bubbles and switch between conversations through tabs 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...

Read more

Astral 0.1.34

Choose a tag to compare

@github-actions github-actions released this 07 Nov 17:50
93bda1e

Astral 0.1.34

Files and read-only subagent conversations now share a tabbed right-hand workspace. Chat and the workspace sit side by side with a draggable divider; the workspace overlays chat only when there is not enough room for both. Files opens directory browsing directly on the current session's computer and working directory; selecting a file follows its source computer. The preview and directory divider is adjustable too. Text and code previews support copying contents; partial previews clearly copy only the loaded excerpt, while downloads provide the complete file. Desktop can reveal verified local files in the system file manager; remote and container files stay within Astral's browsing and download controls.

Probe can switch from a fixed model back to Follow the Session’s current model, including the session's current reasoning settings.

Bots now support an ordered model list with separate reasoning choices. Sessions try their preferred model first, then the Bot's alternatives; main sessions and subagents use the same recovery rules. Retryable failures allow up to five total attempts per model, including the first; quota and authorization failures move directly to the next candidate. Optional automatic restoration is off by default and checks the preferred model through real Models SDK requests before returning at a safe request boundary. Checks may incur charges. If all candidates fail with restoration enabled, the task waits for recovery.

Reorder model priorities with drag handles or keyboard controls, using the same model-and-reasoning picker as conversations. Apply to all sessions makes this Bot's existing sessions and subagents prefer the first model without restarting stopped work.

The sidebar's Bot menu now includes Manage Bot, opening the selected Bot's settings. The conversation's Computer menu includes Manage Computers, opening that conversation's Bot computer permissions.

Model-request recovery avoids repeatedly serializing and copying complete image-bearing requests through nested model wrappers. Compact request freezing also avoids building an all-history JSON digest index for a small unmatched request tail, using the existing bounded literal representation. Actual recovery, retry limits and request isolation are preserved; no cache or storage format is introduced.

Core prepares new inline images once using the native Go VPX encoder. Ordinary read-tool images use quality 75 and a 150,000-base64-byte compression threshold; IM previews use quality 30 and a 30,000-byte threshold. Fitting small originals keep their exact bytes. Original dimensions are preserved unless the caller explicitly requests a size limit, and there is no outer loop to retry quality or resize to a fixed byte count. Final sizes vary with image content. Probe, ordinary requests, compaction and replay reuse the frozen result. Original downloads and existing recorded history are preserved.

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 terminal run failure notify and trigger that parent, which can review the result or error, choose another model, retry or assign more work. Model fallback and waiting for preferred-model recovery do not send terminal notifications. 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 workspace. For deeper subagents created by earlier versions, follow their nested bubbles and switch between conversations through tabs 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...

Read more

Astral 0.1.31

Choose a tag to compare

@github-actions github-actions released this 07 Nov 05:35
f2a05a3

Astral 0.1.31

Bots now support an ordered model list with separate reasoning choices. Sessions try their preferred model first, then the Bot's alternatives; main sessions and subagents use the same recovery rules. Retryable failures allow up to five total attempts per model, including the first; quota and authorization failures move directly to the next candidate. Optional automatic restoration is off by default and checks the preferred model through real Models SDK requests before returning at a safe request boundary. Checks may incur charges. If all candidates fail with restoration enabled, the task waits for recovery.

Reorder model priorities with drag handles or keyboard controls, using the same model-and-reasoning picker as conversations. Apply to all sessions makes this Bot's existing sessions and subagents prefer the first model without restarting stopped work.

The sidebar's Bot menu now includes Manage Bot, opening the selected Bot's settings. The conversation's Computer menu includes Manage Computers, opening that conversation's Bot computer permissions.

Model-request recovery avoids repeatedly serializing and copying complete image-bearing requests through nested model wrappers. Compact request freezing also avoids building an all-history JSON digest index for a small unmatched request tail, using the existing bounded literal representation. Actual recovery, retry limits and request isolation are preserved; no cache or storage format is introduced.

Core prepares new inline images once using the native Go VPX encoder. Ordinary read-tool images use quality 75 and a 150,000-base64-byte compression threshold; IM previews use quality 30 and a 30,000-byte threshold. Fitting small originals keep their exact bytes. Original dimensions are preserved unless the caller explicitly requests a size limit, and there is no outer loop to retry quality or resize to a fixed byte count. Final sizes vary with image content. Probe, ordinary requests, compaction and replay reuse the frozen result. Original downloads and existing recorded history are preserved.

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 terminal run failure notify and trigger that parent, which can review the result or error, choose another model, retry or assign more work. Model fallback and waiting for preferred-model recovery do not send terminal notifications. 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 curre...
Read more

Astral 0.1.28

Choose a tag to compare

@github-actions github-actions released this 06 Nov 05:37
f196854

Astral 0.1.28

Model-request recovery avoids repeatedly serializing and copying complete image-bearing requests through nested model wrappers. Compact request freezing also avoids building an all-history JSON digest index for a small unmatched request tail, using the existing bounded literal representation. Actual recovery, retry limits and request isolation are preserved; no cache or storage format is introduced.

Core prepares new inline images once using the native Go VPX encoder. Ordinary read-tool images use quality 75 and a 150,000-base64-byte compression threshold; IM previews use quality 30 and a 30,000-byte threshold. Fitting small originals keep their exact bytes. Original dimensions are preserved unless the caller explicitly requests a size limit, and there is no outer loop to retry quality or resize to a fixed byte count. Final sizes vary with image content. Probe, ordinary requests, compaction and replay reuse the frozen result. Original downloads and existing recorded history are preserved.

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-c...

Read more

Astral 0.1.27

Choose a tag to compare

@github-actions github-actions released this 05 Nov 17:42
c9b8f42

Astral 0.1.27

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.

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.

Astral 0.1.26

Choose a tag to compare

@github-actions github-actions released this 05 Nov 12:07
40b1d6b

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.

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.

Astral 0.1.23

Choose a tag to compare

@github-actions github-actions released this 05 Nov 07:09
9dace40

Astral 0.1.23

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.

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.