Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: ChesterRa/cccc

v0.4.26

10 Jun 11:48
@ChesterRa ChesterRa

Choose a tag to compare

CCCC v0.4.26 Release Notes

v0.4.26 is a reliability release for Web terminals, group sending, local memory, and daemon cleanup.

The main theme is making long-running CCCC groups feel less fragile. Terminal sessions reconnect with less missing output, read-only viewers are kept out of the terminal control path, stopped groups can be woken by sending instead of being blocked by stale browser state, and the ledger index is less likely to trip over SQLite writer contention during busy reads and writes.

More Reliable Web Terminals

Web terminal attach and reconnect now use the raw PTY byte stream as the source of truth.

When a browser connects to a running PTY actor, CCCC can replay the retained terminal backlog and seed the client from an absolute byte cursor. Reconnects resume from the byte gap instead of re-rendering a lossy text snapshot. This improves terminal continuity after tab refreshes, network hiccups, and WebSocket reconnects.

Terminal access control is also clearer:

  • viewer connections can watch output without becoming terminal writers;
  • control connections are explicit;
  • control takeover is represented separately from normal viewing;
  • read-only exhibit mode always attaches terminals as viewers and cannot steal control from an active operator.

The Web terminal also no longer recreates the live xterm instance when the user changes theme or terminal scrollback settings. Those settings are applied in place, which avoids a class of failures where the terminal looked connected but input or resize events were still bound to a disposed instance.

Better Terminal Diagnostics and Text Rendering

Terminal tails and diagnostics now render more accurately for wide CJK/fullwidth characters and alternate-screen terminal apps such as editors or full-screen TUIs.

This does not try to replace xterm for live terminal rendering. It improves the text snapshot paths used by diagnostics, terminal history, stopped terminal output, and debugging views so that copied or inspected output is easier to understand.

Group Sends Wake More Reliably

The Web composer no longer blocks a send just because the current runtime projection says no actor is running.

That browser-side state can be stale during group wake-up or actor refresh races. CCCC now lets the server-side send path decide whether a stopped group can wake, while still blocking explicit paused groups. This makes "send to wake" flows more predictable and avoids false disabled-send states after runtime transitions.

The chat view also avoids forcing the scroll position to the bottom while the user is browsing detached history, reducing jumps during active conversations.

First-Class Local Memory Operations

CCCC now exposes local memory operations through the daemon:

  • memory_search;
  • memory_get;
  • memory_write;
  • memory_profile_get;
  • memory_health.

These operations sit on top of the existing local ReMe-backed memory store, so they do not introduce a second memory system. They give runtimes and integrations a stable daemon API for searching, reading, writing, and checking local group memory.

Runtime and Ledger Stability

Headless Codex and Claude session shutdown now waits briefly for worker threads to exit after the runtime process is stopped. This reduces stale stdout, stderr, websocket, and turn-loop threads after stop/restart flows.

Ledger index catch-up is now serialized with the append indexing path. This avoids transient SQLite writer-lock failures during busy ledger tail/search requests while another path is updating the same index.

Windows ConPTY installs avoid the newly regressed pywinpty 3.0.4 release while keeping the previously verified 3.0.3 path available. That keeps Windows PTY smoke tests and actor startup stable without forcing users back to the older 2.x line.

Smaller Web and Permission Fixes

This release also includes several focused fixes:

  • reply uploads now reject invalid default recipients with a clear validation error;
  • foreman actors can remove peer actors through the expected management path;
  • task reference chips have stronger contrast in dark mode;
  • composer image previews and stopped terminal output paths remain covered by focused regression tests.
Assets 2
Loading

v0.4.25

04 Jun 04:53
@ChesterRa ChesterRa

Choose a tag to compare

CCCC v0.4.25 Release Notes

v0.4.25 is a focused Web performance release.

Web GPU Idle Load

The CCCC Web UI no longer runs decorative background blob animation while the page is idle.

