[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81563":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":11,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":8,"rankLanguage":8,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":20,"hasPages":20,"topics":22,"createdAt":8,"pushedAt":8,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":14,"starSnapshotCount":14,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},81563,"floci-ui","floci-io\u002Ffloci-ui","floci-io",null,"TypeScript",41,17,24,1,0,6,13,18,3.77,"MIT License",false,"main",[],"2026-06-12 02:04:16","# Floci UI\n\nFloci UI is evolving into a unified local-first multi-cloud runtime explorer for\n[Floci](https:\u002F\u002Fgithub.com\u002Ffloci-io\u002Ffloci) and compatible local cloud runtimes.\n\nIt is designed to feel familiar to AWS Console users while staying honest about the current implementation: the UI only\nrenders real data returned by Floci-compatible APIs. If a service or operation is not wired yet, the screen stays empty\nor shows an explicit placeholder. No fake resources, demo rows, or mock service data are shown in normal mode.\n\n## Why Floci UI?\n\nFloci exposes cloud-compatible APIs that are ideal for SDKs, CLI scripts, and automated tests, but day-to-day local\ndevelopment also needs a visual layer:\n\n- See which local cloud runtime the UI is connected to.\n- Browse real local cloud resources without leaving the browser.\n- Inspect service state without inventing resources.\n- Use CloudWatch logs and metrics as the telemetry surface.\n- Keep unsupported screens explicit instead of hiding gaps behind dummy data.\n\n## Project Vision\n\nFloci UI is moving from an AWS-focused local console toward a metadata-driven explorer that can render multiple local\ncloud runtimes through one consistent interface.\n\nThe initial unified scope is intentionally small:\n\n- AWS S3 through Floci AWS Core.\n- Azure Blob Storage through Floci-AZ.\n- AWS Compute through the Cloud Explorer adapter model.\n- AWS Networking through the Cloud Explorer adapter model.\n- GCP appears only as a coming-soon placeholder.\n\nFuture scope:\n\n- More AWS services.\n- More Azure services.\n- GCP support coming soon.\n- Plugin\u002Fadapters ecosystem.\n- Observability and resource inspection.\n\n## Architecture Principle\n\nThe rule of the project is:\n\n- The UI does not know clouds.\n- The proxy does not know internal implementations.\n- The SPI defines the contracts.\n- The adapters perform the translation.\n- Floci Core executes the runtime.\n\n```mermaid\nflowchart LR\n    Browser[\"Browser\"]\n    UI[\"floci-ui-web\\nReact + TypeScript\"]\n    Proxy[\"Cloud Proxy API\\n\u002Fapi\u002Fclouds\u002F*\"]\n    Registry[\"Cloud Adapter Registry\"]\n    AWS[\"AWS Storage Adapter\"]\n    Azure[\"Azure Storage Adapter\"]\n    GCP[\"GCP Adapter\\nComing Soon\"]\n    FlociAWS[\"Floci AWS Core\\nlocalhost:4566\"]\n    FlociAZ[\"Floci-AZ\\nlocalhost:4577\"]\n    Browser --> UI\n    UI --> Proxy\n    Proxy --> Registry\n    Registry --> AWS\n    Registry --> Azure\n    Registry -. placeholder .-> GCP\n    AWS --> FlociAWS\n    Azure --> FlociAZ\n```\n\nThe unified UI talks only to the Cloud Proxy API. The proxy resolves the selected cloud and service through the adapter\nregistry, then returns normalized resources and metadata schemas back to the web app.\n\n## Architecture\n\n![Floci Unified UI Multi-Cloud Architecture](docs\u002Fimages\u002Ffloci-unified-ui-architecture.png)\n\nShort implementation notes are available in [docs\u002Fimplementation-notes.md](docs\u002Fimplementation-notes.md).\n\n## Unified Storage Scope\n\nThe first metadata-driven service is `storage`.\n\n| Cloud | Runtime | Adapter | Resource mapping | Status |\n|---|---|---|---|---|\n| AWS | Floci AWS Core | AWS Storage Adapter | S3 bucket -> storage resource | Implemented |\n| Azure | Floci-AZ | Azure Storage Adapter | Blob container -> storage resource | Implemented |\n| GCP | Future Floci-GP | GCP Adapter | Cloud Storage bucket -> storage resource | Coming soon |\n\nNormalized resource shape:\n\n```json\n{\n  \"id\": \"string\",\n  \"name\": \"string\",\n  \"cloud\": \"aws | azure\",\n  \"service\": \"storage\",\n  \"type\": \"bucket | container\",\n  \"region\": \"string | null\",\n  \"createdAt\": \"string | null\",\n  \"metadata\": {}\n}\n```\n\n## Unified Compute Scope\n\n`compute` is available in the Cloud Explorer for AWS only.\n\n| Cloud | Runtime | Adapter | Resource mapping | Status |\n|---|---|---|---|---|\n| AWS | Floci AWS Core | AWS Compute Adapter | EC2 instance \u002F AMI -> compute resource | Partial |\n| Azure | Future Floci-AZ compute adapter | Azure Compute Adapter | VM -> compute resource | Coming soon |\n| GCP | Future Floci-GP compute adapter | GCP Compute Adapter | VM instance -> compute resource | Coming soon |\n\nCurrent AWS Compute support in the unified Cloud Explorer:\n\n- List EC2 instances as normalized compute resources.\n- List AMIs as normalized compute resources.\n- Inspect normalized instance and AMI metadata.\n- Launch instances through an AWS-specific Compute panel.\n- Start, stop, reboot, and terminate instances.\n- View console output.\n- Create AMIs from instances.\n- Edit instance tags.\n- Deregister AMIs.\n\nCurrent limitations:\n\n- Instance launch uses the Compute panel instead of the generic Cloud Explorer form because it needs dependent selectors\n  such as VPC -> Subnet -> Security Group.\n- There is no standalone legacy `\u002Fec2` frontend page in the current UI.\n\n## Unified Networking Scope\n\n`networking` is available in the Cloud Explorer for AWS only.\n\n| Cloud | Runtime | Adapter | Resource mapping | Status |\n|---|---|---|---|---|\n| AWS | Floci AWS Core | AWS Networking Adapter | VPC -> networking resource | Partial |\n| Azure | Future Floci-AZ networking adapter | Azure Networking Adapter | VNet -> networking resource | Coming soon |\n| GCP | Future Floci-GP networking adapter | GCP Networking Adapter | VPC network -> networking resource | Coming soon |\n\nCurrent AWS Networking support in the unified Cloud Explorer:\n\n- List VPCs as normalized networking resources.\n- Inspect selected VPC metadata.\n- Use the Networking panel for VPC, subnet, security group, gateway, route table, NAT gateway, and Elastic IP workflows.\n- Create VPCs directly or through the VPC wizard.\n- Allocate, associate, disassociate, and release Elastic IPs.\n\nCurrent limitations:\n\n- AWS Networking uses an AWS-specific panel because the workflows need resource-specific forms and nested operations.\n- Azure VNet and GCP VPC adapters are not implemented yet.\n\n## Current Cloud Service Status\n\nThese percentages describe UI coverage in the current frontend, grouped by the `Cloud Services` navigation model. They\ndo not describe backend completeness. A category can have a mature AWS-specific page while still being only partially\nintegrated into the unified Cloud Explorer model.\n\n| Category | AWS | Azure | GCP | Current UI status |\n|---|---:|---:|---:|---|\n| Storage | 95% | 80% | Coming soon | Unified Cloud Explorer support for AWS S3 and Azure Blob Storage. Buckets\u002Fcontainers, object browsing, upload, download, delete, folder prefixes, metadata, and inspector are wired. AWS still has a richer legacy S3 page for bucket tags, object tags, versioning, copy, and bulk delete. |\n| Compute | 70% | Coming soon | Coming soon | AWS Compute is available under `\u002Fcloud-explorer\u002Faws\u002Fcompute`. It lists EC2 instances and AMIs, exposes launch\u002Flifecycle actions through the Compute panel, supports console output, tags, AMI creation, and terminate\u002Fstart\u002Fstop\u002Freboot flows. Azure and GCP compute adapters are placeholders. |\n| Networking | 75% | Coming soon | Coming soon | AWS Networking is available under `\u002Fcloud-explorer\u002Faws\u002Fnetworking`. The panel exposes VPCs, subnets, security groups, internet gateways, NAT gateways, route tables, elastic IPs, and a VPC wizard through EC2-backed APIs. Azure VNet and GCP VPC support are placeholders. |\n| k8s Engine | 35% | Coming soon | Coming soon | AWS EKS can be listed and inspected through the Cloud Explorer adapter and the dedicated EKS page. Cluster creation and node group management are not yet surfaced. |\n| Database | 45% | Coming soon | Coming soon | AWS database support focuses on RDS and DynamoDB. RDS is list\u002Finspect oriented, while DynamoDB has a mature AWS-specific table\u002Fitem UI. A normalized multi-cloud database model is still in progress. |\n| Queue | 100% AWS legacy | Coming soon | Coming soon | AWS SQS has a mature AWS-specific page for queue lifecycle, messages, tags, settings, DLQ configuration, and redrive. It is not yet exposed as a unified Cloud Explorer `queue` service. |\n| Function | 90% AWS legacy | Coming soon | Coming soon | AWS Lambda has a mature AWS-specific page for list, inspect, invoke, log tail, environment variables, and delete. It is not yet exposed as a unified Cloud Explorer `function\u002Fserverless` service in the frontend sidebar. |\n| Events | 90% AWS legacy | Coming soon | Coming soon | AWS SNS has a mature AWS-specific page for topics, subscriptions, and publish. A normalized eventing category is not wired yet. |\n| Observability | 90% AWS legacy | Coming soon | Coming soon | AWS CloudWatch has a mature AWS-specific page for logs, metrics list, alarms list, and Floci request ingestion. A normalized multi-cloud observability category is not wired yet. |\n| Security \u002F Identity | Placeholder | Placeholder | Placeholder | IAM, KMS, Secrets Manager, Cognito, and related services remain placeholders in the UI. |\n\nConnected Cloud Explorer categories today:\n\n- Storage: AWS S3, Azure Blob Storage.\n- Compute: AWS EC2.\n- Networking: AWS VPC\u002Fnetworking resources.\n- k8s Engine: AWS EKS.\n- Database: AWS RDS\u002FDynamoDB-oriented support.\n\nAWS-specific legacy pages still available today:\n\n- CloudWatch\n- S3\n- SQS\n- Lambda\n- DynamoDB\n- SNS\n- EKS\n- RDS\n\nPlaceholder or not-yet-normalized categories today:\n\n- Azure Compute, Networking, k8s, Database, Queue, Function, Events, Observability.\n- GCP all categories.\n- IAM, KMS, Secrets Manager, Cognito, Systems Manager, ElastiCache.\n\n## Category Detail\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Storage\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### Storage\n\nCloud Explorer support:\n\n- AWS S3 bucket -> normalized storage resource.\n- Azure Blob container -> normalized storage resource.\n- GCP Cloud Storage is a placeholder.\n- Shared resource table, resource inspector, runtime status, adapter status, and action capabilities.\n- Object\u002Fblob browser with prefix navigation.\n- Upload, download, delete, refresh, and folder-prefix creation.\n- Azure folder markers are hidden and rendered as navigable folders.\n- Size and last-modified metadata are normalized for AWS objects and Azure blobs when the runtime returns them.\n\nAWS-specific S3 page still adds:\n\n- Bucket tags.\n- Object tags.\n- Bucket versioning.\n- Copy object.\n- Bulk delete.\n- Rich bucket\u002Fobject lifecycle controls.\n\nRemaining gaps:\n\n| Gap | Notes |\n|---|---|\n| GCP Storage | Coming soon |\n| Azure bucket\u002Fcontainer advanced settings | Tags, access policy, and metadata editing are not yet exposed |\n| Unified bulk actions | Multi-select and bulk delete are richer in the AWS S3 page than the Cloud Explorer storage view |\n| Version browser | AWS versioning can be toggled in legacy S3, but object version browsing is not wired |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Compute\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### Compute\n\nAWS support:\n\n- Entry point: `\u002Fcloud-explorer\u002Faws\u002Fcompute`.\n- AWS Compute adapter registered through the Cloud Adapter Registry.\n- Normalized EC2 instances and AMIs in the generic resource table.\n- Compute panel for AWS-specific operations.\n- Instance launch form with AMI, instance type, key pair, VPC\u002Fsubnet\u002Fsecurity group, IAM profile, and user data.\n- Instance lifecycle actions: start, stop, reboot, terminate.\n- Console output.\n- Create AMI from instance.\n- Inline instance tag editing.\n- AMI deregistration.\n\nProvider status:\n\n| Provider | Status |\n|---|---|\n| AWS | Partial but usable |\n| Azure | Coming soon |\n| GCP | Coming soon |\n\nRemaining gaps:\n\n| Gap | Notes |\n|---|---|\n| Multi-cloud compute contract | AWS EC2 is wired; Azure VM and GCP Compute Engine adapters are not implemented |\n| Generic create schema | EC2 launch needs dependent selectors, so it lives in the Compute panel rather than a flat generic form |\n| Full parity with AWS console | Some lower-level EC2 actions remain pending |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Networking\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### Networking\n\nAWS support:\n\n- Entry point: `\u002Fcloud-explorer\u002Faws\u002Fnetworking`.\n- AWS Networking adapter exposes VPCs as top-level normalized resources.\n- Networking panel for VPC and EC2-networking-specific operations.\n- VPC list, detail, create, delete, and VPC wizard.\n- Subnets list, create, delete, and detail.\n- Security groups list, create, delete, inbound rule editing, and outbound display.\n- Internet gateways list, create, attach, detach, delete.\n- NAT gateways list, create, delete.\n- Route tables list, create, edit routes, subnet associations, delete.\n- Elastic IPs list, allocate, associate, disassociate, release.\n\nProvider status:\n\n| Provider | Status |\n|---|---|\n| AWS | Partial but usable |\n| Azure | Coming soon |\n| GCP | Coming soon |\n\nRemaining gaps:\n\n| Gap | Notes |\n|---|---|\n| Multi-cloud networking contract | AWS VPC is wired; Azure VNet and GCP VPC are not implemented |\n| Generic action schema | Many networking actions require resource-specific forms and are handled by the Networking panel |\n| Advanced network features | Peering, endpoints, ACLs, and deeper routing workflows are not yet complete |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>k8s Engine\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### k8s Engine\n\nAWS support:\n\n- AWS EKS adapter exists for normalized Cloud Explorer list\u002Finspect.\n- Dedicated EKS page exists for AWS-focused cluster inspection.\n- Cluster status, version, endpoint, VPC config, and node group information can be inspected when available.\n\nProvider status:\n\n| Provider | Status |\n|---|---|\n| AWS | List\u002Finspect oriented |\n| Azure | Coming soon |\n| GCP | Coming soon |\n\nRemaining gaps:\n\n| Gap | Notes |\n|---|---|\n| Cluster creation | Not surfaced |\n| Node group lifecycle | Not fully surfaced |\n| Azure AKS \u002F GCP GKE | Not implemented |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Database\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### Database\n\nAWS support:\n\n- AWS Database adapter exists for normalized Cloud Explorer list\u002Finspect.\n- RDS page exists for AWS-focused database instance inspection.\n- DynamoDB page exists as a mature AWS-specific table\u002Fitem UI.\n- DynamoDB supports table lifecycle, scan\u002Fquery, create\u002Fedit\u002Fdelete item, and typed value rendering.\n\nProvider status:\n\n| Provider | Status |\n|---|---|\n| AWS | RDS list\u002Finspect plus mature DynamoDB legacy page |\n| Azure | Coming soon |\n| GCP | Coming soon |\n\nRemaining gaps:\n\n| Gap | Notes |\n|---|---|\n| Unified database resource model | RDS and DynamoDB have different shapes and are not fully normalized into one category yet |\n| Azure database services | Not implemented |\n| GCP database services | Not implemented |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Queue, Function, Events, and Observability\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### Queue\n\nAWS SQS has a mature AWS-specific page:\n\n- Queue lifecycle.\n- FIFO-aware send message.\n- Batch send.\n- Peek and delete messages.\n- Queue tags.\n- Editable queue configuration.\n- Dead-letter queue configuration and redrive.\n\nKnown limitation:\n\n| Feature | Status |\n|---|---|\n| Redrive task history | Floci core accepts `StartMessageMoveTask`, but `ListMessageMoveTasks` currently returns no results |\n| Per-message visibility control | `ChangeMessageVisibility` is not surfaced |\n\n### Function\n\nAWS Lambda has a mature AWS-specific page:\n\n- List and filter functions.\n- Detail drawer.\n- Runtime\u002Fstate\u002Fconfiguration metadata.\n- Environment variables.\n- Invoke with JSON payload.\n- Response display and log tail.\n- Delete function.\n\nRemaining gaps:\n\n| Feature | Status |\n|---|---|\n| Create function | Not surfaced |\n| Event source mappings | Not surfaced |\n| Aliases and versions | Not surfaced |\n\n### Events\n\nAWS SNS has a mature AWS-specific page:\n\n- Topic lifecycle.\n- Standard and FIFO topic creation.\n- Subscription list\u002Fmanage.\n- Publish message with optional subject.\n\nRemaining gaps:\n\n| Feature | Status |\n|---|---|\n| Topic attributes | Not fully surfaced |\n| Topic tags | Not surfaced |\n| Subscription filter policies | Not surfaced |\n\n### Observability\n\nAWS CloudWatch has a mature AWS-specific page:\n\n- Log group lifecycle.\n- Log stream browsing.\n- Log event browsing and search.\n- Floci request ingestion into `\u002Ffloci\u002F{service}` log groups.\n- Metrics list.\n- Alarms list.\n\nRemaining gaps:\n\n| Feature | Status |\n|---|---|\n| Metric graphing | Not surfaced |\n| Alarm create\u002Fedit | Not surfaced |\n| Manual `PutLogEvents` | Not surfaced |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Security and Identity\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n### Security and Identity\n\nCurrent status:\n\n- IAM is a placeholder.\n- KMS is a placeholder.\n- Secrets Manager is a placeholder.\n- Cognito is a placeholder.\n- Systems Manager is a placeholder.\n\nThese categories are intentionally visible so users can see the intended console shape, but they should not show fake\nresources or demo data.\n\n\u003C\u002Fdetails>\n\n## Setup\n\n### Prerequisites\n\n- Node.js 20 or newer.\n- pnpm 9 or newer.\n- Bun, required by `packages\u002Fapi`.\n- Docker, if you want to run Floci with the published container image.\n\n### 1. Start Floci core\n\nFloci UI needs a running Floci core server before the API and frontend can load resources.\n\nTerminal 1, using Docker:\n\n```bash\ndocker run -d --name floci \\\n  -p 4566:4566 \\\n  -v \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock \\\n  -e FLOCI_DEFAULT_REGION=us-east-1 \\\n  -u root \\\n  floci\u002Ffloci:latest\n```\n\nTerminal 1, or using a local clone of `floci-io\u002Ffloci`:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ffloci-io\u002Ffloci.git ..\u002Ffloci\ncd ..\u002Ffloci\n.\u002Fmvnw clean quarkus:dev\n```\n\nIn both cases, verify Floci core is reachable:\n\n```bash\ncurl http:\u002F\u002Flocalhost:4566\u002F_floci\u002Fhealth\n```\n\nFor Azure Blob Storage exploration, also run Floci-AZ and expose it at `FLOCI_AZURE_ENDPOINT`\n(`http:\u002F\u002Flocalhost:4577` by default). Floci-AZ routes Blob Storage requests under an Azure account path;\nthe local default is `FLOCI_AZURE_ACCOUNT_NAME=devstoreaccount1`.\n\nFor local development, the UI needs all three of these components running:\n\n1. Floci core on `http:\u002F\u002Flocalhost:4566`.\n2. The Floci UI API backend on `http:\u002F\u002Flocalhost:3001` via `pnpm dev:api`.\n3. The frontend dev server on `http:\u002F\u002Flocalhost:3000` via `pnpm dev`.\n\nThe frontend expects `\u002Fapi\u002F*` endpoints from `packages\u002Fapi`, so running only `pnpm dev` is not enough.\n\n### 2. Install Floci UI dependencies\n\n```bash\npnpm install\n```\n\n### 3. Configure local environment\n\n```bash\ncp .env.example .env\n```\n\nDefault `.env` values:\n\n```bash\nFLOCI_ENDPOINT=http:\u002F\u002Flocalhost:4566\nFLOCI_AZURE_ENDPOINT=http:\u002F\u002Flocalhost:4577\nFLOCI_AZURE_ACCOUNT_NAME=devstoreaccount1\nVITE_MOCK_MODE=false\nAWS_REGION=us-east-1\nAWS_ACCESS_KEY_ID=test\nAWS_SECRET_ACCESS_KEY=test\nPORT=3001\n```\n\n`.env.example` already includes `VITE_MOCK_MODE=false` for real Floci usage.\n\n### 4. Start the local API\n\nTerminal 2:\n\n```bash\npnpm dev:api\n```\n\nThis starts `packages\u002Fapi` on `http:\u002F\u002Flocalhost:3001` and points AWS SDK clients at `FLOCI_ENDPOINT`.\n\n### 5. Start the frontend\n\nTerminal 3:\n\n```bash\npnpm dev\n```\n\nOpen the UI:\n\n```text\nhttp:\u002F\u002F127.0.0.1:3000\u002F\n```\n\n## Environment\n\n```bash\nFLOCI_ENDPOINT=http:\u002F\u002Flocalhost:4566\nFLOCI_AZURE_ENDPOINT=http:\u002F\u002Flocalhost:4577\nFLOCI_AZURE_ACCOUNT_NAME=devstoreaccount1\nVITE_MOCK_MODE=false\nAWS_REGION=us-east-1\nAWS_ACCESS_KEY_ID=test\nAWS_SECRET_ACCESS_KEY=test\nPORT=3001\n```\n\nFloci credentials can be any non-empty value for local development. They are required because the AWS SDK expects\ncredentials, but Floci does not require real AWS credentials.\n\n## Verification\n\n```bash\npnpm lint\npnpm type-check\npnpm build\n```\n\n## Design Direction\n\nThe target experience is a practical AWS-console-style interface:\n\n- Dense, service-oriented navigation.\n- Clear connection state in the top bar.\n- Real resource counts.\n- Dedicated pages for high-usage services.\n- Empty states when no resources exist.\n- Placeholders when a service is not wired yet.\n- No decorative data or fake operational metrics.\n\n## Contributing\n\nWhen adding service UI, follow these rules:\n\n- Use existing Floci AWS-compatible endpoints.\n- Do not add custom backend endpoints just for the UI unless the core project explicitly accepts that contract.\n- Prefer real empty states over sample data.\n- Keep service status percentages updated in this README.\n- Add verification notes for any newly wired operations.\n\n## License\n\nThis project follows the Floci ecosystem license.\n","Floci UI 是一个统一的本地优先多云运行时资源浏览器，专为 Floci 及其兼容的本地云运行时设计。它采用 TypeScript 编写，旨在为用户提供类似 AWS 控制台的体验，同时仅展示通过 Floci 兼容 API 返回的真实数据，确保透明度和准确性。该项目支持浏览本地云资源、检查服务状态以及使用 CloudWatch 日志和指标作为监控界面等功能。目前，Floci UI 支持 AWS S3 和 Azure Blob Storage 等存储服务，并计划扩展到更多 AWS 服务、Azure 服务及 GCP 的支持。其架构遵循清晰的分层原则，包括前端界面、云代理API、适配器注册表及后端执行引擎等组件，确保了系统的灵活性与可扩展性。适合需要在本地开发环境中进行云服务测试或模拟的开发者使用。",2,"2026-06-11 04:05:30","CREATED_QUERY"]