[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-75404":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":15,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":39,"trendingCount":16,"starSnapshotCount":16,"syncStatus":40,"lastSyncTime":41,"discoverSource":42},75404,"KumoApp","ProjectKumo\u002FKumoApp","ProjectKumo","A calm, native macOS client for the Mihomo proxy core, built with SwiftUI and a shared agent-friendly CLI.","",null,"Swift",268,8,216,3,0,1,5,53,2.86,false,"main",true,[25,26,27,28,29,30,31,32,33,34,35,36],"agent-friendly","clash","clash-meta","cli","liquid-glass","macos","mihomo","proxy","proxy-client","swift","swift-package","swiftui","2026-06-12 02:03:33","\u003Cp align=\"center\">\n  \u003Cimg src=\"Assets\u002FKumoApp-Banner-1280x640.png\" alt=\"Kumo app banner\" width=\"640\" style=\"border-radius: 24px;\">\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">Kumo\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>A calm native macOS client for the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMetaCubeX\u002Fmihomo\">Mihomo\u003C\u002Fa> proxy core.\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  SwiftUI app · Agent-friendly CLI · Shared control layer\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.swift.org\">\n    \u003Cimg alt=\"Swift 6.0\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSwift-6.0-F05138?logo=swift&logoColor=white\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.apple.com\u002Fmacos\u002F\">\n    \u003Cimg alt=\"macOS 15+\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FmacOS-15%2B-000000?logo=apple&logoColor=white\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMetaCubeX\u002Fmihomo\">\n    \u003Cimg alt=\"Powered by Mihomo\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcore-Mihomo-0F766E\">\n  \u003C\u002Fa>\n  \u003Cimg alt=\"Status: active development\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstatus-active%20development-2563EB\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#features\">Features\u003C\u002Fa> ·\n  \u003Ca href=\"#quick-start\">Quick Start\u003C\u002Fa> ·\n  \u003Ca href=\"#usage\">Usage\u003C\u002Fa> ·\n  \u003Ca href=\"#architecture\">Architecture\u003C\u002Fa> ·\n  \u003Ca href=\"#documentation\">Docs\u003C\u002Fa> ·\n  \u003Ca href=\"#roadmap\">Roadmap\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## Overview\n\nKumo is a Mac utility for connecting quickly without turning everyday proxy\nmanagement into a network operations dashboard. The first screen is designed to\nanswer four questions:\n\n- Is Kumo connected?\n- Which outbound mode is active?\n- Is the macOS system proxy enabled?\n- Which profile and proxy group are currently in use?\n\nAdvanced capabilities such as DNS, TUN, rule providers, logs, overrides, and\nSub-Store remain discoverable in secondary sections, so daily use stays focused.\n\n## Features\n\n| Area | What Kumo provides |\n| --- | --- |\n| Native macOS app | SwiftUI interface built around `NavigationSplitView`, `Settings`, an AppKit menu bar status item, and standard macOS controls. |\n| Shared core | `KumoCoreKit` owns Mihomo lifecycle, profile generation, controller calls, state, and system proxy logic. |\n| CLI for humans and agents | The `kumo` executable supports stable command names, `--json`, dry-run system changes, and predictable exit codes. |\n| Mihomo discovery | Kumo can use `--core`, `KUMO_MIHOMO_PATH`, a bundled binary, common Homebrew paths, or a managed install. |\n| Safe defaults | Empty profiles generate a direct config, system proxy changes can be dry-run, and core logs are captured in one place. |\n| Focused UI | Daily actions stay prominent while inspection and configuration tools remain available when needed. |\n\n## Screenshots\n\nThe v1 SwiftUI layout is still being finalized. The current interface structure\nis documented in [docs\u002Finterfaces\u002Fmacos-swiftui-interface.md](docs\u002Finterfaces\u002Fmacos-swiftui-interface.md).\n\n## Quick Start\n\n### Requirements\n\n- macOS 15 Sequoia or later\n- Xcode 16+ with the Swift 6.0 toolchain\n- A Mihomo binary, either installed by Kumo or provided manually\n\n### Build From Source\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FProjectKumo\u002FKumoApp.git\ncd KumoApp\n\n# Build app, CLI, library, and tests\nmake swift-build\n\n# Launch the SwiftUI app\nmake run-app\n\n# Or run the CLI\nmake run-cli ARGS=\"status --json\"\n```\n\nKumo stores local state under `~\u002FLibrary\u002FApplication Support\u002FKumo\u002F`. You can\nclear the development state with:\n\n```bash\nmake reset-local-state\n```\n\n## Usage\n\n### macOS App\n\nKumo opens with **Overview** selected. The sidebar is grouped by how often each\narea is needed:\n\n| Section | Destinations | Purpose |\n| --- | --- | --- |\n| Daily | Overview, Profiles, Proxies | Connection state, profile management, proxy groups, and node selection. |\n| Inspect | Connections, Logs, Rules | Troubleshooting, traffic inspection, logs, and rule visibility. |\n| Configure | Core, System Proxy, DNS, TUN, Sniffer, Resources, Overrides, Sub-Store | Lower-frequency runtime settings and advanced integrations. |\n\nQuick controls are available from the menu bar status item and keyboard:\n\n| Action | Shortcut |\n| --- | --- |\n| Start Kumo | `Shift` + `Command` + `S` |\n| Stop Kumo | `Command` + `.` |\n| Rule \u002F Global \u002F Direct mode | `Command` + `1` \u002F `2` \u002F `3` |\n| Refresh | `Command` + `R` |\n| Settings | `Command` + `,` |\n\n### Command Line\n\nThe `kumo` executable uses the same `KumoCoreKit` facade as the app:\n\n```bash\nkumo status --json\nkumo start --core \u002Fpath\u002Fto\u002Fmihomo\nkumo stop\nkumo restart\nkumo mode rule        # rule | global | direct\nkumo proxies --json\nkumo select \"Proxy\" \"HK-01\"\nkumo profile refresh \"https:\u002F\u002Fexample.com\u002Fsub.yaml\"\nkumo sysproxy on --dry-run --json\nkumo core install\n```\n\n### Agent Contract\n\nCommands that support JSON use a stable envelope:\n\n```json\n{\n  \"ok\": true,\n  \"data\": {},\n  \"error\": null\n}\n```\n\nErrors set `ok` to `false` and populate `error`. Exit code `0` means success;\nexit code `1` means the command failed.\n\n## Architecture\n\n```text\n┌──────────────────────┐   ┌──────────────────────┐   ┌──────────────────────┐\n│   KumoApp (SwiftUI)  │   │   KumoCLI (`kumo`)   │   │  KumoService (later) │\n└──────────┬───────────┘   └──────────┬───────────┘   └──────────┬───────────┘\n           │                          │                          │\n           └────────────┬─────────────┴─────────────┬────────────┘\n                        ▼                           ▼\n                ┌────────────────────────────────────────┐\n                │              KumoCoreKit               │\n                │  Models · Profiles · Runtime · Net ·   │\n                │  System proxy · Paths · State · Errors │\n                └────────────────────────────────────────┘\n                        ▼\n                ┌────────────────────────────────────────┐\n                │           Mihomo core (process)        │\n                │  external-controller · mixed-port · ... │\n                └────────────────────────────────────────┘\n```\n\nThe control layer is the contract. UI surfaces call `KumoCoreKit` rather than\nreimplementing Mihomo lifecycle, profile generation, or system proxy behavior.\n\n### Repository Layout\n\n```text\nSources\u002F\n  KumoCoreKit\u002F   Shared domain, runtime, controller, and system integration code\n    Models\u002F         Core data types\n    Configuration\u002F  Profile loading and runtime config generation\n    Runtime\u002F        Mihomo process supervision and managed core install\n    Networking\u002F     Mihomo external-controller HTTP client\n    System\u002F         macOS networksetup-based system proxy controller\n    Support\u002F        Paths, state storage, shared errors\n  KumoCLI\u002F       Command-line frontend\n  KumoApp\u002F       SwiftUI macOS frontend\nTests\u002F\n  KumoCoreTests\u002F Unit tests for shared behavior\ndocs\u002F            Technical documentation\nAssets\u002F          Project images and README assets\n```\n\n## Documentation\n\nProject documentation lives under [docs\u002F](docs\u002F) and is grouped by domain:\n\n- [Product](docs\u002Fproduct\u002FREADME.md)\n- [Interfaces](docs\u002Finterfaces\u002FREADME.md)\n- [Core](docs\u002Fcore\u002FREADME.md)\n- [Operations](docs\u002Foperations\u002FREADME.md)\n- [Quality](docs\u002Fquality\u002FREADME.md)\n- [Roadmap](docs\u002Froadmap\u002FREADME.md)\n- [Implementation Standards](docs\u002Fstandards\u002FREADME.md)\n\nAgent-facing guidelines, including UI copy and SwiftUI component constraints,\nlive in [AGENTS.md](AGENTS.md).\n\n## Development\n\n### Common Commands\n\n```bash\nmake help                   # List every available target\nmake swift-build            # swift build (debug)\nmake build-release          # swift build -c release\nmake run-app                # Launch the SwiftUI app\nmake run-cli ARGS=\"...\"     # Run the CLI with arbitrary arguments\nmake cli-status             # kumo status --json\nmake cli-sysproxy-dry-run   # kumo sysproxy on --dry-run --json\nmake swift-test             # swift test\nmake xcode-build            # xcodebuild -scheme KumoApp\nmake xcode-test             # xcodebuild -scheme Kumo-Package test\nmake check                  # Build + test + verify CLI status output\nmake docs                   # List technical docs\nmake clean                  # swift package clean\nmake reset-local-state      # Remove local Kumo app state\n```\n\n### Local Data\n\n```text\n~\u002FLibrary\u002FApplication Support\u002FKumo\u002F\n  profiles\u002F\n    default.yaml\n  work\u002F\n    config.yaml      # Generated Mihomo runtime config\n  logs\u002F\n    core.log         # Core stdout and stderr\n  cores\u002F\n    mihomo           # Managed core binary\n  state.json         # Shared state used by GUI and CLI\n```\n\n### Testing\n\nThe first test suite targets `KumoCoreKit`, where the shared behavior lives:\n\n- Runtime config generation\n- Core state persistence\n- System proxy command construction in dry-run mode\n- Profile repository behavior\n\nTests should not mutate real system state. Use temporary application support\ndirectories, `--dry-run` for system proxy commands, and mocked controller\nresponses before testing live Mihomo APIs.\n\n```bash\nswift test\n# or\nmake xcode-test\n```\n\n## Roadmap\n\nKumo's first version intentionally avoids privileged helpers. The broader plan\nis tracked in [docs\u002Froadmap\u002Fservice-mode-roadmap.md](docs\u002Froadmap\u002Fservice-mode-roadmap.md):\n\n- Runtime settings parity for ports, LAN access, log level, controller secret,\n  and Geo data.\n- Provider and rules management for refresh actions and rule hit details.\n- Ordered YAML overrides, followed by a reviewed JavaScript transform sandbox.\n- Sub-Store lifecycle, update flow, custom backend support, and WebView or\n  external browser access.\n- Service mode with a Swift-native service, Unix socket transport, and signed\n  requests.\n- Event streams for logs, traffic, and core lifecycle.\n- Structural YAML merge for profile and runtime config.\n- Network service detection for system proxy.\n- CLI surface growth: `kumo logs`, `kumo doctor`, `kumo config path`, JSON\n  schemas, and shell completion.\n\n## Contributing\n\nContributions are welcome. Before opening a PR:\n\n1. Read [AGENTS.md](AGENTS.md) for UI copy and SwiftUI component constraints.\n2. Skim the document under [docs\u002F](docs\u002F) that relates to your change.\n3. Keep `KumoCoreKit` independent from SwiftUI.\n4. Run `make check` or `swift test`.\n5. Update the relevant document under `docs\u002F` when a change meaningfully alters\n   product behavior, architecture, runtime configuration, persistence,\n   permissions, testing expectations, or UI information architecture.\n\n## License\n\nKumo is licensed under the GNU Affero General Public License v3.0 only\n(AGPL-3.0-only). See [LICENSE](LICENSE) for the full text.\n\nThird-party components bundled or used by Kumo may be licensed under\ndifferent terms. See [THIRD_PARTY_NOTICES.md](docs\u002FTHIRD_PARTY_NOTICES.md).\n\n## Acknowledgements\n\n- [Mihomo](https:\u002F\u002Fgithub.com\u002FMetaCubeX\u002Fmihomo), the proxy core Kumo drives.\n- The Clash and Mihomo ecosystem, for the controller API conventions Kumo speaks.\n- Apple, for SwiftUI, Liquid Glass, and the macOS Human Interface Guidelines.\n\n## Star History\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F?repos=projectkumo%2Fkumoapp&type=date&legend=top-left\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=projectkumo\u002Fkumoapp&type=date&theme=dark&legend=top-left\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=projectkumo\u002Fkumoapp&type=date&legend=top-left\" \u002F>\n   \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=projectkumo\u002Fkumoapp&type=date&legend=top-left\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n","KumoApp 是一个专为 macOS 设计的代理客户端，旨在与 Mihomo 代理核心无缝协作。它使用 SwiftUI 构建，提供了一个简洁直观的用户界面，并且附带了一个对自动化友好的命令行工具（CLI）。其核心功能包括通过图形界面轻松管理代理设置、支持多种 Mihomo 核心发现方式以及提供安全的默认配置选项。此外，KumoApp 还能够自动处理系统代理设置和捕获核心日志，确保日常使用既高效又安全。此项目非常适合需要在 macOS 上快速部署和管理网络代理的个人或团队，特别是那些希望保持工作流程简洁而不牺牲高级功能的用户。",2,"2026-06-11 03:52:39","CREATED_QUERY"]