The background keeps the same visual layering, but the animated morphing effect has been replaced with a static shape. This reduces baseline GPU work and should make the Web UI feel smoother on older desktops, WSL-based setups, and machines using integrated graphics.

Loading

v0.4.24

03 Jun 15:27
@ChesterRa ChesterRa

Choose a tag to compare

CCCC v0.4.24 Release Notes

v0.4.24 adds first-class Grok Build runtime support, introduces a safer Reset group workflow, and fixes project attachment when CLI requests cross the daemon boundary.

The main theme is making day-to-day group operations smoother. Users can now run Grok Build actors through the same CCCC runtime surfaces as other supported CLIs, reset an experimental group without manually rebuilding it from scratch, and attach project directories reliably even when the daemon is running from a different working directory.

Grok Build Runtime Support

Grok Build is now a first-class PTY runtime in CCCC.

You can select grok from the CLI and Web runtime surfaces, use it in actor configuration and runtime profiles, see the Grok runtime logo in the Web UI, and run setup diagnostics through the normal CCCC runtime/MCP paths. The default launch command is grok, matching Grok Build's interactive CLI entrypoint.

CCCC's MCP stdio server was also tightened for clients such as Grok that send plain newline-delimited JSON instead of MCP Content-Length frames during initialization. The server now mirrors the inbound stdio framing style: plain JSON clients receive plain JSON responses, while framed clients continue to receive framed responses. Protocol negotiation also accepts the current Grok MCP initialization version while preserving compatibility with existing MCP clients.

Reset Group

Groups can now be reset without manually deleting and recreating them.

Reset group creates a clean replacement group and deletes the current group. It keeps the high-effort configuration users are likely to care about, including:

  • group name and project scope;
  • actor definitions and runtime configuration;
  • stored actor secrets;
  • automation rules and automation timing/settings.

It intentionally does not copy message history, memory, context, runtime sessions, or provider state. This makes it useful after experiments, failed runs, or messy exploratory work where the group configuration is still valuable but the working history should be discarded.

The Web UI exposes Reset group next to Delete group in the group edit dialog. The controls now use consistent contextual tooltips, and the reset confirmation dialog still explains that a new group ID will be created. The CLI also provides cccc group reset --group <id> --confirm <id> for scripted or terminal-based workflows.

More Reliable Project Attachment

cccc attach . and cccc group use now resolve paths in the CLI before sending requests to the daemon.

Previously, a relative path such as . could be interpreted relative to the daemon's process directory instead of the user's project console. In some setups this made an ordinary project attach look like an attempt to attach CCCC_HOME, producing errors such as workspace scope must be a project directory, not CCCC_HOME.

v0.4.24 fixes that boundary by sending absolute resolved paths from the CLI. The Web attach route also rejects relative paths with a clear error, so Web requests cannot silently depend on daemon cwd.

Loading

v0.4.23

01 Jun 04:52
@ChesterRa ChesterRa

Choose a tag to compare

CCCC v0.4.23 Release Notes

v0.4.23 is a reliability release for Web chat history, NotebookLM/Group Space workflows, automation load, Copy Groups exports, and Windows PTY startup output.

The main theme is making CCCC's fast paths safer. The Web UI and daemon now rely more on indexed and cached state for speed, but this release tightens the repair and ordering rules so those fast paths continue to behave like the append-only ledger and remote notebooks are the source of truth.

More Reliable Web Chat History

Web chat history now loads recent messages in chronological order and paginates older history more predictably.

CCCC previously used an indexed ledger search path for chat history. That path is much faster than scanning the whole ledger, but it returned the newest records in reverse order unless an individual route corrected it. The Web tail route compensated for one path, while other history/search paths could still see inconsistent ordering. This could make the chat area appear to skip, repeat, or fail to connect older messages cleanly.

v0.4.23 moves the ordering rule into the shared message search layer. Default history reads now return the latest window in normal conversation order, while anchored reads still return the older or newer window around the requested message. The initial Web history window also loads more recent messages by default, reducing the chance that active conversations look truncated immediately after opening a group.

