Skip to content

Releases: chengrouter/chengos

ChengOS Release v0.3.0

Choose a tag to compare

@chengrouter chengrouter released this 26 Oct 02:51

Overview

v0.3.0 adds native coding-agent setup to the deployment tooling (Codex and
Claude Code), a browser handoff setting for agents that need the user to
finish sign-in, and an OpenWrt appliance package. It also tightens the CLI
sandbox: single-user installs without an allowlist now run in deny-only mode
instead of disabling CLI sessions, and the release contract is hardened with
version-pinned Docker and native rollback.


New Features

1. Native Coding-Agent CLI Setup (Codex and Claude Code)

Files: deploy/cli/claude.sh, deploy/lib/cli-common.sh, deploy/lib/env-file.sh, deploy/tests/coding-agent-setup-smoke.sh

  • Codex install without Node: the installer downloads a Codex build directly from the npm registry, verifies its SHA-512 integrity and a pinned-key ECDSA signature, validates the archive layout, and records a full-tree manifest per version
  • Activation probe: activation probes the native binary locally and through the backend's sandboxed admin coding-agent-probe before committing settings
  • Atomic configuration: all coding-agent keys are committed in one locked .env transaction; --repair reconciles bookkeeping if a failure happens after the commit
  • Claude Code task mode: Claude Code can be installed and reconfigured on its own, beside the Codex installer, with quoted allowlists and a restart request shared by both CLIs
  • Single-user web scope: --enable-web-default-scope lets the platform administrator run coding agents from the web without a CLI session (device-code login required). It is never enabled implicitly, is refused unless sign-in mode is single with managed credentials on, and --close-signup closes open registration alongside it
  • Read-only defaults: when the Claude Code allowed-tools key is absent, git and test commands are read-only by default; an explicitly empty value keeps shell commands off
  • Docker: coding agents stay disabled in Docker until the bubblewrap sandbox gate passes under the default policy

2. Browser Handoff and Remembered Profiles

Files: deploy/.env.example, deploy/docker/docker-compose.yml

  • Deployment config exposes the browser handoff settings, so an agent can pause and let the user finish sign-in in a browser
  • A remembered browser profile directory is configurable; Docker pins it inside the runtime mount and keeps the local window off

3. OpenWrt Appliance Packaging

Files: deploy/openwrt/, deploy/tests/openwrt-appliance-smoke.sh

  • Cross-build, packaging, procd service, probe, and deploy scripts for OpenWrt routers
  • An ELF check verifies the binaries are static for the target architecture before packaging
  • chengos-openwrt.sh is the appliance entry point; the appliance smoke test runs in CI

Changes

CLI Sandbox

Files: deploy/.env.example, deploy/README.md

  • Single-user deployments without CHENG_CLI_ALLOWED_ROOTS run CLI sessions in deny-only mode: any readable directory except system, home, credential, and .env locations. Previously CLI was disabled in this case
  • A set allowlist is always enforced; multi-user deployments still require one
  • Native (hybrid) and loopback desktop installs no longer set an allowlist by default; Docker keeps /app/workspace
  • Code indexing follows the same policy: an invalid or missing allowlist no longer means unrestricted indexing
  • CHENG_CLI_SANDBOX_PERMISSIVE is deprecated and ignored
  • CLI sessions and code indexing refuse to start in a directory that contains the deployment .env

Security Hardening

Files: deploy/.env.example, deploy/docker/docker-compose.yml, deploy/generate-env.sh

  • TRUST_PROXY_HEADERS is documented in the env template and set for the API container, whose only callers are the UI and app containers on the Docker network
  • Desktop CI tests the LAN static-serving and client-address paths and asserts the built index.html keeps its CSP nonce placeholder

Release Tooling

Files: release.sh, scripts/check-release-consistency.sh, scripts/verify-release-archive.sh, scripts/test-release-contract.sh

  • Release contract: authoritative root VERSION, release.sh as the maintainer entry point, and a consistency gate
  • Self-identifying native archives with .sha256 checksum and detached signature; scripts/verify-release-archive.sh verifies them
  • One embedded runtime version across all Rust components, surfaced by --version and /health
  • Docker images are published under exact tags with OCI labels and a release-manifest.json asset
  • Safe native update: checksum/signature verification, staged replacement, versioned backups, bounded health check, automatic restore, and chengos.sh rollback
  • Version-pinned Docker update and rollback driven by CHENGOS_VERSION

Infrastructure

  • VERSION is 0.3.0; release.sh synchronizes the Cargo workspace versions
  • The desktop CI workflow uploads only the deb / msi artifacts

Upgrade Instructions

From v0.2.1

# Online update
./chengos.sh update

Existing .env files keep their active CHENG_CLI_ALLOWED_ROOTS line, so CLI
behavior does not change. To opt into deny-only mode on a single-user install,
comment that line out and restart:

# deploy/.env
# CHENG_CLI_ALLOWED_ROOTS=...   # commented out to enable deny-only mode

./chengos.sh restart
./chengos.sh doctor

A setup that relied on CHENG_CLI_SANDBOX_PERMISSIVE=true to tolerate an invalid
allowlist entry now has CLI disabled until the entry is fixed or removed.

Fresh Install

# Native binary mode
curl -fsSL https://raw.githubusercontent.com/chengrouter/chengos/main/deploy/chengos.sh | bash -s -- --mode native

# Docker mode
curl -fsSL https://raw.githubusercontent.com/chengrouter/chengos/main/deploy/chengos.sh | bash

Migration Policy

reversible — the release adds no destructive schema change, and v0.2.1 can run
against the migrated database. chengos.sh rollback is permitted.


Downloads (China mirror)

For users in mainland China, the release archive is also available from Baidu Netdisk:


Known Limitations

  • Coding agents in Docker stay disabled until the bubblewrap sandbox gate passes under the default policy
  • macOS desktop packaging is out of scope until there is a signing identity and a notarization step
  • The Windows desktop MSI is built inside the builder VM rather than cross-compiled from Linux

Feedback

ChengOS Release v0.2.1

Choose a tag to compare

@chengrouter chengrouter released this 27 Sep 09:05

Overview

v0.2.1 is a deployment-focused patch release. Its headline is an optional
local decision model (Laya)
added to ai/decision_branch, which now routes
through one of three switchable providers — Jev, Laya, or LLM — and a
sign-in-free read-only demo account for public demos. Alongside them, this
release syncs the decision-provider configuration and routing templates into
deploy/, renames the FlowChat channel to ChengApp, and teaches
release.sh to version the chengflow-ui desktop app as its own repository.


New Features

1. Decision Providers — Jev / Laya / LLM (switchable)

