Codync
무료 오픈소스 1:1 대안, Grok Bot과 Muse 대신
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Multi-platform Rust abstractions of platform APIs and OS services
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A collection of crates for accessing system features (platform APIs) in a cross-platform manner from Rust applications.
These robius crates have a few design goals and major advantages compared to other platform feature abstraction crates:
See the below Summary section for more info, or look at each individual crates' docs in crates/.
There's also a status table that shows what each crate supports on each platform, and what platform API it uses under the hood.
robius-authentication: asks the OS to show a native authentication prompt to verify the user.
polkit prompt on Linux.robius-directories: provides the canonical directory location where each platform wants your app to store its config, cache, data, downloads, etc.
Context.getFilesDir() on Android.directories crate, with Android support added (using our robius-android-env crate). Note that only ProjectDirs is implemented on Android, which is really the only thing your app probably needs.robius-file-picker: shows the OS's native open file, save file, or media picker dialogs/popup.
rfd.UIDocumentPickerViewController and PHPickerViewController.ACTION_OPEN_DOCUMENT/ACTION_CREATE_DOCUMENT, the system Photo Picker, or MediaStore.Downloads based on the current Android version (that's automatic, you don't have to pick it yourself).robius-location: gets the device's geolocation from the OS, and handles the permission prompts for you.
Symbol legend: ✅ fully supported · ⚠️ partial, or has issues · 🚧 under construction · ❌ not supported
| Crate | macOS | iOS | Android | Windows | Linux |
|---|---|---|---|---|---|
robius-authentication | ✅ LAContext (LocalAuthentication): TouchID + username/password | ✅ LAContext (LocalAuthentication): TouchID / FaceID / PIN | ✅ BiometricPrompt + screen lock | ✅ UserConsentVerifier (WinRT) for Windows Hello, with username/password fallback | ✅ polkit prompt via the desktop's auth agent (needs a .policy file) |
robius-directories | ✅ Apple Standard Directories (~/Library/...) | ✅ Apple Standard Directories (in app sandbox) | ✅ Context.getFilesDir(), getCacheDir() etc. via robius-android-env | ✅ Known Folders API | ✅ XDG Base Directory / User Directory |
robius-file-picker | ✅ NSOpenPanel, NSSavePanel (via rfd) | ✅ UIDocumentPickerViewController, PHPickerViewController | ✅ ACTION_OPEN_DOCUMENT, ACTION_CREATE_DOCUMENT, system Photo Picker, MediaStore.Downloads | ✅ IFileDialog (via rfd) | ✅ XDG portal FileChooser (via rfd) |
Each crate has its own Minimum Supported Rust Version (MSRV), typically 1.77, but we try to keep it as low as possible.
On Android, most crates support API Level 26 and up (Android 8.0), but we're always extremely careful to check the API level at runtime and only use features that are available. So you generally don't need to worry about that at all.
| Crate | MSRV | Android API Level |
|---|---|---|
robius-authentication | 1.77 | 28 for biometrics, 29 for password fallback |
robius-directories | 1.64 | None |
robius-file-picker | 1.88 | 26 |
robius-location | 1.77 | 26 |
robius-open | 1.72 | None |
robius-share | 1.77 | 26) |
robius-web-auth-session | 1.71 | Unsupported |
Due to platform requirements, most functions exposed by robius crates need to be invoked from the main UI thread. This is enforced at runtime and will return an error if mis-used.
The one exception is robius-file-picker, which can be invoked on any thread (it will jump to the main thread if the platform requires it), and the "file picked" callback always gets run on a separate native OS thread.
robius-openhttp://, tel:, mailto:, file://, custom schemes, and more.NSWorkspace on macOS, UIApplication on iOS, Intent on Android, xdg-open on Linux, and WinRT's Launcher on Windows.robius-share: opens the native system share sheet so you can share a file or other content with a different app on your system.
Intent.createChooser on Android, UIActivityViewController on iOS, NSSharingServicePicker on macOS, and the WinRT Share UI on Windows.robius-speech: streams native speech-to-text results and microphone levels on macOS, iOS, Android, and Windows.
robius-web-auth-session: runs an OAuth/SSO login process in the OS's own in-app browser session, and then sends the result back to your app.
ASWebAuthenticationSession. There's no other safe/supported way to do web login on iOS, because otherwise iOS will suspend your app while showing the browser.robius-location✅ CLLocationManager (CoreLocation) |
✅ CLLocationManager (CoreLocation) |
✅ LocationManager |
✅ Geolocator (Windows.Devices.Geolocation, WinRT) |
✅ XDG Location portal, with a GeoClue fallback |
robius-open | ✅ NSWorkspace.openURL | ✅ UIApplication.openURL | ✅ Intent (ACTION_VIEW) | ✅ Launcher.LaunchUriAsync (WinRT) | ✅ xdg-open |
robius-share | ✅ NSSharingServicePicker | ✅ UIActivityViewController | ✅ ACTION_SEND / ACTION_SEND_MULTIPLE via Intent.createChooser | ✅ WinRT Share UI (DataTransferManager) | ✅ XDG portal "Open With" chooser (OpenURI / OpenFile), or its SaveFiles dialog for multi-item payloads; xdg-open fallback |
robius-speech | ✅ SFSpeechRecognizer + AVAudioEngine | ✅ SFSpeechRecognizer + AVAudioEngine | ✅ SpeechRecognizer (needs an installed recognition service) | ✅ SAPI dictation (needs an installed speech language) | ❌ no OS-native speech-to-text service exists |
robius-web-auth-session | ❌ not supported | ✅ ASWebAuthenticationSession | 🚧 planned (custom chrome tabs) | ❌ not supported | ❌ not supported |