The ledger index also repairs more stale-cache states. If the on-disk ledger still contains messages but the sqlite index has incomplete or inconsistent source bounds, CCCC now detects the mismatch and rebuilds the affected source. Full event-id lookups can also fall back to scanning the ledger instead of treating an index miss as proof that the event does not exist.

Faster, Quieter NotebookLM and Group Space Operations

NotebookLM-backed Group Space operations now do less unnecessary remote work.

Plain context_sync no longer automatically uploads generated context_sync sources into the work NotebookLM notebook. Work notebook uploads are now explicit, which avoids filling the user's working notebook with repeated internal context snapshots. Query diagnostics continue to use locally available sync state rather than depending on those uploaded sources.

Group Space source and artifact listings can now use cached remote snapshots from the last sync, with an explicit fresh mode still available when a live provider read is needed. Background sync records remote source and artifact metadata without forcing full text materialization for every source. This makes routine Web settings and diagnostics views faster and less likely to block on NotebookLM provider calls.

The space job queue now reconciles stale running jobs left behind by an earlier daemon process. Those jobs are marked failed with a clear stale-job reason instead of staying active forever and confusing queue summaries.

Lower Web and Automation Load

Several hot paths were tightened to keep the Web UI responsive under busy groups.

Ledger tail, message search, batched event lookup, chat ack/reply status, and tail read paths now lean on the ledger index and batched reads instead of repeated full-ledger scans. Automation nudge scans are also throttled per group based on the configured nudge windows, reducing repeated obligation scans without changing the actual nudge policy.

Daemon logs are quieter by default for HTTP and NotebookLM provider internals, so debug sessions are less likely to be dominated by dependency noise.

More Reliable Windows PTY Output

Windows ConPTY sessions now drain buffered output even when the launched command exits very quickly.

This fixes a race where a fast command could exit before the PTY reader consumed its final output, causing smoke commands such as cmd.exe /c echo ... to appear as if they produced only terminal control sequences and not the expected text.

Copy Groups Export Downloads

Copy Groups export downloads now use a safer Content-Disposition header.

Downloads with Unicode group titles now include an ASCII fallback filename plus an RFC 5987 filename* value. This keeps zip downloads working across browsers and HTTP header encoders that require latin-1-safe header text.

Loading

v0.4.22

29 May 08:29
@ChesterRa ChesterRa

Choose a tag to compare

CCCC v0.4.22 Release Notes

v0.4.22 is a reliability and usability release for runtime operators, IM bridge users, and Web users. It tightens Codex and Hermes launch behavior, makes delivered runtime work less noisy in the inbox, improves DingTalk reply routing, makes actor profiles easier to use for non-admin users, and adds image previews to chat attachments before sending.

Runtime Launch Reliability

Codex actors now build their launch command with the daemon environment as part of command normalization.

This matters most in Docker and service-managed deployments: values such as OPENAI_BASE_URL can be supplied once to the daemon environment and still be reflected in Codex runtime configuration. Actor-specific environment remains the higher-priority override, so teams can keep a shared default endpoint while letting individual actors use a different endpoint when needed.

Codex app-server sessions also detect provider authentication failures more clearly. When the runtime reports a 401 authentication failure, CCCC records the runtime session as auth_failed, disables resume eligibility for that saved session, and preserves the error text for operator diagnostics. This avoids treating stale Codex app-server resume metadata as still usable after an authentication problem.

Hermes PTY actors also get safer terminal defaults at launch. CCCC now supplies TUI-oriented environment defaults for Hermes PTY sessions, including mouse/input and terminal color settings, while preserving any explicit values configured by the user. This makes Hermes startup behavior more predictable under CCCC's PTY surface without turning the defaults into hard-coded user policy.

DingTalk Reply Routing

DingTalk conversation state is now persisted across bridge restarts.