Files: deploy/.env.example, deploy/lib/doctor.sh, deploy/HARDENING.md, deploy/docker/docker-compose.yml

  • Three switchable providers: ai/decision_branch routes each request through one of three providers, selected per node — Jev (hosted typed decision model; the routed request is sent to TypeSafe), LLM (a connected chat model used as an uncalibrated baseline), and Laya (a local model on this host). Switching providers is a node setting, not a redeploy
  • Local semantic routing (new — Laya): The Laya provider runs laya serve (a ggmlc GGUF model) on the deployment's own host, so routing decisions never leave the machine. It is off by default and operator-managed — users never see or set its address
  • Dedicated port 1215: Laya is pinned to 1215, never 8080, which is UI_PORT's default on the same host; chengos.sh doctor now fails if LAYA_PORT collides with the API, UI, or app port
  • Hybrid (native) mode: start.sh launches laya serve when LAYA_BIN and either LAYA_MODEL_PATH (one GGUF) or LAYA_MODELS_DIR (English + multilingual GGUFs in one server) are set, verifies each GGUF against its pinned sha256, and sends one warm-up request
  • Docker mode: run laya serve on the host and point the API container at it with LAYA_ENDPOINT=http://host.docker.internal:1215; the compose file now maps host.docker.internal to the host gateway
  • Identity by digest: laya serve reports only family names, so LAYA_ARTIFACT_SHA256 (and the per-family _MULTILINGUAL / _ENGLISH variants) pin the served GGUF — the only identity a calibration profile can be keyed on
  • Optional auth: Laya is unauthenticated unless LAYA_API_KEY is set; doctor fails when a reachable Laya has no token and warns even when it does, because only cheng-api should reach it

2. Sign-in-free Read-only Demo Account

Files: deploy/.env.example, deploy/README.md

  • No login for visitors: With CHENG_DEMO_MODE=true, CHENG_DEMO_USER_EMAIL names an ordinary (non-admin) account; the UI calls POST /api/v1/auth/demo and browses the whole app as that account, read-only
  • Fail-closed surface: Every write, execution REST/WebSocket, login, registration and password change, and reads of credentials, settings, members, channels, MCP and account data return 403 DEMO_MODE_RESTRICTED
  • Documented setup: Initialize the demo user, workspace and demo content with demo mode disabled on a trusted network, then stop, set CHENG_DEMO_MODE=true and CHENG_DEMO_USER_EMAIL, and start again

3. Decision Provider Config & Routing Template

Files: deploy/config/decision_providers.toml, deploy/config/decision_calibration.toml, deploy/config/i18n/nodes/ai-decision_branch.json, deploy/workflow-templates/decision-routing/

  • Provider defaults: decision_providers.toml is the single source of the built-in Jev and LLM decision-provider defaults, embedded at build time and overridable via CHENG_DECISION_PROVIDERS_TOML; the Laya provider is configured through the deployment environment instead
  • Calibration profiles: decision_calibration.toml ships measured provider × model × language × task thresholds; an uncalibrated combination is sent to fallback_out in calibrated mode
  • Node i18n: ai-decision_branch node labels and descriptions added under deploy/config/i18n/nodes/
  • Routing template: New experimental decision-routing workflow template (semantic routing to the smallest capable agent), plus updated main-chat and no-memory-chat templates

Changes

Packaging & Naming

Files: .github/workflows/desktop.yml, README.md, deploy/RELEASE_NOTES_v0.2.0.md

  • Desktop packages: The desktop CI workflow and the v0.2.0 notes list only deb / msi artifacts; the Linux build produces deb only
  • FlowChat → ChengApp: The messaging-channel examples in README.md (English and Chinese) rename the FlowChat channel to ChengApp

Repository Hygiene

Files: .gitignore

  • Frontend build output ignored: deploy/ui/assets/ and deploy/app/assets/ are no longer tracked — chengflow/build.sh regenerates them and the hashed filenames change on every build, so tracking them grew the repository without bound
  • Stray logs ignored: rungem.log added to the ignore list

Release Tooling

Files: release.sh

  • chengflow-ui versioned as its own repository: release.sh now bumps chengflow-ui/src-tauri/Cargo.toml alongside the other manifests, detects whether chengflow-ui is a separate git repository, and commits the version bump in the correct repository

Infrastructure

Release Contract

  • VERSION is 0.2.1; release.sh synchronizes the Cargo workspace versions and now includes chengflow-ui/src-tauri/Cargo.toml in its "files to change" summary and git add set

CI

  • .github/workflows/desktop.yml uploads only the deb / msi artifacts

Upgrade Instructions

From v0.2.0

# Online update
./chengos.sh update

# Or manual upgrade from local build
./chengflow/build.sh --hybrid
# Transfer dist/chengos-full-linux-amd64-v0.2.1.tar.gz to server
./chengos.sh update

Enabling the Local Laya Decision Model (optional)

# deploy/.env
LAYA_ENABLED=true
LAYA_PORT=1215
LAYA_BIN=/opt/laya/laya
LAYA_MODEL_PATH=/opt/laya/models/laya_multilingual_f16.gguf
# or, for English + multilingual in one server:
# LAYA_MODELS_DIR=/opt/laya/models
# LAYA_ARTIFACT_SHA256_MULTILINGUAL=<sha256>
# LAYA_ARTIFACT_SHA256_ENGLISH=<sha256>
# LAYA_API_KEY=<token>   # protects both laya serve and cheng-api

./chengos.sh restart
./chengos.sh doctor      # verifies the port and auth posture

Enabling the Public Demo Account

# deploy/.env
CHENG_DEMO_MODE=false
./chengos.sh start
# Through a trusted network, create the demo user, workspace and demo content
./chengos.sh stop
# Set CHENG_DEMO_MODE=true and CHENG_DEMO_USER_EMAIL=<demo user email>
./chengos.sh start

Fresh Install

# Native binary mode
curl -fsSL https://raw.githubusercontent.com/chengrouter/chengos/main/deploy/chengos.sh | bash -s -- --mode native

# Docker mode
curl -fsSL https://raw.githubusercontent.com/chengrouter/chengos/main/deploy/chengos.sh | bash

Downloads (China mirror)

For users in mainland China, the release archive is also available from Baidu Netdisk:


Known Limitations

  • The local Laya decision model is optional and operator-managed; a served GGUF without a pinned sha256 is uncalibrated and routes on raw answers only
  • Laya listens on all interfaces (laya serve has no --host option), so the port must be firewalled to the cheng-api host or protected with LAYA_API_KEY
  • The decision-routing workflow template is experimental and, with the Jev provider, sends the routed user request to TypeSafe on every turn
  • The guided onboarding config and rebuilt UI were reverted before this release and are not included
  • macOS desktop packaging is out of scope until there is a signing identity and a notarization step
  • The Windows desktop MSI is built inside the builder VM rather than cross-compiled from Linux

