Skip to content

Tags: PyModel/pythinker-code

Tags

desktop-v0.6.0

Toggle desktop-v0.6.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
ci: release packages (#262)

This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @pymodel/pythinker-code@1.8.0

### Minor Changes

- [#265](#265)
[`8ac20f0`](8ac20f0)
Thanks [@elkaix](https://github.com/elkaix)! - Add experimental Expert
Talk for automatic two-model analysis, reciprocal review, and fused
answers.

- [#263](#263)
[`7563f66`](7563f66)
Thanks [@elkaix](https://github.com/elkaix)! - Add a sidebar Explorer
for browsing and opening workspace files.

### Patch Changes

- [#263](#263)
[`7563f66`](7563f66)
Thanks [@elkaix](https://github.com/elkaix)! - Make `pythinker doctor`
validate `config.toml` with the current schema in every engine mode.

- [#261](#261)
[`e6cb84e`](e6cb84e)
Thanks [@elkaix](https://github.com/elkaix)! - Use a stable dot in the
tab title while the agent is running.

- [#261](#261)
[`e6cb84e`](e6cb84e)
Thanks [@elkaix](https://github.com/elkaix)! - Keep task output previews
responsive for large logs and valid at UTF-8 byte boundaries.

- [#265](#265)
[`8ac20f0`](8ac20f0)
Thanks [@elkaix](https://github.com/elkaix)! - Update the terminal
interface colors, transcript hierarchy, welcome panel, and workflow
progress states.

- [#265](#265)
[`8ac20f0`](8ac20f0)
Thanks [@elkaix](https://github.com/elkaix)! - Use a refreshed New Chat
icon across desktop and mobile navigation.
## @pymodel/pythinker-desktop@0.6.0

### Minor Changes

- [#265](#265)
[`8ac20f0`](8ac20f0)
Thanks [@elkaix](https://github.com/elkaix)! - Add experimental Expert
Talk for automatic two-model analysis, reciprocal review, and fused
answers.

- [#263](#263)
[`7563f66`](7563f66)
Thanks [@elkaix](https://github.com/elkaix)! - Add a sidebar Explorer
for browsing and opening workspace files.

### Patch Changes

- [#263](#263)
[`7563f66`](7563f66)
Thanks [@elkaix](https://github.com/elkaix)! - Make `pythinker doctor`
validate `config.toml` with the current schema in every engine mode.

- [#261](#261)
[`e6cb84e`](e6cb84e)
Thanks [@elkaix](https://github.com/elkaix)! - Use a stable dot in the
tab title while the agent is running.

- [#261](#261)
[`e6cb84e`](e6cb84e)
Thanks [@elkaix](https://github.com/elkaix)! - Keep task output previews
responsive for large logs and valid at UTF-8 byte boundaries.

- [#265](#265)
[`8ac20f0`](8ac20f0)
Thanks [@elkaix](https://github.com/elkaix)! - Update the terminal
interface colors, transcript hierarchy, welcome panel, and workflow
progress states.

- [#265](#265)
[`8ac20f0`](8ac20f0)
Thanks [@elkaix](https://github.com/elkaix)! - Use a refreshed New Chat
icon across desktop and mobile navigation.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

desktop-v0.5.0

Toggle desktop-v0.5.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
ci: release packages (#247)

This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @pymodel/pythinker-code@1.7.0

### Minor Changes

- [#250](#250)
[`5a71940`](5a71940)
Thanks [@elkaix](https://github.com/elkaix)! - Download desktop updates
from the sidebar pill with inline progress, move the panel toggle to the
header's right edge, and reuse the update icon in Settings.

### Patch Changes

- [#246](#246)
[`d72066a`](d72066a)
Thanks [@elkaix](https://github.com/elkaix)! - Align tool-call icons and
completion indicators with their labels in web conversations.

- [#250](#250)
[`5a71940`](5a71940)
Thanks [@elkaix](https://github.com/elkaix)! - Animate tool icons on
hover and while the agent works.

- [#250](#250)
[`5a71940`](5a71940)
Thanks [@elkaix](https://github.com/elkaix)! - Copy only the assistant's
final answer from the web message copy button, not the interim progress
lines.

- [#246](#246)
[`d72066a`](d72066a)
Thanks [@elkaix](https://github.com/elkaix)! - Fix Dynamic Workflow
subagent selection, recovery, and progress reporting during partial
failures.

- [#245](#245)
[`99e728d`](99e728d)
Thanks [@elkaix](https://github.com/elkaix)! - Reduce interface
slowdowns during long conversations with many background tasks and show
a static running marker in the browser tab title.

- [#246](#246)
[`d72066a`](d72066a)
Thanks [@elkaix](https://github.com/elkaix)! - Fix models and providers
briefly disappearing when an external editor saves the configuration.

- [#249](#249)
[`622dbe9`](622dbe9)
Thanks [@elkaix](https://github.com/elkaix)! - Prevent cron ticks from
continuing after an agent shuts down.

- [#246](#246)
[`d72066a`](d72066a)
Thanks [@elkaix](https://github.com/elkaix)! - Use the login shell's
executable order for tools started by the desktop app.

- [#249](#249)
[`622dbe9`](622dbe9)
Thanks [@elkaix](https://github.com/elkaix)! - Use the Unicode ellipsis
in terminal status and truncation text.
## @pymodel/pythinker-desktop@0.5.0

### Minor Changes

- [#250](#250)
[`5a71940`](5a71940)
Thanks [@elkaix](https://github.com/elkaix)! - Download desktop updates
from the sidebar pill with inline progress, move the panel toggle to the
header's right edge, and reuse the update icon in Settings.

### Patch Changes

- [#246](#246)
[`d72066a`](d72066a)
Thanks [@elkaix](https://github.com/elkaix)! - Align tool-call icons and
completion indicators with their labels in web conversations.

- [#250](#250)
[`5a71940`](5a71940)
Thanks [@elkaix](https://github.com/elkaix)! - Animate tool icons on
hover and while the agent works.

- [#246](#246)
[`d72066a`](d72066a)
Thanks [@elkaix](https://github.com/elkaix)! - Brand the macOS installer
with the Pythinker Code drag-to-Applications layout.

- [#250](#250)
[`5a71940`](5a71940)
Thanks [@elkaix](https://github.com/elkaix)! - Copy only the assistant's
final answer from the web message copy button, not the interim progress
lines.

- [#246](#246)
[`d72066a`](d72066a)
Thanks [@elkaix](https://github.com/elkaix)! - Fix Dynamic Workflow
subagent selection, recovery, and progress reporting during partial
failures.

- [#245](#245)
[`99e728d`](99e728d)
Thanks [@elkaix](https://github.com/elkaix)! - Reduce interface
slowdowns during long conversations with many background tasks and show
a static running marker in the browser tab title.

- [#246](#246)
[`d72066a`](d72066a)
Thanks [@elkaix](https://github.com/elkaix)! - Fix models and providers
briefly disappearing when an external editor saves the configuration.

- [#249](#249)
[`622dbe9`](622dbe9)
Thanks [@elkaix](https://github.com/elkaix)! - Prevent cron ticks from
continuing after an agent shuts down.

- [#246](#246)
[`d72066a`](d72066a)
Thanks [@elkaix](https://github.com/elkaix)! - Use the login shell's
executable order for tools started by the desktop app.

- [#249](#249)
[`622dbe9`](622dbe9)
Thanks [@elkaix](https://github.com/elkaix)! - Use the Unicode ellipsis
in terminal status and truncation text.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

desktop-v0.4.0

Toggle desktop-v0.4.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
ci: release packages (#233)

This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @pymodel/pythinker-code@1.6.0

### Minor Changes

- [#239](#239)
[`fdaf83d`](fdaf83d)
Thanks [@elkaix](https://github.com/elkaix)! - The Dynamic Workflow card
shows each subagent's profile, model, thinking effort, elapsed time, and
routing source, groups rows by phase with failures first, and notes when
running subagents were created under an earlier routing.

- [#241](#241)
[`b891de7`](b891de7)
Thanks [@elkaix](https://github.com/elkaix)! - AgentDynamicWorkflow
accepts a `tasks` list where each entry sets its own subagent type,
model, and thinking effort. Pass `tasks` instead of `items`, with
optional `defaults.subagent_type`.

- [#235](#235)
[`03d9835`](03d9835)
Thanks [@elkaix](https://github.com/elkaix)! - The Lab settings show
when an experimental flag is controlled by the environment and when the
saved setting is overridden.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Attach files from
server-local paths in Web prompts.

- [#240](#240)
[`55d12a2`](55d12a2)
Thanks [@elkaix](https://github.com/elkaix)! - Settings gains a Subagent
Model Routing control with Inherit, Default, Pool, and Force modes and
shows the saved policy next to the routing that currently applies.

- [#236](#236)
[`faeb195`](faeb195)
Thanks [@elkaix](https://github.com/elkaix)! - Add a subagent model
policy setting with inherit, default, pool, and force modes that rejects
models that are not configured.

- [#237](#237)
[`a60a427`](a60a427)
Thanks [@elkaix](https://github.com/elkaix)! - Subagent tasks and
Dynamic Workflow results now record the profile, model, and routing
source of each subagent, and a resumed subagent keeps the binding it was
created with.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Show file, folder, image,
and video attachments as compact composer pills with media previews.

- [#238](#238)
[`7b00f1f`](7b00f1f)
Thanks [@elkaix](https://github.com/elkaix)! - Add word-wrap and
line-number toggles to every code block and diff block in the web chat.

- [#238](#238)
[`7b00f1f`](7b00f1f)
Thanks [@elkaix](https://github.com/elkaix)! - Add a Message folding
settings section that turns off auto-folded turns and the tool call
summary row.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Open multiple detail
views as tabs in the Web panel.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Add selected conversation
or panel text to the composer as quoted context.

- [#238](#238)
[`7b00f1f`](7b00f1f)
Thanks [@elkaix](https://github.com/elkaix)! - Move a running Bash
command or foreground subagent to the background from its row in the web
chat.

### Patch Changes

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Remind the agent about
unfinished background tasks when work continues in a later turn.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Redact service
credentials and raw configuration from config API responses.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Accept MCP tool results
that contain text content or structured content.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Refresh model
authentication readiness after provider configuration changes.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Show the complete
remote-control link after startup.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Keep configured secondary
model aliases unchanged when provider catalogs refresh.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Warn before sending
arguments to a slash command that does not accept them.

- [#234](#234)
[`8959522`](8959522)
Thanks [@elkaix](https://github.com/elkaix)! - Subagent model settings
no longer keep stale force or pool values after a change.

- [#232](#232)
[`974da73`](974da73)
Thanks [@elkaix](https://github.com/elkaix)! - Keep the file preview
close button in the top-right corner at every panel width, remove the
unused download action, and stop the running-task indicator from
overlapping a collapsed Task row title.

- [#238](#238)
[`7b00f1f`](7b00f1f)
Thanks [@elkaix](https://github.com/elkaix)! - Resize the web panels
with the arrow keys, and show the description for a question's free-text
answer.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Keep each Web session's
permission mode separate when switching sessions.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Show the Web session list
after its first workspace-group page loads.

- [#238](#238)
[`7b00f1f`](7b00f1f)
Thanks [@elkaix](https://github.com/elkaix)! - Show a subagent's
originating prompt above its transcript, centre the transcript, and add
a Back to bottom shortcut.

- [#231](#231)
[`26cd4ac`](26cd4ac)
Thanks [@elkaix](https://github.com/elkaix)! - Align the file-type icon
with the text in Read and Edit tool rows.

- [#238](#238)
[`7b00f1f`](7b00f1f)
Thanks [@elkaix](https://github.com/elkaix)! - Recover from a crashed
view instead of a blank screen, name a cancelled sign-in, keep the
composer toolbar readable at very narrow widths, and stop the sidebar
settings label from pushing the footer row.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Resolve renamed
workspaces correctly after restarting the server.
## @pymodel/pythinker-desktop@0.4.0

### Minor Changes

- [#243](#243)
[`d389e4d`](d389e4d)
Thanks [@elkaix](https://github.com/elkaix)! - The desktop app ships the
updated web workspace: the Dynamic Workflow card with per-subagent
routing details, Subagent Model Routing settings, attachment previews,
panel tabs, message folding, and session permission controls.

- [#239](#239)
[`fdaf83d`](fdaf83d)
Thanks [@elkaix](https://github.com/elkaix)! - The Dynamic Workflow card
shows each subagent's profile, model, thinking effort, elapsed time, and
routing source, groups rows by phase with failures first, and notes when
running subagents were created under an earlier routing.

- [#241](#241)
[`b891de7`](b891de7)
Thanks [@elkaix](https://github.com/elkaix)! - AgentDynamicWorkflow
accepts a `tasks` list where each entry sets its own subagent type,
model, and thinking effort. Pass `tasks` instead of `items`, with
optional `defaults.subagent_type`.

- [#235](#235)
[`03d9835`](03d9835)
Thanks [@elkaix](https://github.com/elkaix)! - The Lab settings show
when an experimental flag is controlled by the environment and when the
saved setting is overridden.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Attach files from
server-local paths in Web prompts.

- [#240](#240)
[`55d12a2`](55d12a2)
Thanks [@elkaix](https://github.com/elkaix)! - Settings gains a Subagent
Model Routing control with Inherit, Default, Pool, and Force modes and
shows the saved policy next to the routing that currently applies.

- [#236](#236)
[`faeb195`](faeb195)
Thanks [@elkaix](https://github.com/elkaix)! - Add a subagent model
policy setting with inherit, default, pool, and force modes that rejects
models that are not configured.

- [#237](#237)
[`a60a427`](a60a427)
Thanks [@elkaix](https://github.com/elkaix)! - Subagent tasks and
Dynamic Workflow results now record the profile, model, and routing
source of each subagent, and a resumed subagent keeps the binding it was
created with.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Show file, folder, image,
and video attachments as compact composer pills with media previews.

- [#238](#238)
[`7b00f1f`](7b00f1f)
Thanks [@elkaix](https://github.com/elkaix)! - Add word-wrap and
line-number toggles to every code block and diff block in the web chat.

- [#238](#238)
[`7b00f1f`](7b00f1f)
Thanks [@elkaix](https://github.com/elkaix)! - Add a Message folding
settings section that turns off auto-folded turns and the tool call
summary row.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Open multiple detail
views as tabs in the Web panel.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Add selected conversation
or panel text to the composer as quoted context.

- [#238](#238)
[`7b00f1f`](7b00f1f)
Thanks [@elkaix](https://github.com/elkaix)! - Move a running Bash
command or foreground subagent to the background from its row in the web
chat.

### Patch Changes

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Remind the agent about
unfinished background tasks when work continues in a later turn.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Redact service
credentials and raw configuration from config API responses.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Accept MCP tool results
that contain text content or structured content.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Refresh model
authentication readiness after provider configuration changes.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Show the complete
remote-control link after startup.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Keep configured secondary
model aliases unchanged when provider catalogs refresh.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Warn before sending
arguments to a slash command that does not accept them.

- [#234](#234)
[`8959522`](8959522)
Thanks [@elkaix](https://github.com/elkaix)! - Subagent model settings
no longer keep stale force or pool values after a change.

- [#232](#232)
[`974da73`](974da73)
Thanks [@elkaix](https://github.com/elkaix)! - Keep the file preview
close button in the top-right corner at every panel width, remove the
unused download action, and stop the running-task indicator from
overlapping a collapsed Task row title.

- [#238](#238)
[`7b00f1f`](7b00f1f)
Thanks [@elkaix](https://github.com/elkaix)! - Resize the web panels
with the arrow keys, and show the description for a question's free-text
answer.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Keep each Web session's
permission mode separate when switching sessions.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Show the Web session list
after its first workspace-group page loads.

- [#238](#238)
[`7b00f1f`](7b00f1f)
Thanks [@elkaix](https://github.com/elkaix)! - Show a subagent's
originating prompt above its transcript, centre the transcript, and add
a Back to bottom shortcut.

- [#231](#231)
[`26cd4ac`](26cd4ac)
Thanks [@elkaix](https://github.com/elkaix)! - Align the file-type icon
with the text in Read and Edit tool rows.

- [#238](#238)
[`7b00f1f`](7b00f1f)
Thanks [@elkaix](https://github.com/elkaix)! - Recover from a crashed
view instead of a blank screen, name a cancelled sign-in, keep the
composer toolbar readable at very narrow widths, and stop the sidebar
settings label from pushing the footer row.

- [#242](#242)
[`254be65`](254be65)
Thanks [@elkaix](https://github.com/elkaix)! - Resolve renamed
workspaces correctly after restarting the server.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

desktop-v0.3.9

Toggle desktop-v0.3.9's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
ci: release packages (#227)

This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @pymodel/pythinker-desktop@0.3.9

### Patch Changes

- [#228](#228)
[`62e2e75`](62e2e75)
Thanks [@elkaix](https://github.com/elkaix)! - Lay out the update
release notes as a readable list with the build reference as a footnote,
and show when there is more to scroll.

- [#226](#226)
[`e9ebda6`](e9ebda6)
Thanks [@elkaix](https://github.com/elkaix)! - Show the changelog for
the new version in the update dialog instead of a build stamp with raw
HTML tags.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Update dialogs now display the new version’s changelog instead of a
raw build stamp or HTML markup.
- Release notes are presented as a readable list with the build
reference shown as a footnote.
- A scroll indicator appears when additional release-note content is
available.

- **Release**
  - Desktop application updated to version 0.3.9.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

desktop-v0.3.8

Toggle desktop-v0.3.8's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
ci: release packages (#220)

This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @pymodel/pythinker-code@1.5.0

### Minor Changes

- [#222](#222)
[`6fb46b0`](6fb46b0)
Thanks [@elkaix](https://github.com/elkaix)! - Add Remote Control, which
makes the local web UI reachable from a phone or another computer. Run
`pythinker rc`, or use `/rc` in the terminal UI, and scan the printed QR
code. Enable it with `PYTHINKER_CODE_EXPERIMENTAL_REMOTE_CONTROL=1`.

- [#221](#221)
[`e6778dc`](e6778dc)
Thanks [@elkaix](https://github.com/elkaix)! - Add a task detach action
to the server API. Call `POST
/api/v1/sessions/{session_id}/tasks/{task_id}:detach` to move a running
foreground task to the background.

### Patch Changes

- [#221](#221)
[`e6778dc`](e6778dc)
Thanks [@elkaix](https://github.com/elkaix)! - Report a denied OpenAI
Codex sign-in as cancelled instead of asking for the redirect URL.

- [#223](#223)
[`ad27021`](ad27021)
Thanks [@elkaix](https://github.com/elkaix)! - Remote Control now
authenticates to the relay with its own key instead of the local server
token. Pass `--relay-key` or set
`PYTHINKER_CODE_REMOTE_CONTROL_RELAY_KEY`.

- [#221](#221)
[`e6778dc`](e6778dc)
Thanks [@elkaix](https://github.com/elkaix)! - Show the prompt that
started a subagent turn in the transcript.

- [#219](#219)
[`882835e`](882835e)
Thanks [@elkaix](https://github.com/elkaix)! - Fix sessions that fail to
resume when their session journal is truncated or corrupted, for example
after the disk fills up.

- [#221](#221)
[`e6778dc`](e6778dc)
Thanks [@elkaix](https://github.com/elkaix)! - Retry a failed session
journal repair before writing new records, so no message is appended
behind a corrupted tail.
## @pymodel/pythinker-desktop@0.3.8

### Patch Changes

- [#225](#225)
[`f27686a`](f27686a)
Thanks [@elkaix](https://github.com/elkaix)! - Install Windows updates
in the background instead of opening the installer wizard, and report an
update that did not take effect.
## pythinker@0.9.7

### Patch Changes

- [#221](#221)
[`e6778dc`](e6778dc)
Thanks [@elkaix](https://github.com/elkaix)! - Fix duplicated streaming
output when a session is opened twice at the same time.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Added Remote Control for accessing the local interface from other
devices.
- Added the ability to detach running tasks and continue them in the
background.
- Added dedicated authentication support for Remote Control connections.

- **Bug Fixes**
- Improved sign-in cancellation reporting and subagent prompt
visibility.
  - Improved recovery and repair of corrupted session history.
- Prevented duplicate streaming output when sessions are opened
concurrently.
- Windows updates now install silently in the background and report
unsuccessful updates.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>