CCCC remembers recent session webhook metadata along with whether a conversation is group or one-to-one and, for one-to-one conversations, the DingTalk user id needed by the fallback API. This improves reply behavior after reconnects and prevents one-to-one DingTalk conversations whose ids look like cid... from being incorrectly treated as group chats once the short-lived webhook is unavailable.

Cleaner Delivery State

Successful PTY delivery now marks delivered runtime messages as read by default.

For runtime actors, this read cursor represents that CCCC has handed the message to the runtime, not that a human operator manually reviewed it. The new default keeps actor unread indicators closer to the actual delivery state and reduces stale unread noise after successful injection.

Operators who prefer the previous behavior can still turn the setting off. Existing explicit auto_mark_on_delivery=false configuration remains respected.

Actor Profiles For Non-Admin Users

The profile API now has an accessible view that returns the profiles a caller can actually use.

Non-admin users can retrieve global profiles and their own user-scoped profiles through one request. Admin users receive the full profile set. This moves the visibility rule to the server side and removes the need for the Web client to merge separate global and personal profile lists itself.

The result is simpler profile selection in the Web UI and a clearer permission boundary for user-scoped actor profiles.

Chat Attachment Preview

The chat composer now shows a hover preview for image attachments before they are sent.

Preview placement is constrained to the viewport, so small screens and bottom-of-screen composers should avoid clipped previews. Non-image attachments keep the compact file chip behavior.

Loading

v0.4.21

25 May 11:00
@ChesterRa ChesterRa

Choose a tag to compare

CCCC v0.4.21 Release Notes

v0.4.21 is a focused runtime operations release. It adds OpenCode as a first-class PTY runtime, makes Codex custom OpenAI-compatible endpoints easier to use in Docker deployments, and gives Web operators an explicit way to start a fresh Claude or Codex session when resume state is no longer wanted.

The release keeps the runtime model conservative: new session control clears CCCC's local resume metadata and starts the actor with the same settings, but it does not delete provider-side conversation history or introduce a provider session manager.

OpenCode Runtime Support

OpenCode is now available as a first-class PTY runtime across the main actor surfaces.

Users can select OpenCode from the Web actor configuration flow, runtime profile views, CLI actor commands, setup diagnostics, and runtime detection. OpenCode actors use the normal CCCC actor lifecycle and PTY terminal surface.

CCCC also wires MCP for OpenCode at actor launch time through OpenCode's runtime configuration environment, instead of editing a global OpenCode config file. This keeps each actor's CCCC group and actor identity scoped to the runtime process that is being launched.

The Web runtime selector and runtime avatar surfaces were updated alongside the new runtime. The selector is searchable so the full runtime list remains discoverable as more supported runtimes are added, and OpenCode has its own logo treatment in the Web UI.

Codex Docker Endpoint Configuration

Docker deployments can now use OPENAI_BASE_URL as the CCCC compatibility entry for Codex custom endpoints.

When launching Codex actors, CCCC maps OPENAI_BASE_URL into Codex CLI's openai_base_url runtime config. This applies to the normal Codex PTY path and the Codex app-server backed path, so Docker Compose users can rotate or switch OpenAI-compatible endpoints with the same environment variable they already expect to configure.

The Docker .env example and Docker getting-started guide now call out this mapping explicitly.

Fresh Session Control for Claude and Codex

The Web actor detail panel now includes a New Session action for Claude and Codex actors.

This is intended for the common operator case where a saved resume session fails, points at stale provider state, or is simply not the session the user wants to continue. The action asks for confirmation, stops the current runtime if it is running, clears CCCC's saved session metadata for that actor, and starts the actor again with the same runtime settings.

The control is intentionally limited to Web operator use and to runtimes that already have resume support. It is not advertised through the agent-facing MCP actor surface.

Loading

v0.4.20

22 May 12:16
@ChesterRa ChesterRa

Choose a tag to compare

CCCC v0.4.20 Release Notes

v0.4.20 focuses on making Voice Secretary, Web chat, and the day-to-day Web workspace feel more dependable under real usage. It improves local ASR document handling, reduces noisy voice UI states, tightens message delivery infrastructure, and polishes several high-traffic Web surfaces.