Feedback

ChengOS Release v0.2.0

Choose a tag to compare

@chengrouter chengrouter released this 20 Sep 05:53

ChengOS v0.2.0 Release Notes

Release Date: 2026-09-20
Previous Version: v0.1.2


Overview

v0.2.0 is a packaging and deployment release. Its headline is that ChengOS now
ships real installers instead of a source checkout: a desktop application
with an embedded engine, an Android mobile app, and native .deb / .rpm
packages for Linux (plus .msi on Windows). Alongside the installers, this
release hardens the self-hosted deployment path — a Cloudflare Tunnel origin, a
configurable trusted-proxy set and listen interface, and a chengos.sh doctor
diagnostic — and unifies every component under a single 0.2.0 version.


New Features

1. Desktop Application — ChengFlow Desktop (chengflow-ui)

Files: src-tauri/tauri.conf.json, scripts/build-desktop.sh, scripts/fetch-desktop-deps.py, .github/workflows/desktop.yml

  • Self-contained desktop app: The visual workflow editor and its execution engine now run on the user's own machine with an embedded PostgreSQL database — no server to deploy and no account required
  • Native packages: Tauri bundles deb, rpm, and msi targets; the Linux build is produced by scripts/build-desktop.sh and the Windows MSI by the builder VM
  • Pinned dependencies: fetch-desktop-deps.py stages PostgreSQL and ffmpeg/ffprobe, each pinned by exact URL and SHA-256, so a bundle is reproducible and a corrupt cache entry is re-downloaded and re-verified
  • Checksummed output: build-desktop.sh --output <dir> collects the produced packages together with a .sha256 per file and a desktop-resources-manifest.json
  • CI packaging: .github/workflows/desktop.yml builds on ubuntu-22.04 and windows-latest, verifies the bundled PostgreSQL actually starts (full_postgres_lifecycle), and uploads the deb / rpm / msi artifacts

2. Mobile Application — ChengApp for Android (chengapp)

Files: src-tauri/Cargo.toml, src-tauri/tauri.conf.json, src-tauri/gen/android/, scripts/android-dev.sh

  • Android build support: Full Tauri Android project (Gradle wrapper, build.gradle.kts, AndroidManifest, launcher icons mdpi→xxxhdpi, Kotlin MainActivity) with minSdkVersion 24
  • Mobile entry point: src-tauri is now a staticlib / cdylib / rlib crate so the Android activity can load it and call chengapp_lib::run through #[tauri::mobile_entry_point]
  • Platform-conditional modules: Desktop-only modules (mDNS discovery, single-instance Emitter, local server binding) are #[cfg(desktop)]-gated; mobile reaches groups through the hosted Coordinator instead of a local server
  • Build / sign / install helper: scripts/android-dev.sh builds the release APK, signs it (Gradle keystore, falling back to the debug keystore), installs it, and launches it on the emulator
  • Release builds strip symbols: [profile.release] strip = "symbols" keeps the Android .so from carrying ~10MB of DWARF that nothing on a device reads

3. ChengApp Desktop Client (chengapp)

Files: src-tauri/tauri.conf.json, scripts/tauri-env.mjs, build.sh

  • Linux packages: deb and rpm bundles with a shared linux/chengapp.desktop template
  • Windows installer: WiX MSI with en-US and zh-CN languages
  • Build environment wrapper: scripts/tauri-env.mjs sets the client build environment (CHENGAPP_CHENGID_URL, and WEBKIT_DISABLE_DMABUF_RENDERER on Linux) and forwards --bundles deb,rpm and friends to the Tauri CLI
  • Server bundle: build.sh --bundle assembles the Coordinator binaries, ChengID web pages, migrations, and deploy assets into a versioned chengapp-linux-amd64-vX.Y.Z.tar.gz with a .sha256

4. Deployment Hardening (deploy)

Files: deploy/chengos.sh, deploy/README.md, deploy/HARDENING.md, .github/workflows/release-checks.yml

  • chengos.sh doctor: New diagnostic command that inspects an installed system and reports configuration problems before they become outages
  • Cloudflare Tunnel origin: Added a supported path for fronting the origin with a Cloudflare Tunnel, closing the native servers' scan hole and wiring the Cloudflare edge
  • Configurable edge: The trusted-proxy set and the listen interface are now configurable rather than hard-coded
  • Native installs no longer expose the API directly: The API is bound behind the edge instead of being reachable on the public interface
  • Release gates & migration checks: Cloud trial runtime config, release gates, and migration checks added to the release contract

5. Version Unification & Port Change

Files: VERSION, release.sh, scripts/check-release-consistency.sh

  • Single version source: VERSION is authoritative and release.sh synchronizes the Cargo workspace versions and tags every source repository (chengflow, chengflow-ui, chengapp, chengflow-sdk) with the same release tag
  • Backend port: The backend port is now 19225

Infrastructure

Release Contract

  • scripts/check-release-consistency.sh validates that VERSION, the Cargo manifests, and the tag agree before a release is cut
  • The native archive now requires ui-server, app-server, and http-hardening to be present, so a bundle that silently lacks a component fails the gate instead of failing at runtime

CI

  • .github/workflows/desktop.yml packages the desktop app on demand and on v* tags
  • release-checks.yml validates the release contract

Upgrade Instructions

From v0.1.2

# Online update
./chengos.sh update

# Or manual upgrade from local build
./chengflow/build.sh --hybrid
# Transfer dist/chengos-full-linux-amd64-v0.2.0.tar.gz to server
./chengos.sh update

Desktop Application

# Linux (.deb / .rpm)
cd chengflow-ui
bash scripts/build-desktop.sh --bundles deb,rpm --output ../output/desktop/linux

# Windows: build the MSI inside the builder VM (build-desktop-windows.ps1)

Mobile Application (Android)

cd chengapp
./scripts/android-dev.sh          # build + sign + install + launch
./scripts/android-dev.sh build    # build only

Fresh Install

# Native binary mode
curl -fsSL https://raw.githubusercontent.com/chengrouter/chengos/main/deploy/chengos.sh | bash -s -- --mode native

# Docker mode
curl -fsSL https://raw.githubusercontent.com/chengrouter/chengos/main/deploy/chengos.sh | bash

Known Limitations

  • macOS desktop packaging is out of scope until there is a signing identity and a notarization step
  • ChengApp Android build is functional but not yet published to app stores
  • The Windows desktop MSI is built inside the builder VM rather than cross-compiled from Linux
  • Node preset UI selection panel is still under development
  • Routing shortcut UI toggle is not yet complete

Feedback

ChengOS Release v0.1.2

Choose a tag to compare

@chengrouter chengrouter released this 23 Aug 07:22

Overview

