[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-70560":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":9,"language":10,"languages":8,"totalLinesOfCode":8,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":8,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":8,"createdAt":8,"pushedAt":8,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":15,"starSnapshotCount":15,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},70560,"litter","dnakov\u002Flitter","dnakov",null,"https:\u002F\u002Fgithub.com\u002Fdnakov\u002Flitter","Rust",2249,172,5,33,0,16,208,509,48,28.71,false,"main","2026-06-12 02:02:34","# litter\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"apps\u002Fios\u002FSources\u002FLitter\u002FResources\u002Fbrand_logo.png\" alt=\"litter logo\" width=\"180\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  Native iOS + Android client for \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex\">Codex\u003C\u002Fa>. Connect to local or remote servers, manage sessions, and run agentic coding workflows from your phone.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fkittylitter.app\">\u003Cimg src=\"docs\u002Fbadges\u002Fwebsite.svg\" alt=\"kittylitter.app\" \u002F>\u003C\u002Fa>\n  &nbsp;\n  \u003Ca href=\"https:\u002F\u002Fapps.apple.com\u002Fus\u002Fapp\u002Fkittylitter\u002Fid6759521788\">\u003Cimg src=\"docs\u002Fbadges\u002Fapp-store.svg\" alt=\"App Store\" \u002F>\u003C\u002Fa>\n  &nbsp;\n  \u003Ca href=\"https:\u002F\u002Fkittylitter.app\u002Fandroid-beta\">\u003Cimg src=\"docs\u002Fbadges\u002Fandroid-beta.svg\" alt=\"Android Beta\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n## Screenshots (iOS)\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fscreenshots\u002F01-hero-iphone-1320x2868.png\" alt=\"Home\" width=\"200\" \u002F>\n  \u003Cimg src=\"docs\u002Fscreenshots\u002F02-remote-iphone-1320x2868.png\" alt=\"Remote servers\" width=\"200\" \u002F>\n  \u003Cimg src=\"docs\u002Fscreenshots\u002F07-generative-ui-iphone-1320x2868.png\" alt=\"Generative UI\" width=\"200\" \u002F>\n  \u003Cimg src=\"docs\u002Fscreenshots\u002F05-realtime-voice-iphone-1320x2868.png\" alt=\"Realtime voice\" width=\"200\" \u002F>\n\u003C\u002Fp>\n\n## Quick Start\n\n```bash\nmake ios-device-fast   # fast device build\nmake ios-sim-fast      # fast simulator build\nmake android-emulator-fast  # fast Android emulator build\n```\n\nSee [docs\u002FDEVELOPMENT.md](docs\u002FDEVELOPMENT.md) for prerequisites, full build options, TestFlight\u002FApp Store release, and SSH setup.\n\n## Repository Layout\n\n```\napps\u002Fios\u002F                  iOS app (Litter scheme, project.yml is source of truth)\napps\u002Fandroid\u002F              Android app (Compose UI, Gradle build)\nshared\u002Frust-bridge\u002F\n  codex-mobile-client\u002F     Shared Rust client crate + UniFFI surface (iOS & Android)\n  codex-ios-audio\u002F         iOS-only audio\u002FAEC crate\nshared\u002Fthird_party\u002Fcodex\u002F  Upstream Codex submodule\npatches\u002Fcodex\u002F             Local patch set applied during builds\ntools\u002Fscripts\u002F             Cross-platform helper scripts\n```\n\n## Architecture\n\nBoth platforms share a single Rust core (`codex-mobile-client`) via UniFFI-generated bindings. Platform code (Swift\u002FKotlin) stays thin: UI, permissions, notifications, and platform APIs only. Session state, streaming, hydration, discovery, and auth logic live in Rust.\n\n## Contributing\n\nLitter is under active development and a lot of features are in flight. PRs are welcome but will likely only be merged if they're small and target a specific problem — sweeping refactors and new features tend to collide with work already underway. See [CONTRIBUTING.md](CONTRIBUTING.md) before opening one.\n\n## License\n\nLitter is licensed under the GNU General Public License version 3 with an additional permission under GPLv3 section 7 for Apple App Store and Google Play distribution. See [LICENSE](LICENSE).\n\n## Make Targets\n\n| Target | Description |\n|---|---|\n| `make ios-device-fast` | Fast device build (raw staticlib) |\n| `make ios-sim-fast` | Fast simulator build |\n| `make ios` | Full package lane (device + sim + xcframework) |\n| `make android-emulator-fast` | Fast Android emulator build |\n| `make android` | Full Android pipeline |\n| `make rust-check` | Host `cargo check` for shared Rust crates |\n| `make rust-test` | Host `cargo test` for shared Rust crates |\n| `make bindings` | Regenerate UniFFI Swift + Kotlin bindings |\n| `make xcgen` | Regenerate Xcode project from `project.yml` |\n| `make clean` | Remove all build artifacts |\n","litter 是一个为 OpenAI Codex 设计的原生 iOS 和 Android 客户端，允许用户通过手机连接本地或远程服务器、管理会话并执行代理编码工作流。该项目使用 Rust 作为核心语言，并通过 UniFFI 生成的绑定在 iOS 和 Android 平台上共享同一个 Rust 核心库，实现了跨平台的高效开发与维护。Swift\u002FKotlin 主要负责 UI 层面的实现以及权限处理等平台特定功能。litter 特别适合需要随时随地进行代码编写和调试的开发者，尤其是在移动设备上希望利用 AI 辅助编程工具的场景下。",2,"2026-06-11 03:32:47","trending"]