The release is not a new product mode. It is a stability and usability release for the workflows users already depend on: recording, refining documents, sending chat messages, configuring actors, and reviewing attached files.

Voice Secretary Reliability

Voice Secretary document mode is more reliable across both Browser ASR and Local ASR.

Stopping Local ASR can now trigger the same final document-refinement path as Browser ASR, so users do not need a separate manual instruction after recording. Normal Local ASR websocket shutdowns are no longer reported as unexpected failures after successful stop/save flows.

The Web UI also reports clearer recording-stop diagnostics. When a recording stops because of a microphone track ending, a local ASR backend error, a websocket interruption, or an audio-context state change, the status is easier to understand. These diagnostics are designed to help distinguish real capture failures from expected stop paths.

Document Workspace Updates

The Voice Secretary document workspace now refreshes more quietly and more accurately.

When the Doc panel is open, CCCC checks lightweight document metadata in the background and loads full document content only when the active document revision changes. This keeps agent-updated documents visible without forcing frequent full-content refreshes or overwriting local edits.

The Activity and transcript areas were also tightened. Live recording feedback remains visible, while completed document transcripts stay in the document workspace instead of duplicating low-value "heard" cards across the Activity feed.

Web Workspace Polish

The actor configuration experience is now more consistent. Add and Edit Actor flows share the same modal foundation, reducing the UI mismatch between creating a runtime and updating one.

Several high-traffic Web surfaces received layout and polish work, including search, group/sidebar items, message bubbles, runtime detail headers, modal framing, typography, and markdown code blocks. The changes are intended to improve scanability and reduce wasted space in operational screens.

Slash command filtering now prioritizes command names over noisy short description matches, making short queries more predictable.

Messaging and Ledger Reliability

The daemon now has stronger isolation for message request lanes and more diagnostic evidence around chat send/reply failures. This improves reliability when multiple message requests are active and makes short-circuit failures easier to inspect.

Ledger and inbox paths were also tightened around reverse lookup, segment handling, compact thresholds, and reply idempotency. These changes reduce unnecessary scans and make message state more predictable under larger or longer-running groups.

MCP Attachment Handling

MCP file and blob helpers now report Markdown attachments as text/markdown when sending or inspecting files. This improves attachment rendering and downstream handling for common Voice Secretary and documentation workflows.

Developer and Test Stability

Local development proxying now respects CCCC_WEB_HOST and CCCC_WEB_PORT, which makes Web development less tied to a single default backend address.

The release also improves test isolation around remote access environment variables, IM startup process spawning, pre-commit timeout handling, Sherpa ASR worker JSONL output, and Voice Secretary service/runtime paths.

Loading

v0.4.19

19 May 14:32
@ChesterRa ChesterRa

Choose a tag to compare

CCCC v0.4.19 Release Notes

v0.4.19 is a focused runtime reliability patch for Windows actors, Codex app-server backed PTY sessions, and provider resume recovery.

The release does not introduce a new runtime model. It tightens the existing one: failed provider resumes should recover cleanly, fresh sessions should produce durable metadata where the provider supports it, and Windows process/PTY behavior should match the daemon's restart expectations more closely.

Runtime Resume Recovery

Failed PTY resumes are now treated as recoverable launch failures instead of terminal startup failures.

When a saved provider session cannot be resumed, CCCC marks that metadata as failed and starts a fresh actor. Claude and Gemini fallback launches continue to use explicit provider session IDs, so the newly started session can be recorded durably. Codex PTY keeps its existing status-capture based session discovery path.

Codex app-server backed PTY actors also recover more cleanly after stale thread metadata. If a saved thread cannot be resumed, the remote TUI starts against the app-server normally and records the fresh thread id from app-server notifications once it appears. This prevents later relaunches from repeatedly chasing the stale thread.

Windows Actor Reliability

Windows actor restart paths now handle more of the real process environment.