v0.1.2 is a patch release spanning two days of development across chengflow (backend), chengflow-ui (frontend), and chengapp (desktop/mobile app). This release focuses on message compression & port schema validation, approval whitelist persistence fixes, think/tool-call rendering fixes, execution archive trace excerpts, ChengApp Android build support, and the web translation browser extension.


Bug Fixes

1. Approval Whitelist Persistence (chengflow)

Files: loop_driver.rs, conversation.rs, tool_call_approval.rs, approval_gate.rs

Fixed the issue where "始终允许" (always allow) approvals were silently lost mid-task, causing the approval card to reappear for actions the user had already blanket-approved:

  • Root cause: loop_driver persisted the compressed-history budget by reading the entire conversation context, mutating it, and calling conv_repo.update() — a whole-conversation save that overwrote context another writer (the approval whitelist) had changed concurrently
  • Fix: Replaced the whole-conversation save with conv_repo.set_context_key(), which patches the single key in SQL and cannot clobber other context fields
  • Whitelist API: Exposed APPROVAL_WHITELIST_CONTEXT_KEY and added Conversation::approval_whitelist_value_with() so the approval gate can persist whitelist rules through the same single-key path
  • Session whitelist flag: Added session_whitelist: true to all ApprovalGateRequest constructors for file_ops, workspace tools, and batch operations

2. Think / Tool-Call Rendering (chengflow + chengflow-ui)

Files: MessageBubble.tsx, assistantPresentation.ts, executionTrace.ts, useMessages.ts

  • Think 显示再次修复: Fixed rendering of <think> blocks and tool-call lifecycle in assistant messages
  • Tool-call merge bug: Fixed mergeToolCallSteps where two calls to the same tool both matched the same trace step, causing the second call to silently replace the first — added a claimed set so each step absorbs at most one lifecycle call
  • Empty output handling: A completed tool call with no output now shows "已完成,工具未返回内容" instead of being dropped into the same bucket as a real result
  • Merge preservation: Lifecycle events arriving without output no longer blank out existing result detail/lines/raw fields — whichever side carries the tool's output wins
  • Raw payload display: Added rawDisplay() helper to show pretty-printed JSON payloads (truncated at MAX_RAW_CHARS) alongside structured trace lines

3. Presentation Recovery Race (chengflow-ui)

Files: useMessages.ts, useMessages.recovery.test.tsx

Fixed the race where in-flight presentation recovery was discarded or clobbered fresher data whenever allMessages changed (which happens constantly during WebSocket streaming):

  • Archive-first handoff: The durable archive (detail projection) is now the primary source for persisted turns; the transient trace snapshot only covers turns without an archive reference, unavailable archives, and stepless archives (pure-reasoning turns)
  • Invariant guards: Recovery now preserves user-expanded archives, never clobbers renderable trace content with archive-only presentations, and uses activeConversationIdRef instead of a cancelled flag
  • Regression tests: Added 328-line test suite locking the four recovery invariants and the archive-first ordering

4. Browser & Web Node Fixes (chengflow)

Files: browser/hub.rs, web/node.rs, ssh_host_key.rs

  • Minor fixes to browser tool hub and web node operations
  • SSH host key verification improvements

New Features

1. Message Compression Refactor (chengflow)

Files: session_store.rs, conversation.rs, archive_policy.rs, node.rs, validator.rs, port_schema_validation.rs, workflow_port_validation.rs

  • Compression policy refactor: Rewrote session_store.rs turn projection with a new fold_trigger_chars field and reduction_order that prioritizes turns with recoverable handles (archive refs or trace keys) over handle-less turns — folding an archived turn is reversible (the model can expand it via get_execution_trace), while reducing a handle-less turn is lossy
  • Archive policy reasoning tiers: Replaced include_reasoning_summary: bool with ArchiveReasoningMode enum (None/Summary/FullBounded), adding a trace_excerpt_included field to ArchivePolicyStamp with backward-compatible deserialization for legacy stamps
  • Port schema validation: New PortSchemaIndex and NodePortSchemas types in validator.rs provide authoritative input/output JSON Schema lookups from the node registry, replacing stale editor-written snapshots. Added port introspection helpers (port_descriptor, port_names, schema_has_port, schema_port_type, schema_port_required, schema_port_has_default, schema_accepts_dynamic_port) in domain/node.rs that accept both JSON Schema and port descriptor array shapes
  • Dynamic array port support: schema_accepts_dynamic_port() recognizes x-dynamic-array extension ports (e.g. agent tool_0, tool_1 slots) so per-slot validation does not flag them as unknown
  • Test coverage: Added 562-line port_schema_validation.rs integration test and 161-line workflow_port_validation.rs test

2. Execution Archive Trace Excerpts (chengflow)

Files: execution_archive_builder.rs, loop_driver.rs, types.rs

  • Per-step trace excerpts: The execution archive now captures a bounded, human-facing trace excerpt for each archived step — the trace lines that appeared since the previous archive write
  • Cursor tracking: Added trace_archived_cursor field to ReactContext to track byte offset into trace already handed to the archive; advanced unconditionally at each archive write point so a step that archives nothing does not push its lines onto the next step
  • Byte budget safety: The excerpt is display-only garnish — when the byte budget cannot absorb it, the excerpt is dropped (not the step), preserving the structured step's place in the archive

3. Approval Auto-Confirm Client Cache (chengflow-ui)

Files: approvalAutoConfirm.ts, ApprovalCard.tsx, ApprovalCard.test.tsx

  • Client-side always-allow memory: Added sessionStorage-backed client cache as a second line of defence behind the backend's conversation-level approval whitelist
  • Risk-level guard: Refuses to replay an approval when the incoming request is riskier than what was approved (e.g. a medium-risk "always allow" cannot silently clear a critical-risk request sharing the same action name)
  • Session-scoped: Rules live in sessionStorage — closing the tab forgets everything, so a blanket approval can never outlive the working session
  • Test coverage: Added ApprovalCard test suite covering auto-confirm happy path and risk-level escalation guard

4. ChengApp Android Build (chengapp)

Files: src-tauri/gen/android/, lib.rs, main.rs, chat.rs, translate.rs, auth_login.rs, lan.rs, tauri.ts

  • Android project scaffold: Full Tauri Android build configuration — Gradle wrapper, build.gradle.kts, AndroidManifest, launcher icons (mdpi→xxxhdpi), Kotlin MainActivity, BuildTask.kt, and RustPlugin.kt
  • Platform-conditional modules: Desktop-only modules (group_agent_worker, lan_worker, mDNS discovery, single-instance Emitter) are now #[cfg(desktop)]-gated; mobile reaches groups through the hosted Coordinator instead of a local server
  • Mobile sandbox root: Added app_private_root() for mobile builds that resolves the app-private data directory as the only writable workspace root, with resolve_sandbox_root() dispatching to the correct validator per platform
  • Windows escape tests: Added #[cfg(windows)] junction/symlink canonicalization tests for sandbox root validation
  • Module extraction: Extracted 891 lines from main.rs into lib.rs to enable Tauri mobile builds (which require a lib target)

