Repository navigation
Releases: chengrouter/chengos
Release list
ChengOS Release v0.3.0
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-probebefore committing settings - Atomic configuration: all coding-agent keys are committed in one locked
.envtransaction;--repairreconciles 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-scopelets 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 issinglewith managed credentials on, and--close-signupcloses 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.shis 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_ROOTSrun CLI sessions in deny-only mode: any readable directory except system, home, credential, and.envlocations. 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_PERMISSIVEis 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_HEADERSis 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.htmlkeeps 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.shas the maintainer entry point, and a consistency gate - Self-identifying native archives with
.sha256checksum and detached signature;scripts/verify-release-archive.shverifies them - One embedded runtime version across all Rust components, surfaced by
--versionand/health - Docker images are published under exact tags with OCI labels and a
release-manifest.jsonasset - 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
VERSIONis0.3.0;release.shsynchronizes the Cargo workspace versions- The desktop CI workflow uploads only the
deb/msiartifacts
Upgrade Instructions
From v0.2.1
# Online update
./chengos.sh updateExisting .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 doctorA 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 | bashMigration 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:
- Baidu Netdisk: https://pan.baidu.com/s/1r053qlQTHuCjvvyxDiWEXw?pwd=tc25 — extraction code:
tc25
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
- GitHub Issues: https://github.com/chengrouter/chengos/issues
- Community: ChengHub
ChengOS Release v0.2.1
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_branchroutes 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(aggmlcGGUF 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 isUI_PORT's default on the same host;chengos.sh doctornow fails ifLAYA_PORTcollides with the API, UI, or app port - Hybrid (native) mode:
start.shlauncheslaya servewhenLAYA_BINand eitherLAYA_MODEL_PATH(one GGUF) orLAYA_MODELS_DIR(English + multilingual GGUFs in one server) are set, verifies each GGUF against its pinnedsha256, and sends one warm-up request - Docker mode: run
laya serveon the host and point the API container at it withLAYA_ENDPOINT=http://host.docker.internal:1215; the compose file now mapshost.docker.internalto the host gateway - Identity by digest:
laya servereports only family names, soLAYA_ARTIFACT_SHA256(and the per-family_MULTILINGUAL/_ENGLISHvariants) pin the served GGUF — the only identity a calibration profile can be keyed on - Optional auth: Laya is unauthenticated unless
LAYA_API_KEYis set;doctorfails when a reachable Laya has no token and warns even when it does, because onlycheng-apishould 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_EMAILnames an ordinary (non-admin) account; the UI callsPOST /api/v1/auth/demoand 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=trueandCHENG_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.tomlis the single source of the built-in Jev and LLM decision-provider defaults, embedded at build time and overridable viaCHENG_DECISION_PROVIDERS_TOML; the Laya provider is configured through the deployment environment instead - Calibration profiles:
decision_calibration.tomlships measured provider × model × language × task thresholds; an uncalibrated combination is sent tofallback_outincalibratedmode - Node i18n:
ai-decision_branchnode labels and descriptions added underdeploy/config/i18n/nodes/ - Routing template: New experimental
decision-routingworkflow template (semantic routing to the smallest capable agent), plus updatedmain-chatandno-memory-chattemplates
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/msiartifacts; the Linux build producesdebonly - 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/anddeploy/app/assets/are no longer tracked —chengflow/build.shregenerates them and the hashed filenames change on every build, so tracking them grew the repository without bound - Stray logs ignored:
rungem.logadded to the ignore list
Release Tooling
Files: release.sh
chengflow-uiversioned as its own repository:release.shnow bumpschengflow-ui/src-tauri/Cargo.tomlalongside the other manifests, detects whetherchengflow-uiis a separate git repository, and commits the version bump in the correct repository
Infrastructure
Release Contract
VERSIONis0.2.1;release.shsynchronizes the Cargo workspace versions and now includeschengflow-ui/src-tauri/Cargo.tomlin its "files to change" summary andgit addset
CI
.github/workflows/desktop.ymluploads only thedeb/msiartifacts
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 updateEnabling 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 postureEnabling 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 startFresh 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 | bashDownloads (China mirror)
For users in mainland China, the release archive is also available from Baidu Netdisk:
- Baidu Netdisk: https://pan.baidu.com/s/1r053qlQTHuCjvvyxDiWEXw?pwd=tc25 — extraction code:
tc25
Known Limitations
- The local Laya decision model is optional and operator-managed; a served GGUF without a pinned
sha256is uncalibrated and routes on raw answers only - Laya listens on all interfaces (
laya servehas no--hostoption), so the port must be firewalled to thecheng-apihost or protected withLAYA_API_KEY - The
decision-routingworkflow 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
- GitHub Issues: https://github.com/chengrouter/chengos/issues
- Community: ChengHub
ChengOS Release v0.2.0
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, andmsitargets; the Linux build is produced byscripts/build-desktop.shand the Windows MSI by the builder VM - Pinned dependencies:
fetch-desktop-deps.pystages 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.sha256per file and adesktop-resources-manifest.json - CI packaging:
.github/workflows/desktop.ymlbuilds onubuntu-22.04andwindows-latest, verifies the bundled PostgreSQL actually starts (full_postgres_lifecycle), and uploads thedeb/rpm/msiartifacts
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, KotlinMainActivity) withminSdkVersion 24 - Mobile entry point:
src-tauriis now astaticlib/cdylib/rlibcrate so the Android activity can load it and callchengapp_lib::runthrough#[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.shbuilds 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.sofrom 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:
debandrpmbundles with a sharedlinux/chengapp.desktoptemplate - Windows installer: WiX MSI with
en-USandzh-CNlanguages - Build environment wrapper:
scripts/tauri-env.mjssets the client build environment (CHENGAPP_CHENGID_URL, andWEBKIT_DISABLE_DMABUF_RENDERERon Linux) and forwards--bundles deb,rpmand friends to the Tauri CLI - Server bundle:
build.sh --bundleassembles the Coordinator binaries, ChengID web pages, migrations, and deploy assets into a versionedchengapp-linux-amd64-vX.Y.Z.tar.gzwith 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:
VERSIONis authoritative andrelease.shsynchronizes 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.shvalidates thatVERSION, the Cargo manifests, and the tag agree before a release is cut- The native archive now requires
ui-server,app-server, andhttp-hardeningto be present, so a bundle that silently lacks a component fails the gate instead of failing at runtime
CI
.github/workflows/desktop.ymlpackages the desktop app on demand and onv*tagsrelease-checks.ymlvalidates 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 updateDesktop 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 onlyFresh 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 | bashKnown 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
- GitHub Issues: https://github.com/chengrouter/chengos/issues
- Community: ChengHub
ChengOS Release v0.1.2
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_driverpersisted the compressed-history budget by reading the entire conversation context, mutating it, and callingconv_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_KEYand addedConversation::approval_whitelist_value_with()so the approval gate can persist whitelist rules through the same single-key path - Session whitelist flag: Added
session_whitelist: trueto allApprovalGateRequestconstructors 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
mergeToolCallStepswhere two calls to the same tool both matched the same trace step, causing the second call to silently replace the first — added aclaimedset 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 atMAX_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
activeConversationIdRefinstead 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.rsturn projection with a newfold_trigger_charsfield andreduction_orderthat 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 viaget_execution_trace), while reducing a handle-less turn is lossy - Archive policy reasoning tiers: Replaced
include_reasoning_summary: boolwithArchiveReasoningModeenum (None/Summary/FullBounded), adding atrace_excerpt_includedfield toArchivePolicyStampwith backward-compatible deserialization for legacy stamps - Port schema validation: New
PortSchemaIndexandNodePortSchemastypes invalidator.rsprovide 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) indomain/node.rsthat accept both JSON Schema and port descriptor array shapes - Dynamic array port support:
schema_accepts_dynamic_port()recognizesx-dynamic-arrayextension ports (e.g. agenttool_0,tool_1slots) so per-slot validation does not flag them as unknown - Test coverage: Added 562-line
port_schema_validation.rsintegration test and 161-lineworkflow_port_validation.rstest
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_cursorfield toReactContextto track byte offset intotracealready 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), KotlinMainActivity,BuildTask.kt, andRustPlugin.kt - Platform-conditional modules: Desktop-only modules (
group_agent_worker,lan_worker, mDNS discovery, single-instanceEmitter) 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, withresolve_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.rsintolib.rsto enable Tauri mobile builds (which require alibtarget)
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-translateextension 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.rsTauri module implementing the translation job pipeline - Planning docs: Added
web-translation-extension-plan.md(180 lines) andandroid-windows-support-plan.md(556 lines)
6. Responsive Sidebar (chengapp)
Files: ChatShell.tsx, AgentChatPage.tsx, LanPage.tsx, ProductPage.tsx
- Shared sidebar state: Extracted
useResponsiveSidebarhook intoChatShellso 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.clipboardUnavailableandtranslate.copyFailedtranslations (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/...
ChengOS Release v0.1.1
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:
ChatPreviewPanelnow usesselectedWorkflowId(state) instead ofworkflowId(prop) in all execution paths:getActiveTabDefinition,resolveWorkflowDefinition,handleCreateConversation,handleClearConversation,handleSendMessagehandleModelSelectrewritten to look up editor tab byselectedWorkflowIdand 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_benchmarknode 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.shnow 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.Zcommit message
Infrastructure
i18n Updates
- New
vps_benchmarknode translation file added todeploy/config/i18n/ - Removed obsolete
i18n.tar.gzarchive (replaced by individual JSON files) - Cleaned up unused
deploy/config/image/screenshots (01-07.png, vite.svg)
UI Build
- Full
chengflow-uiproduction rebuild with updated chat workflow binding fixes - All page components, editor layout, and execution WebSocket hooks updated
ChengOS Release v0.1.0
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_pythonsandboxed execution; auto-detected and installed via system package manager - Workspace root configuration: New
CHENG_WORKSPACE_ROOTenvironment variable for non-CLI workflow execution base directory
2. Version Control & Release Engineering
Complete release lifecycle infrastructure:
- Authoritative
VERSIONfile: Single source of truth for release version, checked byscripts/check-release-consistency.shto 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
.sha256checksum and detached signature;cheng-api --version,cheng --version, and/healthresponse all report the embedded version - GitHub Actions CI:
release.ymlimplements a gated release sequence (validate → build → docker → publish);release-checks.ymlruns consistency checks on every push - Release contract tests:
scripts/test-release-contract.shvalidates 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 rollbackrestores the previous release - Free space guard: Refuses to stage when insufficient disk space is available
- Migration policy: Checks
CHANGELOG.mdfor 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.shmenu 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_VERSIONin.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 deploymentslatestis 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 underset -o pipefail— whengrep -qexits early on match,printfreceives 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 | greppipelines 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 updateAfter 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 | bashAfter installation, edit .env to configure database password and secret key, then start:
./chengos.sh startKnown 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.yamlconfig_patchuses shallow merge; deep merge of nested objects is not supported- Online update signature verification requires
cosign,minisign, orgpgto be installed; falls back to checksum-only verification if none are present
Feedback
- GitHub Issues: https://github.com/chengrouter/chengos/issues
- Community: ChengHub
ChengOS Release v0.0.5
New Features
1. Node Presets System
Added global node preset configuration (presets.yaml) providing pre-defined configuration profiles for common nodes:
- Preset categories:
preset_typesclassification (e.g. Tool nodes, AI nodes) with hierarchical display in UI - Config patch: Each preset applies a shallow merge via
config_patchto the target node configuration - Risk levels:
low/medium/highrisk marking; high-risk presets are hidden from LLM by default - LLM visibility:
llm_visiblefield 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_namesupports 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_outcarries failure reason and attempted field list on routing failure
ChengOS Release v0.0.4
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_turnsdatabase migration,ConversationTurnRepo, andConversationRollbackRepo, 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.
- Implemented a complete conversation rollback mechanism: added
-
Internal Conversation Turn Lifecycle
- Introduced an internal conversation turn lifecycle module to manage turn creation, execution, completion, and cleanup.
- Added
conversation_turn_workspace_isolationintegration test (953 lines). - Added
turn_supporttest 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/toolsin 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
useConversationRewindhook (351 lines) for complete rollback state management and operations. - Added
RewindConfirmDialog, rewind utilities, and rewind notification system. - Integrated rollback interactions into
ChatPreviewPanelandChatPreviewPage. EditMessageDialognow supports editing messages and triggering rollback replay.- Added rollback action buttons on
MessageBubble.
- Added
-
Messages & Chat Experience
- Refactored
useMessageshook (+276 lines) to support message list refresh after rollback. ChatInputnow supports draft recovery after rollback.- Enhanced
conversationSenderservice to support resending after rollback. - Added
executionTraceutility (196 lines) for execution trace visualization.
- Refactored
-
Test Coverage
- Added comprehensive frontend tests:
rewindCutoffContract,ChatPreviewPanel.rewind,EditMessageDialog,MessageBubble.actions,useConversationRewind,ChatInput.draftRestoration.
- Added comprehensive frontend tests:
-
Internationalization
- Added 191 lines of rollback-related i18n translations.
ChengOS Release v0.0.3
##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
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