CCCC resolves Windows command shims before launching Codex app-server processes, terminates real app-server process trees more reliably during restart/stop, and answers the terminal capability queries used by Gemini and related PTY runtimes without duplicating replies when a real terminal writer is attached.

MCP runtime context recovery can now read parent and ancestor process environments on Windows, matching the existing POSIX recovery behavior more closely. This helps MCP commands recover CCCC_HOME, group, and actor identity when the immediate process environment is incomplete.

Codex Remote TUI Stability

Codex remote TUI startup now resumes known app-server threads when possible and falls back to a plain remote TUI when the saved thread is stale.

The shutdown path is also more bounded: websocket close operations no longer risk blocking indefinitely, observer websocket disconnects no longer imply actor stop, and remote TUI exit handling preserves provider resume metadata unless the app-server thread itself is known to be invalid.

Loading

v0.4.18

18 May 03:23
@ChesterRa ChesterRa

Choose a tag to compare

CCCC v0.4.18 Release Notes

v0.4.18 is a runtime expansion and Voice Secretary reliability release.

The previous release reduced ambiguity for Codex PTY actors by separating terminal access from structured runtime state. This release continues that direction in two ways: it adds Hermes as a formally supported runtime, and it tightens the daily Web and Voice Secretary paths that depend on accurate daemon state.

The main theme is making runtime behavior explicit without adding more user-managed setup burden.

Hermes as a Supported Runtime

Hermes is now wired through CCCC as a first-class runtime.

CCCC can detect the Hermes CLI, report launch readiness, prepare the CCCC MCP server through Hermes' own MCP setup flow, and run a Hermes MCP test with probe actor identity. The new daemon IPC operations are documented as:

  • runtime_hermes_status
  • runtime_hermes_prepare
  • runtime_hermes_mcp_test

Hermes follows the same practical integration model as Claude and Codex: CCCC uses the selected user Hermes home/profile instead of creating a separate managed profile. If a user explicitly sets HERMES_HOME, CCCC respects that as a normal runtime environment override. MCP setup keeps ${CCCC_HOME}, ${CCCC_GROUP_ID}, and ${CCCC_ACTOR_ID} placeholders in the saved Hermes config so each actor process resolves its own CCCC identity at launch time.

The Web UI also recognizes Hermes in runtime selectors and runtime display. Hermes receives its own logo asset, while ChatGPT Web Model now reuses the Codex logo so OpenAI-backed runtimes are visually consistent.

Runtime Logo Rendering

Runtime logos now render as branded assets on a stable light logo plate.

This fixes the dark-mode failure mode where a transparent black SVG could sit directly on a dark avatar background and become unreadable. The change is intentionally generic: PNG and SVG runtime logos both keep their original brand colors, and the UI provides the contrast surface instead of rewriting the asset colors for each theme.

Voice Secretary Reliability

Voice Secretary recording and transcript delivery are more robust.

The daemon now owns a TTL-based recording lease so multiple browser tabs, browsers, or devices cannot silently start competing Voice Secretary recording streams for the same CCCC home. A crashed or disconnected client no longer leaves the system permanently blocked because the lease expires.

Final ASR output is now represented explicitly, and transcript chunking handles CJK text more naturally. Voice input notification cursors were also tightened so new input is delivered to the assistant without relying on stale cursor state or emitting unnecessary duplicate nudges.

For document-centered workflows, the Web UI can request compact Voice Secretary state views and load document content explicitly. This reduces over-fetching, makes workspace document loading clearer, and keeps the activity stream focused on useful user-facing progress instead of transient process noise.

Runtime Session and Codex Stability

Codex app-server and PTY session handling received another hardening pass.

CCCC now has clearer app-server thread start/resume behavior for Codex, stronger handling for bootstrap-control failures, and safer restart semantics around saved provider session metadata. Closing an observer-side connection no longer stops a Codex PTY actor by accident, and restart paths are less likely to leave PTY state, app-server state, and stored runtime session metadata disagreeing with one another.