5. Web Translation Browser Extension (chengapp)

Files: extensions/cheng-translate/, translate.rs, TranslatePage.tsx, web-translation-extension-plan.md, android-windows-support-plan.md

  • Chrome extension: New cheng-translate extension with manifest, background service worker, content script (floating selection trigger), side panel UI (sidebar.html/css/js), and API/storage/page libraries
  • Selection translation: Content script injects a floating button on text selection; background worker performs the API call (content scripts cannot call the translate endpoint directly due to origin restrictions)
  • Page translation: Side panel handles whole-page translation with progress polling
  • Backend: 2196-line translate.rs Tauri module implementing the translation job pipeline
  • Planning docs: Added web-translation-extension-plan.md (180 lines) and android-windows-support-plan.md (556 lines)

6. Responsive Sidebar (chengapp)

Files: ChatShell.tsx, AgentChatPage.tsx, LanPage.tsx, ProductPage.tsx

  • Shared sidebar state: Extracted useResponsiveSidebar hook into ChatShell so all three chat surfaces (AgentChat, LAN, Product) agree on when there is no room for a sidebar
  • Auto-collapse: Sidebar automatically collapses on narrow screens

Infrastructure

i18n Updates

  • Added common.clipboardUnavailable and translate.copyFailed translations (en/zh) for clipboard access error handling

CLI / TUI

Files: cheng-cli/Cargo.toml, api.rs, tui/app.rs, locales/en.toml, locales/zh.toml

  • CLI dependencies and API client updated for new workflow/port validation endpoints
  • TUI app module updated with new command support
  • Locale strings updated

Local Executor

