33 Commits

Author SHA1 Message Date
heranran 71c7672545 feat: Skill Hub hardening with session usage tracking and egress governance (#163)
* feat(skill-hub): add Skill Hub catalog, publish flow, and lite materialize pipeline

Introduce Skill Hub for browsing, importing, publishing, and installing skills, with lite instance package materialization and runtime sync support.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(skill-hub): remove token-governance hooks from Skill Hub PR

Strip validateManagedRuntimeEnvironmentOverrides, network lock policy sync,
and egress proxy audit wiring that belong to the upcoming token-usage work,
so the Skill Hub branch compiles independently.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(skill-hub): update migration number in materialize docs

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(skill-hub): make RuntimeAgentClient test stub and hub tests compile-safe

Add ResyncInstanceSkills to the runtime pool handler fake client, and harden
skill hub payload helpers/tests against nil storage/instance repos so go test passes.

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat: add Skill Hub hardening with session usage tracking and egress governance

Unify Skill Hub runtime sync improvements with session-token observability,
egress network policy, and admin/instance usage reporting for reopenable PR.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(skill-hub): repair CI tests and nested skill install

* fix(ci): restore release deployment configuration

---------

Co-authored-by: heshengran <heshengran@ieisystem.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 12:37:01 +08:00
Li-Day-Day 58c19856fd feat:Improve Lite gateway scheduling, proxy stability, and Hermes recovery (#160)
Release / Prepare Scheduled Release (push) Has been skipped
Release / Publish Release (push) Failing after 0s
* feat(runtime): improve Lite gateway scheduling and proxy stability

- Expand the runtime gateway port range to match 100 instances per pod
- Scale runtime deployments based on pending backlog
- Serialize gateway creation per pod and handle starting/creating states
- Clean up missing gateway bindings from runtime agent reports
- Improve Lite gateway proxy token stripping and auth header injection
- Update deployment manifests, docs, and related tests

* fix(runtime): harden Hermes Lite gateway recovery

- Add hashed gateway token aliases for short-term token compatibility
- Fix /resume conversations failing when old sessions use mismatched gateway tokens
- Recover ports only from stale error bindings without affecting active gateways

* feat(runtime): enable bidirectional desktop clipboard and direct proxy

- Enable WebTop/Selkies/Kasm clipboard by default with per-instance overrides
- Document clipboard verification, configuration pitfalls, and IME troubleshooting
- Enable direct desktop proxy in the K8s and K3s manifests

---------

Co-authored-by: litiantian03 <litiantian03@ieisystem.com>
2026-07-13 14:37:03 +08:00
Stark-Han 41d8d6a629 Codex/peer assisted team collab (#155)
Release / Prepare Scheduled Release (push) Has been skipped
Release / Publish Release (push) Failing after 1s
* chore: ignore local agency and team snapshots

* feat: add team agent profile templates

* KANBAN

* template

* prototype

* Fix tenant runtime pool deployment

* Fix local team profiles runtime override

* Update local team profiles testing guide

* Adapt local team profiles test deployment

* Patch tenant NFS server to ClusterIP

* Use NFS export root for workspace mounts

* Tighten team task completion projection

* Fix team event body map comparison

* before modification

* temp_peer1

* leadermodel

* team_fix

* fix(team): harden workflow completion and workspace handling

* fix(team): harden redis workflow protocol
2026-07-03 09:58:47 +08:00
litiantian03 58f7b8aea3 feat(instance): support Lite instance batch management
- Add APIs for batch creating and deleting Lite instances
- Support Lite batch create, selection, and delete flows in the instance list
- Fix Lite OpenClaw/Hermes workspace initial paths and skill directory paths
- Hide transient skill temp directories from workspace browsing
- Preserve runtime query tokens when stripping ClawManager desktop access tokens
2026-07-01 17:04:14 +08:00
Qingshan Chen 8c922189d2 Merge upstream main into sc 2026-06-25 14:29:49 +08:00
Qingshan Chen 49da74e87f Add single-node deployment manifests 2026-06-25 14:16:28 +08:00
Qingshan Chen 8f477f8fa9 Add cluster deployment manifests and docs 2026-06-24 22:14:33 +08:00
litiantian03 b8a7e8c67a feat: optimize shared desktop access and multi-replica control plane
- Add leader election to avoid duplicate sync and Team event consumers
- Proxy desktop traffic directly from nginx to instance Services to reduce load during concurrent viewers
- Add desktop stream profiles with low / standard / high options
- Limit hostPath PV fallback to manual storageClass only
2026-06-18 11:28:40 +08:00
Qingshan Chen f415f09716 fix openclaw lite gateway bind mode 2026-06-15 17:25:14 +08:00
Qingshan Chen aea224426f feat: support lite/pro runtime modes and runtime rollout 2026-06-14 14:40:49 +08:00
litiantian03 29375f04f2 fix(instance): mount Hermes/desktop PVCs at /config with legacy layout migration 2026-06-02 09:15:59 +08:00
litiantian03 561b263c8b feat: add Bundle Skills, WeCom channel, configurable archive limit, fix #123
- Bundle Skills: attach skills to config bundles, auto-resolve on creation. Migration 022 adds openclaw_config_bundle_skills table. Fix #123
- WeCom channel: wecom connector with botId/secret/dmPolicy/allowFrom
- CLAWMANAGER_WORKSPACE_ARCHIVE_MAX_MIB controls archive size limit, synced to nginx client_max_body_size via start.sh
- Update deployment manifests, i18n, and frontend UI
2026-05-26 17:17:07 +08:00
Qingshan Chen d47c5f0b8c feat: add openclaw shell runtime preset 2026-05-22 19:21:11 +08:00
Qingshan Chen c192908d95 feat: add shell runtime and harden team shared storage 2026-05-22 15:06:59 +08:00
Qingshan Chen 8bfd6340e9 Merge remote-tracking branch 'upstream/main' into codex/shell
# Conflicts:
#	backend/internal/services/instance_service.go
#	backend/internal/services/k8s/pod_service.go
#	backend/internal/services/k8s/pod_service_test.go
#	frontend/src/components/InstanceAccess.tsx
2026-05-18 22:12:46 +08:00
litiantian03 3fe1418d5e feat(team): Multi-agent Team control plane across runtimes (Leader-mediated collaboration)
- Add migrations plus Team/Member/Task/Event APIs; Redis Streams consumer projects inbox/events into DB as source of truth
- Inject Team Secret (Redis URL, team token) via envFrom; shared RWX PVC at /team; sync ConfigMap roster to /team/team.json
- Create member Pods through InstanceService; extend K8s (PVC/Secret/Pod/ConfigMap); stale-task sweep and Team/member deletion with cleanup
- Add /teams, /teams/new, /teams/🆔 creation wizard (roster, presets, shared env/OpenClaw plan), per-member desktops, collaboration timeline, debug dispatch (defaults to Leader when target omitted)
2026-05-18 16:30:26 +08:00
Qingshan Chen 7ceefbf6a8 shell init 2026-05-13 20:19:44 +08:00
litiantian03 054a2b9b44 fix: resolve OpenClaw upload crash with least-privilege pod settings
- add configurable /dev/shm mounts for instance pods with a bounded SHM_SIZE_GB override
- introduce pod security modes and use chromium-compat for OpenClaw instead of privileged
- keep privileged mode only as an explicit admin fallback
- remove the node-level clawmanager-node-tuner manifest to avoid changing host security defaults
- fix k3s HTTPS and API/proxy service port mappings
- add tests for SHM parsing and pod security mode behavior
2026-05-07 10:34:37 +08:00
hippoley 963a1c378e fix: use persistent path for PV hostPath instead of /tmp/
BREAKING: PV hostPath prefix changed from /tmp/clawreef/ to /data/clawreef/

Problem:
- PV hostPath was hardcoded to /tmp/clawreef/user-{id}/instance-{id}
- /tmp/ is a volatile directory that may be cleaned by systemd-tmpfiles
  or cleared on node reboot (depending on OS configuration)
- This caused data loss when worker-02 was rebooted by the hypervisor

Fix:
- Add configurable hostPathPrefix to RuntimePVCConfig (default: /data/clawreef)
- Support K8S_PV_HOST_PATH_PREFIX environment variable override
- Update deployment manifests to use /data/clawmanager/ for MySQL and MinIO

Migration:
- Existing deployments should move data from /tmp/clawreef/ to /data/clawreef/
  and create a symlink for backward compatibility:
    mkdir -p /data/clawreef
    mv /tmp/clawreef/* /data/clawreef/
    rm -rf /tmp/clawreef && ln -s /data/clawreef /tmp/clawreef
2026-05-07 07:57:44 +08:00
Qingshan Chen 6c8bf5180c fix: normalize agents runtime image references 2026-04-29 17:24:49 +08:00
Qingshan Chen e2613b4c45 feat: add hermes runtime integration 2026-04-29 15:00:57 +08:00
naiqus 0a722773da fix(openclaw): align upload limit to 50 MiB 2026-04-24 02:08:35 +02:00
naiqus 4bde3cdb0b fix(nginx): raise client_max_body_size to 512m for .openclaw uploads
Nginx default client_max_body_size is 1 MiB. Any real .openclaw workspace
archive exceeds that, so the Import endpoint rejects uploads with a plain
HTML 413 Content Too Large response long before the request reaches the
Go backend (which already permits up to 512 MiB via io.LimitReader).

Set client_max_body_size to 512m on the server block so the edge limit
matches the backend limit.
2026-04-24 01:59:26 +02:00
Qingshan Chen 8c9216cfa0 perf: optimize desktop proxy access flow 2026-04-20 10:27:04 +08:00
River d5398ee671 feat(instance): support fractional CPU cores in instance creation
- Change cpu_cores from int to float64 in backend models, handlers, services
- Update frontend CreateInstancePage to accept decimal CPU values (step 0.1)
- Add DB migration 009_cpu_cores_decimal.sql for DECIMAL(10,2) columns
- Update deployment manifests (k8s, k3s, incluster) schema definitions
- Add GOFLAGS/GOPROXY/GOSUMDB build args to Dockerfile so that
  --build-arg values passed by build scripts take effect during go mod download
2026-04-14 15:21:56 +08:00
River 7ba0a6dc16 Add k3s deployment manifest and update README documentation
Changes:
- Add deployments/k3s/clawmanager.yaml with full OpenClaw Agent support
  - Includes Skill Scanner for skill management and security scanning
  - Uses local filesystem for object storage (no MinIO dependency)

- Update all README files (EN, ZH, JA, KO, DE) with deployment options:
  - k8s manifest for standard Kubernetes clusters with MinIO
  - k3s manifest for lightweight/K3s environments with local storage
2026-04-13 13:28:43 +08:00
iamlovingit c847c6c6dc feat(skill-management): add skill management and skill-scanner integration 2026-04-08 16:02:18 +08:00
Qingshan Chen ceb14b3b3f feat: add OpenClaw resource management and bootstrap flows 2026-04-03 20:33:30 +08:00
Qingshan Chen 34b95a1a41 feat: add AI gateway governance and stabilize desktop access (#12)
big update
2026-03-26 20:43:42 +08:00
Qingshan Chen d970cb8269 Switch release workflow to GHCR for upstream 2026-03-23 15:48:16 +08:00
Qingshan Chen 87a6ac6a13 update deployment (#4) 2026-03-23 10:33:19 +08:00
Qingshan Chen f9eaece684 update image address and readme (#3)
* Update deployment images and simplify README setup

* Ignore local project docs and remove unused scripts

* remove useless files
2026-03-21 23:17:43 +08:00
Qingshan Chen 72038f51a3 Import ClawManager implementation 2026-03-20 19:06:48 +08:00