Actor restart flows also support explicit fresh-session behavior where appropriate, so users can intentionally clear saved provider session state instead of being forced back into an old provider conversation.

Web State Synchronization

The Web chat surface is less prone to stale or conflicting request state.

SSE handling now has a shared connection registry, reducing duplicate stream ownership and making reconnect behavior easier to reason about. Chat request paths include stronger freshness guards, and failed sends restore composer state instead of losing the user's draft. Formal ledger event updates also avoid triggering unnecessary slash-command refresh work.

Together, these changes make Web state feel less jumpy during active group work, especially when runtime events, assistant updates, and message delivery are happening at the same time.

IM and WeCom Polish

IM delivery preserves sender and mention context more consistently.

The bridge now carries inbound sender identity and mention-user metadata through more of the routing path, including outbound replies where the platform adapter can use that context. WeCom behavior was also hardened around its existing media and streaming paths.

Loading

v0.4.17

13 May 15:33
@ChesterRa ChesterRa

Choose a tag to compare

CCCC v0.4.17 Release Notes

v0.4.17 is a focused runtime-state reliability release.

The previous release introduced durable provider session metadata and tightened Web runtime synchronization. This release continues that work where it matters most in daily use: Codex actors that still need an interactive PTY surface, but whose actual working state is better represented by structured Codex app-server events than by terminal text alone.

The main theme is reducing runtime state ambiguity without taking away the terminal experience.

Codex PTY with App-Server State

v0.4.17 adds an app-server-backed state source for Codex PTY actors.

When enabled, a Codex actor can keep its PTY interface for user inspection and interaction while CCCC derives runtime activity from Codex app-server state. This gives CCCC a more reliable signal for whether the actor is working, waiting, stopped, or stale, while preserving the operational affordance of a terminal.

This is intentionally scoped:

  • the actor still appears and behaves as a PTY actor where terminal access matters;
  • delivery to the actor remains on the PTY path;
  • activity rings and actor-list state can use app-server truth instead of terminal heuristics; and
  • non-Codex PTY actors continue to use the terminal-state path.

Cleaner App-Server PTY Lifecycle

The new Codex PTY/app-server mode now has tighter lifecycle boundaries.

If the remote Codex TUI exits, CCCC also stops the backing app-server session. Disabled actors now project as stopped even if stale app-server or headless state is still present on disk. App-server-backed PTY actors also avoid duplicate bootstrap queuing from both the app-server side and the PTY side.

Together, these changes address the failure mode where the Web UI, terminal surface, and daemon session could disagree about whether a Codex actor was really running.

Better PTY Activity Detection

Terminal-derived activity detection has been split into reusable helpers and made more precise.

Codex PTY detection now respects the latest visible signal: a newer Working (...) banner is treated as working even if an older prompt line is still present in the terminal tail, while a prompt that appears after a working banner correctly marks the actor idle. Claude PTY detection also recognizes boxed prompts and common working indicators more cleanly.

This reduces both false-idle and false-active states for actors whose activity still comes from terminal output.

WeCom Media and Active Sends

The WeCom adapter now supports a more complete media path.

Outbound files and media use the WeCom AI Bot WebSocket chunk upload protocol instead of the previous incomplete HTTP media-upload path. The adapter can also send active markdown or media messages when there is no current callback reply handle, which makes outbound WeCom delivery less dependent on a recent inbound callback.

The WeCom guide now reflects the improved media behavior and the remaining inline stream-image limitations.

Web UI State Polish

v0.4.17 includes several smaller Web refinements that support runtime supervision:

  • runtime dock rings treat app-server-backed Codex PTY actors as structured runtime sessions;
  • actor avatars use an inline Claude logo for Claude actors;
  • message scrolling clears stale bottom/unread affordances more reliably; and
  • jump-to-message views start detached instead of immediately pretending the user is following the live tail.

These are small changes, but they reduce confusing UI state while supervising busy groups.

Loading
Previous 1 3 4 5 6 7
Previous

AltStyle によって変換されたページ (->オリジナル) /