Files: `cheng-local-executor/...

Read more

ChengOS Release v0.1.1

Choose a tag to compare

@chengrouter chengrouter released this 19 Aug 01:24

Overview

v0.1.1 is a patch release spanning two days of development across chengflow (backend), chengflow-ui (frontend), chengapp (desktop app), and the chengos meta repository. This release focuses on chat workflow binding fixes, execution control improvements, VPS benchmark node, ChengApp group communication architecture, and release engineering enhancements.


Bug Fixes

1. Chat Workflow Binding (chengflow-ui)

Files: ChatPreviewPanel.tsx, ChatInput.tsx, ChatPanel.tsx, ChatPreviewPage.tsx

Fixed the issue where chat message input boxes in DocumentWorkbenchPage, TableWorkbenchPage, and AIChatPage were not correctly bound to the currently edited workflow:

  • ChatPreviewPanel now uses selectedWorkflowId (state) instead of workflowId (prop) in all execution paths: getActiveTabDefinition, resolveWorkflowDefinition, handleCreateConversation, handleClearConversation, handleSendMessage
  • handleModelSelect rewritten to look up editor tab by selectedWorkflowId and fall back to API calls (getWorkflowLlmNodes / updateWorkflowLlmNode) when no editor tab is found (workbench pages)
  • WebSocket conversation binding updated to sync workflow ID on conversation changes

2. Execution Control (chengflow + chengflow-ui)

Files: stopEscalation.ts, executionStore.ts, useExecutionWebSocket.ts, useConversationWebSocket.ts

  • 强制停止 (Force Stop): Implemented stop escalation logic — graceful stop → force stop pipeline
  • 聊天长消息恢复为直接发送: Long chat messages now send directly instead of being queued
  • 停止 Bug 修复: Fixed execution stop not properly propagating to running workflow nodes
  • 长文本转 Markdown Bug: Fixed incorrect markdown conversion for long text content

3. Browser & Docs (chengflow)

  • 浏览器修复: Fixed browser tool issues in web node operations
  • Docs 帖子: Fixed docs posting functionality

New Features

1. VPS Benchmark Node (chengflow)

Files: crates/cheng-nodes/src/nodes/builtin/tools/vps_benchmark/node.rs, tests/vps_script_smoke.rs

  • New vps_benchmark node for VPS performance testing
  • Includes reverse DNS lookup, latency measurement, and bandwidth testing
  • Smoke tests added in vps_script_smoke.rs

2. Chat Bubble Tools & Think Display (chengflow-ui)

Files: MessageBubble.tsx, main.tsx

  • 聊天气泡工具: Added chat bubble action toolbar (copy, retry, edit)
  • Think 显示修复: Fixed rendering of <think> blocks in assistant messages

3. Release Engineering (chengos)

Files: release.sh

  • release.sh now tags all source repositories (chengflow, chengflow-ui, chengapp, chengflow-sdk) with unified version tag
  • Source repo tag push is independent per repo — each pushed to its own remote (Gitea)
  • Deploy resources synced with unified release: vX.Y.Z commit message

Infrastructure

i18n Updates

  • New vps_benchmark node translation file added to deploy/config/i18n/
  • Removed obsolete i18n.tar.gz archive (replaced by individual JSON files)
  • Cleaned up unused deploy/config/image/ screenshots (01-07.png, vite.svg)

UI Build

  • Full chengflow-ui production rebuild with updated chat workflow binding fixes
  • All page components, editor layout, and execution WebSocket hooks updated

ChengOS Release v0.1.0

Choose a tag to compare

@chengrouter chengrouter released this 14 Aug 22:59

ChengOS v0.1.0 Release Notes

Release Date: 2026-08-14
Previous Version: v0.05


Overview

v0.1.0 is the first stable release of ChengOS. This update spans one week of development across the chengos root repository, focusing on multi-OS deployment support, version control & release engineering, online update system, credential management, and i18n node translation updates.

This release introduces the complete release lifecycle: authoritative version stamping, CI-gated builds, archive verification, checksum/signature validation, staged updates with automatic rollback, and Docker version pinning.


Installation Package

File: chengos-full-linux-amd64-v0.1.0.tar.gz
Size: 65 MB
Target: Linux x86_64 (musl static binary)

Archive Contents

Component Description
bin/cheng-api Backend API static binary (musl)
bin/cheng CLI terminal client
bin/app-server.js / bin/ui-server.js App / UI static file servers
chengos.sh Unified management script (install / update / rollback / start / stop)
hybrid/start.sh / stop.sh / status.sh Native deployment lifecycle scripts
hybrid/generate-env.sh Hybrid mode environment configuration generator
lib/release-update.sh Online update library (download / verify / stage / swap / restore)
lib/verify-release-archive.sh Archive structural verifier
infra/docker-compose.yml Docker Compose orchestration
config/ Presets, shortcuts, i18n translations
skills/ Built-in skill packages + workflow templates
ui/ Frontend production build
VERSION Embedded version identifier: 0.1.0

Checksum

sha256: 80d4c134ce536ab59f28b8dbc00a9f02af5429625db5a31e4e441cc18d301871

New Features

1. Multi-OS Deployment Support

chengos.sh and hybrid/start.sh now support automatic detection and installation across multiple Linux distributions:

  • Supported distributions: Ubuntu / Debian, CentOS / RHEL, Fedora, Arch Linux, openSUSE, Alpine
  • PostgreSQL auto-install: CentOS 7 EOL handling with automatic mirror-to-vault migration; PostgreSQL 15 installed from official pgdg repo on EL7
  • Bubblewrap (bwrap) auto-install: Required for code_shell / code_python sandboxed execution; auto-detected and installed via system package manager
  • Workspace root configuration: New CHENG_WORKSPACE_ROOT environment variable for non-CLI workflow execution base directory

2. Version Control & Release Engineering

Complete release lifecycle infrastructure:

  • Authoritative VERSION file: Single source of truth for release version, checked by scripts/check-release-consistency.sh to ensure tag == VERSION == Cargo workspace version
  • release.sh: Maintainer entry point for building, verifying, checksumming, and signing native release archives
  • Self-identifying builds: Versioned native archive with .sha256 checksum and detached signature; cheng-api --version, cheng --version, and /health response all report the embedded version
  • GitHub Actions CI: release.yml implements a gated release sequence (validate → build → docker → publish); release-checks.yml runs consistency checks on every push
  • Release contract tests: scripts/test-release-contract.sh validates archive structure, version embedding, and forbidden content checks
  • CHANGELOG.md: Formal changelog with rollback compatibility declarations (reversible / irreversible migration policy)

3. Online Update System

deploy/lib/release-update.sh provides a complete safe-update pipeline:

  • Release discovery: Fetches latest stable version from GitHub Releases API
  • Download & verification: Checksum (SHA-256) and optional signature verification (cosign / minisign / GPG)
  • Staged replacement: Extract to staging directory → verify structure → backup current installation → swap → health check → automatic restore on failure
  • Versioned backups: chengos.sh rollback restores the previous release
  • Free space guard: Refuses to stage when insufficient disk space is available
  • Migration policy: Checks CHANGELOG.md for rollback compatibility before allowing automatic rollback
  • Smoke tests: deploy/tests/update-smoke.sh — 327-line test suite covering extraction, version mismatch rejection, incomplete archive rejection, staging space, and restart-failure restore

4. Credential Management

  • chengos.sh menu option 12: Reset login username/password interactively
  • Supports resetting username, email, and password for any account
  • Password confirmation with mismatch detection
  • Bilingual prompts (Chinese / English)

5. Docker Version Pinning

  • CHENGOS_VERSION in .env: All four ChengOS images (API / UI / App / CLI) resolve their tag from a single version value
  • Immutable releases: Docker images published under exact version tags with OCI version/revision/source labels
  • release-manifest.json: Published as a release asset for reproducible deployments
  • latest is convenience only: Not a reproducible production version; never an update or rollback target

Bug Fixes

Archive Verifier SIGPIPE Fix

scripts/verify-release-archive.sh — Fixed false "required entry missing from archive" failures on large archives:

  • Root cause: printf '%s\n' "$listing" | grep -qx "chengos/${required}" pipelines under set -o pipefail — when grep -q exits early on match, printf receives SIGPIPE, making the pipeline return non-zero
  • Impact: Non-deterministic verification failures depending on pipe buffer timing; affected archives with ~1000+ entries
  • Fix: Replaced all printf | grep pipelines with bash builtin string matching ([[ "${wrapped}" == *"${nl}chengos/${required}${nl}"* ]])

i18n Node Translation Updates

Updated Chinese translations across 14 node definition files:

Node Changes
agent/react_agent Added: execution_mode, long_task_safety_policy, reminder_policy, short_task_budget_chunk, transparent_agent_streaming, artifacts, continuation_policy, interim_report, pause_reason, suggested_next_action
ai/context_merge Added: merge_mode input
ai/llm_branch Updated field descriptions
rag/chunker Updated field descriptions
rag/document_indexer Updated field descriptions
rag/formatter Updated field descriptions
rag/retriever Updated field descriptions
tools/code_python Updated field descriptions
tools/code_shell Updated field descriptions
tools/file_ops_hub Updated field descriptions
tools/mcp_hub Updated field descriptions
tools/view_file Updated field descriptions
nodes-zh-overrides Updated global overrides

Removed obsolete translation entries for deprecated nodes: chat/memory, chat/save_reply, tools/cli_context_init, tools/cli_fallback_context, tools/cli_fallback_response_parse, tools/cli_install_plan.


Environment Variables

Variable Default Description
CHENG_WORKSPACE_ROOT {install_dir}/workspaces Base directory for code_shell / code_python working_subdir resolution when no CLI session sandbox is present
CHENGOS_VERSION latest Pin exact release version for Docker image tags; latest is first-install convenience only

Upgrade Instructions

From v0.05

# Online update (checksum + signature verified, auto-restore on failure)
./chengos.sh update

# Or manual upgrade from local build
./build.sh --hybrid --release --target x86_64-unknown-linux-musl --with-cli
# Transfer dist/chengos-full-linux-amd64-v0.1.0.tar.gz to server
./chengos.sh update

After upgrade, new i18n translations and deployment scripts are deployed automatically. Existing workspaces and configurations are unaffected.

Fresh Install

# Native binary mode
curl -fsSL https://raw.githubusercontent.com/chengrouter/chengos/main/deploy/chengos.sh | bash -s -- --mode native

# Docker mode
curl -fsSL https://raw.githubusercontent.com/chengrouter/chengos/main/deploy/chengos.sh | bash

After installation, edit .env to configure database password and secret key, then start:

./chengos.sh start

Known Limitations

  • Node preset UI selection panel is still under development; currently managed via config files
  • Routing shortcut UI toggle is not yet complete; currently used via API and config files
  • presets.yaml config_patch uses shallow merge; deep merge of nested objects is not supported
  • Online update signature verification requires cosign, minisign, or gpg to be installed; falls back to checksum-only verification if none are present

Feedback

ChengOS Release v0.0.5

Choose a tag to compare

@chengrouter chengrouter released this 02 Aug 13:36

New Features

1. Node Presets System

Added global node preset configuration (presets.yaml) providing pre-defined configuration profiles for common nodes:

  • Preset categories: preset_types classification (e.g. Tool nodes, AI nodes) with hierarchical display in UI
  • Config patch: Each preset applies a shallow merge via config_patch to the target node configuration
  • Risk levels: low / medium / high risk marking; high-risk presets are hidden from LLM by default
  • LLM visibility: llm_visible field controls whether presets are discoverable by ReAct Agent during tool discovery
  • Built-in presets:
    • code-safe-mode — Code execution safe mode (no writes, strict sandbox)
    • code-full-access — Code execution full access mode (writes allowed, no sandbox)
    • search-strict — Search strict match mode (exact match, max 10 results)
    • agent-deep-think — Agent deep thinking mode (30 iterations, deep reasoning)
  • Layered override: Global presets in CHENG_GLOBAL_CONFIG_DIR/presets.yaml, workspace-level overrides by same ID

2. Routing Shortcuts

Added global routing shortcut configuration (shortcuts.yaml) for LLM branch nodes (ai/llm_branch):

  • Built-in shortcuts:
    • Need Tools — Route to tool branch (need_tools: true, persistent)
    • Search — Route to search action (action.name: search, one-shot)
    • Deep Think — Enable deep reasoning mode (reasoning.mode: deep, 20 steps, persistent)
    • Memory — Route to memory write branch (memory: true, persistent)
  • Routing modes: once (auto-clear after next turn) / always (persistent until manually cleared)
  • Layered override: Global shortcuts in CHENG_GLOBAL_CONFIG_DIR/shortcuts.yaml, workspace-level overrides by same name

3. Workflow Template Library

9 pre-built workflow templates auto-installed to new workspaces on system startup:

Template Description
main-chat Main chat workflow with conditional routing to three sub-workflows (memory chat / no-memory chat / tool agent)
memory-chat Chat workflow with conversation memory, configurable window size and history search
no-memory-chat Lightweight stateless single-turn chat for Q&A and one-shot tasks
http-tools Chat workflow with HTTP request capability; LLM can construct and send HTTP requests
scheduled-task Chat workflow with scheduled task management via natural language
skills-run Chat workflow with skill execution; LLM can discover and run installed skills
tools-user ReAct agent workflow with file operation tools (read/write/edit in sandbox)
skills-importer Skill import workflow from repo/URL/text, generates skill packages
create-workflow Workflow creation agent that generates complete workflow definitions from natural language

Templates were reorganized from flat JSON files into a directory structure (template.json + workflow.json per template).

4. LLM Branch Node Enhancement

ai/llm_branch node fully upgraded with flexible routing logic:

  • Multiple match operators: Truthy (default), Exists, Equals, NotEquals, Contains, GreaterThan, LessThan
  • Nested field paths: field_name supports dot notation (e.g. action.name) for nested JSON access
  • Schema hint generation: Auto-generates JSON Schema and system prompt fragments from branch_fields
  • Enhanced fallback metadata: context_out carries failure reason and attempted field list on routing failure

ChengOS Release v0.0.4

Choose a tag to compare

@chengrouter chengrouter released this 30 Jul 06:45
8af9b6d

ChengFlow & ChengFlow-UI — Release Notes (2026-07-28 ~ 07-29)

ChengFlow (Backend — 267 files changed, +26,843 / -10,804)

  • Conversation Rollback & Replay

    • Implemented a complete conversation rollback mechanism: added conversation_turns database migration, ConversationTurnRepo, and ConversationRollbackRepo, supporting rollback to any historical node by turn.
    • Fixed CLI conversation rollback consistency to ensure post-rollback state aligns with historical records.
    • Added backend API support for conversation rollback in the web chat interface.
  • Internal Conversation Turn Lifecycle

    • Introduced an internal conversation turn lifecycle module to manage turn creation, execution, completion, and cleanup.
    • Added conversation_turn_workspace_isolation integration test (953 lines).
    • Added turn_support test helper module (282 lines).
  • Legacy Chat Memory & Save Reply Cleanup

    • Removed legacy chat memory and save reply code paths.
    • Fixed chat message ordering issues.
    • Rewrote MessageRepo (+603 lines) to unify message persistence.
  • Agent Strategy Improvements

    • Switched agent prompts to English for better LLM compatibility.
    • Optimized compression window display and LLM memory switching.
    • Fixed rendering issues for think/tools in the chat window.
  • Documentation & Templates

    • Added development planning documents: CLI conversation rollback, legacy chat memory decommissioning, file operations & code intelligence, terminal workflow CLI user guide.
    • Streamlined workflow templates by removing redundant configurations.

ChengFlow-UI (Frontend — 28 files changed, +3,450 / -356)

  • Conversation Rollback UI

    • Added useConversationRewind hook (351 lines) for complete rollback state management and operations.
    • Added RewindConfirmDialog, rewind utilities, and rewind notification system.
    • Integrated rollback interactions into ChatPreviewPanel and ChatPreviewPage.
    • EditMessageDialog now supports editing messages and triggering rollback replay.
    • Added rollback action buttons on MessageBubble.
  • Messages & Chat Experience

    • Refactored useMessages hook (+276 lines) to support message list refresh after rollback.
    • ChatInput now supports draft recovery after rollback.
    • Enhanced conversationSender service to support resending after rollback.
    • Added executionTrace utility (196 lines) for execution trace visualization.
  • Test Coverage

    • Added comprehensive frontend tests: rewindCutoffContract, ChatPreviewPanel.rewind, EditMessageDialog, MessageBubble.actions, useConversationRewind, ChatInput.draftRestoration.
  • Internationalization

    • Added 191 lines of rollback-related i18n translations.

ChengOS Release v0.0.3

Choose a tag to compare

@chengrouter chengrouter released this 25 Jul 23:19

##Overview

V0.03 is the third preview version of ChengOS. This update focuses on * * node preset system * *, * * diversion shortcut * *, * * workflow template library * *, and * * LLM diversion node enhancement * *, making workflow construction and routing more flexible and out of the box.


##New features

1. Node Presets System

New global node preset configuration (presets. yaml), providing pre-defined configuration schemes for commonly used nodes, eliminating manual parameter tuning:

-* * Preset Categories * : Supports' preset_types' category management (such as Tool nodes, AI nodes), with hierarchical display in the UI
-
* Configuration Patch * : Each preset performs shallow merging of target node configurations through config-patch, without the need to repeatedly fill in parameters
-
* Risk Level * : Supports three levels of risk markers: low, medium, and high. High risk is not exposed to LLM by default
-LLM visibility: The 'llm_visible' field controls whether the preset can be perceived and used by ReAct Agent during the tool discovery phase
-
* Built in presets * :
-Code safe mode - Code execution safe mode (write prohibited, strict sandbox)
-Code full access - Code execution full access mode (allows writing, no sandboxing)
-Search strict matching mode (exact matching, up to 10 results)
-Agent deep thinking mode (30 iterations, deep reasoning)
-
* Hierarchical Coverage * *: The global preset is placed in CHENG-GLOBALVNet DIR/presets. yaml, and the workspace can be overwritten or added with the same ID

2. Routing Shortcuts

Add global diversion shortcut configuration (shortcuts. yaml) to provide preset routing solutions for LLM diversion nodes (ai/llc_branch):

-* * Preset Shortcuts * :
-Need Tools - Route to tool branch (need tools: true, continuously in effect)
-Search - Route to search action (action. name: search, single effective)
-Deep Think - Enable deep reasoning mode (reasoning. mode: deep, 20 step reasoning, continuously effective)
-Memory - Route to the memory write branch (memory: true, persistent)
-Routing Mode:
-Once - only effective for the next round, automatically cleared
-'always' - remains in effect until manually cleared
-
* Hierarchical Coverage * *: The global shortcut can be placed in 'CHENG_GLOBALVNet DIR/shortcuts. yaml', and the workspace can be overwritten or added with the same name

3. Workflow Templates Library

Automatically install 9 preset workflow templates into the new workspace upon system startup, ready to use out of the box:

Template Name Description
Main_chat The main chat workflow is distributed to three sub workflows (memory chat/no memory chat/tool agent) through conditional routing
Memory_chat Chat workflow with conversation memory, supporting configurable window size and historical search
No memory chat Lightweight single round chat without memory, suitable for state less Q&A and one-time tasks
HTTP tools A chat workflow with HTTP request capability, LLM can autonomously construct and send HTTP requests
'Scheduled task' Chat workflow with scheduled task management, creating and managing scheduled tasks through natural language
Skills Run A chat workflow with skill execution capability, where LLM can discover and run installed skills
Tools_user ReAct intelligent agent workflow with file manipulation tool, supporting file read, write, and edit in sandboxes
Skills_importer Skill import workflow, import from warehouse/URL/text and generate skill packages
creatw_workflow Workflow creation agent, generating complete workflow definitions through natural language

Each template contains a detailed 'description' field that explains the workflow purpose, node composition, and typical scenarios.

4. LLM BranchNode Enhancement (LlmBranchNode)

`The ai/llc_branch node has been fully upgraded to support more flexible routing logic:

