文件历史

51 次代码提交

作者 SHA1 备注 提交日期
Stark-Han 05480fdce9 fix(team): harden workflow recovery, terminal projection, and artifact visibility (#167)
Build / Backend Build (push) Failing after 1s
Build / Frontend Build (push) Failing after 1s
Build / Docker Build (push) Has been skipped
Build / Kubernetes Deploy Smoke Test (push) Has been skipped
Release / Prepare Scheduled Release (push) Has been skipped
Release / Publish Release (push) Failing after 0s
* 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

* discord link updated

* chore: checkpoint team workflow fixes

* fix: stabilize leader kanban ledger

* fix: coalesce leader mediated work items

* fix: confirm leader-mediated member results

* fix: harden leader mediated team state

* fix: stabilize team shared runtime state

* Fix team task reconciliation and create flow

* fix: stabilize leader mediated team orchestration

* fix: refine team workspace presentation

* checkpoint: persist team workflow ledger fixes

* fix: reconcile team workflow delivery state

* fix: preserve meaningful team chat events

* docs: add team workspace quick guides

* chore: ignore local team deployment files

* fix: preserve setgid on team shared directories

* fix(team): align workspace overlays and completion projection

* fix(team): preserve workflow identity recovery

* fix(team): protect terminal workflow projection

* fix(team): preserve collaboration flow after terminal results
2026-07-17 17:48:58 +08:00
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
TC-fighting ecfc19b7a0 feat(secplane): add Security Protection Platform frontend console (#156)
Release / Prepare Scheduled Release (push) Has been skipped
Release / Publish Release (push) Failing after 0s
Adds the complete Security Protection Platform (secplane) frontend — a
unified admin console covering 4 defense layers:

- Runtime layer: input/state/decision/output surface defense,
  asset tamper-proofing, human approval workflow (6 scenario pages)
- Host layer: host hardening (KSec + Falco/IDS) and container isolation
- Audit layer: SecureClaw data-and-component trust auditing
- Control layer: outbound trusted-endpoint governance, policy governance,
  kill-switch/circuit-breaker, full-chain audit, collaboration governance,
  and input detection (5 scenario pages + 2 collaboration pages)

Includes:
- 9 i18n translation files (en/zh/ja/ko/de) for all secplane modules
- Security overview page and event center
- Category navigation and scenario placeholder system
- Dispatch picker and apply dispatch buttons
- Host hardening service with Falco/IDS template data
- /api/host dev proxy in vite.config for ksec-bridge
- Navigation menu integration in AdminLayout
- Security center breadcrumb navigation
- Instance portal proxy URL fix (use Vite dev proxy)
- package.json: add js-yaml dependency for IDS template parsing
- 5-language README What's New entries for secplane

Excluded (per design):
- authStore.ts dev bypass (VITE_BYPASS_AUTH)
- Backend address override (minikube IP restored to 127.0.0.1:9001)
- Backend secplane Go code (separate PR)
- docs/ and tests/ (separate PRs)

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-13 10:17:34 +08:00
Stark-Han 2dbe97d5b6 fix: stabilize OpenClaw Lite Team collaboration and documentation (#162)
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

* discord link updated

* chore: checkpoint team workflow fixes

* fix: stabilize leader kanban ledger

* fix: coalesce leader mediated work items

* fix: confirm leader-mediated member results

* fix: harden leader mediated team state

* fix: stabilize team shared runtime state

* Fix team task reconciliation and create flow

* fix: stabilize leader mediated team orchestration

* fix: refine team workspace presentation

* checkpoint: persist team workflow ledger fixes

* fix: reconcile team workflow delivery state

* fix: preserve meaningful team chat events

* docs: add team workspace quick guides

* chore: ignore local team deployment files

* fix: preserve setgid on team shared directories
2026-07-11 08:15:10 +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
litiantian03 609996b65f feat(instance): improve skill injection and OpenClaw bootstrap config
- Add an available-skills endpoint for instances with actor-aware filtering
- Persist gateway token, agent bootstrap token, and OpenClaw config snapshots for Lite instances
- Inject agent and OpenClaw bootstrap env into gateway runtimes
- Materialize and remove Lite instance skills in the workspace filesystem
- Improve instance detail skill upload, bulk attachment, workspace refresh, and layout syncing
2026-07-01 17:04:14 +08:00
litiantian03 69d30df667 feat(skill): improve instance skill management and workspace sync
- Support multi-select skill attachment and show risk-policy filtering hints
- Mark instance skills as removed after successful uninstall commands
- Sync skill removal state when related workspace files are deleted
- Hide removed skills and avoid reactivating them from agent inventory reports
- Clear proxy-scoped OpenClaw control storage to prevent cross-instance state leakage
2026-07-01 17:04:14 +08:00
litiantian03 eca9ad5754 feat(instance): improve desktop stream apply flow and Team member config 2026-07-01 17:04:14 +08:00
litiantian03 3c35b26b74 fix(instance): stabilize desktop access and stream defaults
- Reuse desktop direct upstream resolution and include upstream in short external access tokens
- Default and normalize Selkies stream settings for desktop runtimes
- Remove legacy deployments with the same instance-id before ensuring the current deployment
- Preserve the unsaved desktop stream profile state in the frontend
- Add tests for stream profiles, pod envs, and deployment cleanup
2026-06-18 11:28:40 +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 aea224426f feat: support lite/pro runtime modes and runtime rollout 2026-06-14 14:40:49 +08:00
litiantian03 95d6faad73 fix: resource skill upload and team member numbering 2026-06-02 16:22:11 +08:00
litiantian03 6f02978997 Tune desktop clipboard and shared memory defaults
- Disable Webtop/KasmVNC bidirectional clipboard sync by default to reduce accidental paste during remote desktop input
- Derive desktop runtime /dev/shm defaults from instance memory: 1G for 4G, 2G for 8G, and 4G for 12G+
- Preserve explicit SHM_SIZE_GB overrides and keep shell runtime behavior unchanged
- Add tests for openclaw/hermes clipboard policy and /dev/shm default selection
- Support multiple OpenClaw channel resources and fix alias injection
2026-05-28 16:25:24 +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
litiantian03 a64fa20997 feat(team): add paginated task/event history and improve chat deduplication
Add cursor-based GET /teams/:id/tasks and GET /teams/:id/events APIs.
Team detail page loads older messages on scroll/click and deduplicates
collaboration chat messages with improved thread ordering.
2026-05-25 10:29:25 +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
Qingshan Chen a3bbedbbdc fix: paginate user management list 2026-05-12 20:35:37 +08:00
Qingshan Chen 55e9edfb83 fix: make instance deletion asynchronous 2026-04-30 19:24:17 +08:00
Qingshan Chen 6c8bf5180c fix: normalize agents runtime image references 2026-04-29 17:24:49 +08:00
Qingshan Chen 58c35f6ecd Merge pull request #88 from naiqus/fix/openclaw-channel-editor-field-dropping
fix: channel editors silently dropping unknown fields on save
2026-04-29 15:14:37 +08:00
Qingshan Chen e2613b4c45 feat: add hermes runtime integration 2026-04-29 15:00:57 +08:00
Suqian Zhang c39df72d51 fix(openclaw): preserve unknown fields in channel config save path
Every channel form editor (telegram, dingtalk-connector, slack, feishu)
silently drops fields on Save. The user flow that loses data:

  1. Open a channel resource in the JSON tab, add any field not owned
     by the form (e.g. webhook, custom capabilities, additional feishu
     accounts).
  2. Switch to the Form tab and change anything (e.g. rotate a secret).
  3. Click Save.
  4. The field from step 1 is gone from the saved config — and stays
     gone after a reload.

The data loss occurs in two places; both must be fixed:

Frontend (OpenClawConfigCenterPage.tsx):
  Each update*ChannelContentText rebuilt the output from a hard-coded
  allowlist instead of merging form fields into the parsed config. Any
  field not in the allowlist was dropped on Save. For feishu this
  collapsed a multi-account config to a single `main` account.

Backend (openclaw_config_service.go):
  normalizeOpenClawResourceContent calls normalize*ChannelConfigForEnv
  on every create/update to validate and rebuild the stored config.
  Those helpers use the same allowlist pattern, so even if the
  frontend sends a complete config, the backend strips tenant-authored
  keys before persisting.

Fix:

  - Frontend: introduce a single mergeChannelConfig(existing, allowlisted)
    helper and route every editor's output through it. Each handler
    builds an allowlisted object containing only its known keys; the
    helper overlays it onto the parsed existing config so unknown keys
    survive. The merge point is now structural rather than a per-handler
    convention, so a new editor (e.g. an MS Teams handler added in a
    downstream patch) can't regress by forgetting the spread. Feishu's
    accounts deep-merge is preserved by building the merged accounts
    inside the allowlisted object before handing off to the helper.

  - Backend: introduce mergeOpenClawChannelConfigForStorage, which
    overlays the allowlist-normalized output onto the original parsed
    payload at storage time. Normalized keys still win; unknown keys
    pass through. For feishu the accounts map is merged member-wise.

Env-rendering semantics are unchanged. appendCompiledOpenClawEnvPayload
continues to call the *ForEnv helpers at render time against the
stored content, so the runtime env payload sees the same allowlist as
before.

Tests:

  - Two existing ResourcePayloadFromModelNormalizesStored*JSON tests
    asserted the pre-fix behavior (dropping `legacyField`) and are
    updated to assert it survives.
  - New TestNormalizeOpenClawResourceContentPreservesUnknownChannelFields
    (table-driven, three editors) guards the preservation invariant.
  - New TestNormalizeOpenClawResourceContentPreservesFeishuSiblingAccounts
    guards the feishu deep-merge.

Manual verification against a live instance: add `webhook` via the
JSON tab, switch to Form tab, rotate a secret, Save, reload — the
webhook field is retained.
2026-04-27 23:07:24 +02:00
Qingshan Chen 49725a8e24 Merge pull request #87 from naiqus/fix/openclaw-transfer-path
fix: .openclaw workspace transfer path and upload handling
2026-04-26 00:27:20 +08:00
naiqus a33f3fee16 fix(instances): admin sees all users' instances in workspace view
Summary
-------
Logging in as an admin and navigating to Workspace → My Instances
returned every instance in the cluster instead of the admin's own.
Role was overloaded to both widen the admin console surface AND
widen the self-scoped list endpoint, so the workspace view broke
the owner-isolation contract users expect.

Root cause
----------
`InstanceService.GetVisibleInstances(userID, role, ...)` branched
on role: admin callers fell through to `instanceRepo.GetAll`,
non-admin callers fell through to `GetByUserID`. The single
`GET /instances` handler passed the caller's role into that
function, so the same URL meant "my instances" for users and
"every instance in the system" for admins.

Fix
---
Split the two views at the API surface, not inside the service:

- `GET /instances` is now always caller-scoped. The handler calls
  `GetByUserID` unconditionally and never reads the caller's role.
- `GET /admin/instances` is a new route, gated by the existing
  admin middleware trio (`Auth` + `SetUserInfo` + `NewAdminAuth`).
  It calls a new `InstanceService.GetAllInstances` that does not
  look at any userID.
- `GetVisibleInstances` is removed; nothing else in the codebase
  called it.

Frontend follows: `AdminDashboard` and `InstanceManagementPage`
switch to a new `adminInstanceService.getInstances()` that hits
`/admin/instances`. Per-instance admin actions (start, stop,
delete, proxy, etc.) are intentionally out of scope for this PR
and continue to use the existing endpoints.

Tests
-----
Two new service tests in `instance_visibility_test.go`:

- `TestGetByUserIDFiltersByCaller` pins the workspace contract:
  regardless of how many admins or other users exist, a caller
  only ever sees their own instances through this path.
- `TestGetAllInstancesReturnsEveryUser` covers the admin-console
  path, including pagination.

`go build ./...`, `go test ./...`, and `npm run build` all pass.

Scope note
----------
This PR fixes the listing leak only. Per-instance handlers in
`instance_handler.go` retain their existing inline role checks
and will be audited separately.
2026-04-24 03:37:26 +02:00
naiqus 0a722773da fix(openclaw): align upload limit to 50 MiB 2026-04-24 02:08:35 +02:00
naiqus bea828cbb0 fix(frontend): show meaningful error messages for OpenClaw import/export
The previous error handler fell back to the button label when the server
did not return a JSON body (e.g. nginx 413 plain-HTML response), producing
a popup that said "Import .openclaw" on failure - indistinguishable from
a success message.

Add describeOpenClawError() that:
- surfaces server-supplied JSON { error: "..." } when present,
- strips HTML from plain-text bodies (nginx default error page),
- recognizes 413 as "archive too large",
- otherwise reports the HTTP status code.

Also emit distinct i18n strings for success (importOpenClawSuccess) and
failure (importOpenClawFailed / exportOpenClawFailed) across all 5
supported languages (en, zh, ja, ko, de).
2026-04-24 02:02:46 +02:00
Qingshan Chen 32bd842470 feat: support multiple runtime images per instance type 2026-04-20 19:26:56 +08:00
Qingshan Chen 8c9216cfa0 perf: optimize desktop proxy access flow 2026-04-20 10:27:04 +08:00
Qingshan Chen c345d9077d feat: inject AI gateway model catalog into openclaw env 2026-04-16 23:07:50 +08:00
Qingshan Chen ab4c7bc990 feat: add dingtalk openclaw channel support 2026-04-16 00:12:08 +08:00
Qingshan Chen 366bae194a feat: improve instance creation environment workflow 2026-04-15 18:20:24 +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
iamlovingit c847c6c6dc feat(skill-management): add skill management and skill-scanner integration 2026-04-08 16:02:18 +08:00
iamlovingit 4ebb5f46d1 Add instance agent control plane and runtime console 2026-04-05 01:02:53 +08:00
Qingshan Chen ceb14b3b3f feat: add OpenClaw resource management and bootstrap flows 2026-04-03 20:33:30 +08:00
Qingshan Chen 095e62140c feat: support anthropic protocol for local providers
Add a protocol selector for local/internal model templates, route gateway requests through Anthropic native APIs when selected, and update the Anthropic template icon.
2026-04-01 23:18:45 +08:00
Qingshan Chen 48420cc148 Refine admin audit and management UX 2026-03-31 17:47:00 +08:00
Qingshan Chen 4fc5201cb2 Support multiple model service platforms, redesign the AI audit detail page, and upgrade the OpenClaw image and Gateway startup flow (#24)
Background
This update focuses on three areas:

- Improve model onboarding capabilities by supporting unified configuration across multiple model service platforms
- Optimize the AI audit detail page to improve trace troubleshooting and readability
- Upgrade the OpenClaw runtime image and automatically enable the Gateway after instance startup

Changes
1. Support multiple model service platforms
- Introduce a vendor template mechanism for model onboarding, allowing quick selection of different model service platforms through a searchable dropdown
- Preconfigure fixed `base_url` values for common platforms to reduce manual input and configuration errors
- Support custom `base_url` for `Local / Internal`, compatible with local gateways, internal proxies, and self-hosted compatible services
- Add vendor icons to improve recognizability on the model configuration page
- Optimize the model creation experience so newly created cards appear at the top, making them easier to find when many models exist
- Optimize provider model discovery logic to support OpenAI-compatible services with non-standard version paths

2. Optimize the AI audit detail page
- Rework the trace detail layout to improve information hierarchy and readability
- Change audit timestamps to a combined relative + absolute format for more intuitive troubleshooting
- Add an execution flow view so the full process can be inspected by execution node
- Add a minimap to quickly locate execution nodes and keep navigation aligned with detail scrolling
- Remove duplicated or low-value information blocks to simplify the trace detail experience
- Optimize status rendering and failure reason unwrapping to prevent error payloads from polluting the status field

3. Upgrade the OpenClaw image and automatically enable the Gateway
- Upgrade the default OpenClaw runtime image to the new image address
- Automatically initialize and enable the Gateway when the new image starts, reducing manual instance-side operations
- Update the system default image configuration and add migration logic for existing default values
2026-03-30 21:27:37 +08:00
Qingshan Chen 36390395d7 change virtual display from auto to manual (#14)
Release / Publish Release (push) Failing after 0s
Release / Prepare Scheduled Release (push) Has been skipped
* fix: avoid auto-connecting desktop sessions

* fix: gate desktop launch and release parsing
2026-03-27 17:43:27 +08:00
Qingshan Chen ef3033ca9d chore: update default openclaw image (#13) 2026-03-26 21:05:29 +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 58a3c6b1a9 Fix delete dialogs, websocket auth, and startup script 2026-03-23 17:16:27 +08:00
Qingshan Chen 1ae0ef5866 Improve enter key submission on login page 2026-03-23 16:07:07 +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
Yuan-lab-LLM 5b4de15f73 Add files via upload
add pic
2026-03-20 20:41:18 +08:00