-* * Multiple matching operators * : Truthy (default), Exists, Equals, NotEquals, Contains, GreaterThan, LessTan-* * Nested field path * *: field_name supports dot path (such as action. name `) to access nested JSON fields
-
* Schema prompt generation * : Automatically generate JSON Schema and system prompt fragments based on 'branch_field', which can be integrated with upstream LLM nodes to guide output formats
-
* Enhance fallback metadata * *: When a route fails, 'context_out' carries diagnostic information such as the reason for the failure and a list of attempted fields


##Optimization and improvement

###Configure architecture
-* * Global configuration directory * : CHENG_GLOBALVNet DIR Unified management of shortcuts. yaml and presets. yaml, Docker mode defaults to /app/config , native mode automatically detects installation directory
-
* Hierarchical configuration system * : Global configuration → workspace configuration, same ID/name can be overwritten, supports flexible deployment in multiple environments
-
* Environment variable documentation * *: . env. example adds detailed comments for CHENG_GLOBALVNet DIR and TEMPLETD_ORKFLOW-DIR

###Workflow Template
-* * Automatic installation mechanism * *: When the system starts, it detects' TEMPLATE-WORKFLOW-DIR 'and automatically installs the template into the new workspace
-Complete Template Description: All 9 workflow templates have added detailed English descriptions covering their purpose, node composition, and sub workflow relationships


##Change of environmental variables

Variable Name Default Value Description
CHENG_GLOBALVNet DIR Auto detection Global configuration directory (shortcuts. yaml/presets. yaml), introduced in v0.02, improved configuration content in v0.03
TEMPPLATE-WORKFLOW-DIR Automatic detection Workflow template directory, introduced in v0.02, filled with 9 preset templates in v0.03

No new environment variables have been added. The above two items have been defined in v0.02, and v0.03 has supplemented the actual configuration file and template content.

ChengOS Release v0.0.2

Choose a tag to compare

@chengrouter chengrouter released this 25 Jul 14:54
01a0743

V0.02 is the second preview version of ChengOS. This update focuses on * * internationalization improvement * *, * * CLI tool enhancement * *, * * community platform ChengHub * *, * * multimedia capability expansion * *, and * * deployment packaging optimization * *.


##New features

1. Internationalization (i18n) comprehensive coverage

-Complete Chinese translation files for all node types (including AI, Chat, Document, IO, RAG, Agent, Tools, etc.)
-The node configuration panel, workflow editor, and chat interface all support bilingual switching between Chinese and English
-Added 'providers. toml' provider definition file with built-in configuration for mainstream LLM service providers

2. CLI terminal client enhancement

-Added 'cheng' terminal client, supporting interactive TUI sessions
-Implement the 'goback' historical navigation function, which can trace the context back in the conversation
-Enhanced CLI tool calling capability, supporting file operations in the workflow sandbox

3. Multimedia artifact preview

-Support online preview of multimedia artifacts such as images, audio, and video
-Video frame extraction and audio extraction nodes
-OCR text recognition (supports both Chinese and English)

4. Token Count

-Dialogue message added Token count display
-Help users understand the usage of contextual windows


##Optimization and improvement

###Deployment and Packaging
-* * Unified deployment script * : Refactoring the 'chengos. sh' management script, supporting Docker/native dual-mode one click installation, start, stop, and upgrade
-
* Distributed Deployment Support * : Added 'deploy/distributed'/'distributed deployment configuration template
-
* Global configuration directory * : Added the environment variable 'CHENG-GLOBALVNet DIR', supports global 'shortcuts. yaml' and 'presets. yaml' configurations, and enables cross workspace sharing
-
* Workflow Template Directory * : Added the 'workflow templates/' directory and the 'TEMPLITE-WORKFLOW-DIR' environment variable, automatically installing the example workflow into the new workspace when the system starts up
-Docker Build Optimization: Whitelist Mode Simplifies Build Context for . docerignore
-
* Environment variable generator * *: generate env. sh automatically detects local directories and sets absolute paths

###Shortcuts and presets
-Add global shortcut configuration (memory/search/deep thinking/tool calling)
-Add global node preset configuration
-Support workspace level coverage of global configuration

###Skill system
-Optimization of Skill UI Management Interface
-Add workflow builder assistant skills (workflow helper/workflow json builder)
-Complete Node Skill Guide (browser tool/http tool)


##Fixed issues

-Fix the issue of unsynchronized shared resources during the 'chengos. sh' upgrade process
-Fix Docker build failure caused by missing workflow templates/directory
-Fix the issue where the global configuration directory path is not automatically resolved in native deployment