{"id":51411888,"url":"https://github.com/antgroup/napaxi","last_synced_at":"2026-07-07T18:00:29.149Z","repository":{"id":368617606,"uuid":"1285649662","full_name":"antgroup/Napaxi","owner":"antgroup","description":"Mobile-native agent SDK for building on-device AI agents with sandboxed execution, extensible tools, and x-app / x-agent / x-channel connectivity.","archived":false,"fork":false,"pushed_at":"2026-07-06T08:12:26.000Z","size":8139,"stargazers_count":26,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-06T17:23:34.758Z","etag":null,"topics":["agent-framework","ai","ai-agent","android","automation","flutter","ios","llm","mcp","mobile-agent","on-device-ai","rust","sandbox","sdk"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antgroup.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":"CLA.md"}},"created_at":"2026-07-01T02:45:48.000Z","updated_at":"2026-07-06T01:18:16.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/antgroup/Napaxi","commit_stats":null,"previous_names":["antgroup/napaxi"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/antgroup/Napaxi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antgroup%2FNapaxi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antgroup%2FNapaxi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antgroup%2FNapaxi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antgroup%2FNapaxi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antgroup","download_url":"https://codeload.github.com/antgroup/Napaxi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antgroup%2FNapaxi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35237753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-07T02:00:07.222Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-framework","ai","ai-agent","android","automation","flutter","ios","llm","mcp","mobile-agent","on-device-ai","rust","sandbox","sdk"],"created_at":"2026-07-04T15:30:50.832Z","updated_at":"2026-07-07T18:00:29.066Z","avatar_url":"https://github.com/antgroup.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/assets/napaxi-logo.png\" alt=\"Napaxi\" width=\"720\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eA mobile-native SDK for embedding agent experiences in your app.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg alt=\"License: GPL-3.0-or-later\" src=\"https://img.shields.io/badge/license-GPL--3.0--or--later-blue.svg\"\u003e\u003c/a\u003e\n  \u003cimg alt=\"Status: SDK 1.0\" src=\"https://img.shields.io/badge/status-SDK%201.0-blue.svg\"\u003e\n  \u003cimg alt=\"Rust\" src=\"https://img.shields.io/badge/Rust-1.92%2B-dea584?logo=rust\u0026amp;logoColor=white\"\u003e\n  \u003cimg alt=\"Flutter\" src=\"https://img.shields.io/badge/Flutter-SDK-02569B?logo=flutter\u0026amp;logoColor=white\"\u003e\n  \u003cimg alt=\"Dart\" src=\"https://img.shields.io/badge/Dart-3.3%2B-0175C2?logo=dart\u0026amp;logoColor=white\"\u003e\n  \u003cimg alt=\"Kotlin\" src=\"https://img.shields.io/badge/Kotlin-Android-7F52FF?logo=kotlin\u0026amp;logoColor=white\"\u003e\n  \u003cimg alt=\"Swift\" src=\"https://img.shields.io/badge/Swift-iOS-F05138?logo=swift\u0026amp;logoColor=white\"\u003e\n  \u003cimg alt=\"Git LFS\" src=\"https://img.shields.io/badge/Git%20LFS-required-lightgrey.svg\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"README.zh-CN.md\"\u003e简体中文\u003c/a\u003e · \u003cstrong\u003eEnglish\u003c/strong\u003e\n\u003c/p\u003e\n\nNapaxi is a mobile-native SDK for embedding agent experiences in your app.\n\nIt gives app teams a shared Rust agent runtime, thin mobile SDK adapters, and a\ndemo app that exercises the public API surface. Host apps keep ownership of UI,\naccounts, model configuration, permissions, and product policy. Napaxi owns the\nreusable runtime pieces: sessions, workspace state, storage, tools, skills,\nMCP, platform hooks, background execution, and adapter contracts.\n\nFlutter is the first complete adapter and demo target. Android and iOS SDK\nadapters live beside it, and all adapters share the same Core API boundary.\n\n[Documentation](docs/README.md) · [Flutter SDK](packages/flutter/README.md) ·\n[Architecture](docs/architecture.md) · [Security](SECURITY.md) ·\n[Contributing](CONTRIBUTING.md) · [CLA](CLA.md) · [Release guide](RELEASING.md)\n\n## Why Napaxi\n\n- **Pure on-device Agent runtime**\n  Napaxi runs natively inside mobile apps. Apart from app-approved model calls,\n  the runtime does not require a Napaxi cloud server or remote development\n  server, so workspace data, session state, files, tool metadata, and agent\n  execution stay on the phone.\n- **Trusted sandbox for safe execution**\n  Local tool execution is isolated behind a mobile sandbox, policy gates, and\n  host-controlled authorization. Apps decide which external permissions,\n  platform tools, files, channels, and background capabilities an agent can\n  access.\n- **Pluggable, extensible tools**\n  Napaxi supports 14+ mobile-first built-in tools, model-as-tool workflows,\n  multi-model orchestration, MCP tools, and host-defined custom tools. The tool\n  surface is designed to be extended without moving product policy out of the\n  host app.\n- **Composable scenarios**\n  SDK capabilities are organized as reusable runtime and adapter components, so\n  teams can assemble different agent scenarios instead of rebuilding a separate\n  stack for every app, device, or workflow.\n- **End-to-end connectivity: xApp, xAgent, xChannel**\n  Napaxi connects apps, agents, channels, and devices. xApp enables a new\n  mobile Agent app pattern with cross-app interaction; xAgent supports\n  on-device multi-agent collaboration and external agent interop; xChannel\n  connects broader channels such as IM tools, Bluetooth headsets, vehicle\n  systems, drones, and other device surfaces.\n\n## What You Can Build\n\nNapaxi is useful when you want an app-embedded agent that can:\n\n- chat through app-owned sessions and histories;\n- use workspace files, memory, skills, built-in tools, and MCP tools;\n- expose host-approved platform tools such as file, browser, device, and\n  background capabilities;\n- support multiple agents and group collaboration within one host app;\n- run against host-selected LLM providers and model configuration;\n- keep SDK behavior portable across Flutter, Android, and iOS adapters.\n\nThe SDK does not ship a product UI. Host apps decide the experience; Napaxi\nsupplies the runtime and mobile integration layer.\n\n## Usage Examples\n\nThese examples show three different integration layers: on-device development\ntools, sandboxed file utilities, and provider-driven device actions.\n\n### Pure Mobile Development\n\nBuild and iterate on a mobile app from the phone itself. A host app can connect\nCodex and Claude Code engines, but the execution loop stays phone-side: the\nagent generates or updates Android app code in the mobile workspace, builds an\nAPK through host-approved on-device tools, and installs the result directly back\nto the device. Apart from app-approved model calls, this flow does not depend on\na cloud development server.\n\n| Generate a mobile app | Update, build, and install |\n| --- | --- |\n| \u003cimg src=\"docs/assets/mobile-dev-generate.gif\" alt=\"Napaxi generating a mobile app from a phone\" width=\"260\"\u003e | \u003cimg src=\"docs/assets/mobile-dev-update.gif\" alt=\"Napaxi updating a mobile app and installing an APK to the phone\" width=\"260\"\u003e |\n\n### Mobile File Tool: Image Compression\n\nExpose everyday file utilities through the same sandboxed tool pipeline. In this\nflow, the agent receives an app-approved image, compresses it to the requested\ntarget size, writes the output back to the workspace, and reports the result\npath for preview, sharing, or attachment.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/assets/mobile-image-compression.png\" alt=\"Napaxi compressing an image file on a phone\" width=\"300\"\u003e\n\u003c/p\u003e\n\n### Connected Devices: Smart Home\n\nRoute agent decisions through a host-approved provider app to execute concrete\ndevice actions, such as controlling a smart-home light. Core keeps session\nstate, routing, policy, and the action result contract consistent, while the\nprovider owns the real device I/O.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/assets/mobile-smart-home.gif\" alt=\"Napaxi controlling a smart-home light from a phone\" width=\"480\"\u003e\n\u003c/p\u003e\n\n## Quick Start\n\nPrerequisites:\n\n- Rust stable toolchain, plus any mobile targets you plan to build.\n- Flutter SDK for `packages/flutter` and `examples/flutter`.\n- Git LFS for the checked-in mobile runtime assets.\n- Android NDK and/or Xcode command-line tools for native mobile builds.\n\nClone and fetch runtime assets:\n\n```sh\ngit clone \u003crepo-url\u003e napaxi\ncd napaxi\ngit lfs pull\n```\n\nRun the core boundary check:\n\n```sh\n./tools/scripts/build.sh check-boundary\n```\n\nRun the Flutter demo:\n\n```sh\ncd examples/flutter\nflutter run\n```\n\nThe demo consumes the repository-local Flutter SDK:\n\n```yaml\ndependencies:\n  napaxi_flutter:\n    path: ../../packages/flutter\n```\n\nHost Flutter apps import the public SDK entrypoint:\n\n```dart\nimport 'package:napaxi_flutter/napaxi_flutter.dart';\n```\n\nFor SDK API examples, see [`packages/flutter/README.md`](packages/flutter/README.md).\n\n## Build Native Artifacts\n\nBuild mobile SDK artifacts from the repository root:\n\n```sh\n./tools/scripts/build.sh fast android\n./tools/scripts/build.sh fast ios\n```\n\nGenerated outputs are local artifacts and are not committed by default:\n\n- `packages/flutter/android/jniLibs/*/libnapaxi_api_bridge.so`\n- `packages/flutter/ios/Frameworks/napaxi_api_bridge.xcframework`\n- `packages/ios/Frameworks/napaxi_api_bridge.xcframework`\n\nFor iOS device checks, signing, provisioning, and Swift Package details, see\n[`docs/sdk-integration.md`](docs/sdk-integration.md).\n\n## Architecture At A Glance\n\n```text\nHost app\n  -\u003e SDK adapter (Flutter / Android / iOS)\n  -\u003e packages/api_bridge\n  -\u003e napaxi_core::api\n  -\u003e Rust runtime domains\n```\n\nRepository layout:\n\n```text\nnapaxi/\n  crates/\n    core/             Rust runtime kernel and adapter-facing Core API.\n    features/         Feature-domain crates consumed by core.\n  packages/\n    api_bridge/       Rust FFI/FRB bridge over napaxi_core::api.\n    api_contract/     Adapter API contract: methods, errors, fixtures.\n    flutter/          Flutter SDK package, exported as napaxi_flutter.\n    android/          Native Android Kotlin SDK adapter.\n    ios/              Native iOS Swift Package adapter.\n    agent_provider/   Provider-side SDK for Agent App actions.\n  examples/\n    flutter/          Flutter integration demo using ../../packages/flutter.\n    provider_app/     Sample provider apps for Agent App actions.\n  vendor/             Patched or vendored third-party dependencies.\n  tools/scripts/      Build, codegen, hygiene, and packaging helpers.\n  docs/               Architecture, integration, and contribution docs.\n```\n\nDependency direction is intentionally narrow:\n\n```text\ncrates/features/* -\u003e crates/core -\u003e packages/api_bridge -\u003e SDK adapters -\u003e examples\n```\n\nAdapters must use `napaxi_core::api`. Packages must not depend on\n`crates/features/*` directly, and demo apps must call public SDK APIs.\n\n## Security Model\n\nNapaxi runs inside host apps and can expose powerful local capabilities. Treat\nevery agent action surface as app policy, not just SDK plumbing.\n\n- Host apps choose model providers, accounts, permissions, and enabled tools.\n- Core policy gates tool descriptor admission, tool invocation admission,\n  provider admission, and model switching.\n- Platform tools and background execution are adapter-owned and must be\n  explicitly exposed through SDK APIs.\n- Channel/provider integrations should normalize inbound messages and let core\n  handle routing, sessions, history, policy, and outbound queue state.\n- Security reports should follow [`SECURITY.md`](SECURITY.md), not public\n  issues.\n\nBefore shipping an app with native runtime assets, review the license and\nredistribution notes in [`THIRD-PARTY-LICENSES.md`](THIRD-PARTY-LICENSES.md).\n\n## Verify Changes\n\nUse the smallest useful check first, then run broader gates before handoff or\nrelease.\n\n```sh\n# Rust/core/API boundary\n./tools/scripts/build.sh check-boundary\ncargo check --manifest-path crates/core/Cargo.toml\ncargo test --manifest-path crates/core/Cargo.toml -- --quiet\n\n# Flutter SDK\ncd packages/flutter\nflutter analyze --no-fatal-infos\nflutter test\n\n# Flutter demo\ncd examples/flutter\nflutter analyze --no-fatal-infos\nflutter test\n```\n\nRelease hygiene:\n\n```sh\n./tools/scripts/build.sh check-hygiene\nNAPAXI_RELEASE=1 ./tools/scripts/build.sh check-hygiene\n```\n\nThe full release flow lives in [`RELEASING.md`](RELEASING.md).\n\n## Docs By Goal\n\n| Goal | Start here |\n| --- | --- |\n| Understand the project | [`docs/overview.md`](docs/overview.md) |\n| Understand ownership boundaries | [`docs/architecture.md`](docs/architecture.md) |\n| Integrate or build SDK artifacts | [`docs/sdk-integration.md`](docs/sdk-integration.md) |\n| Use the Flutter SDK | [`packages/flutter/README.md`](packages/flutter/README.md) |\n| Keep adapters in sync | [`docs/sdk-adapter-parity.md`](docs/sdk-adapter-parity.md) |\n| Add a capability | [`docs/mobile-capabilities.md`](docs/mobile-capabilities.md) |\n| Work on provider apps | [`docs/agent-provider-protocol.md`](docs/agent-provider-protocol.md) |\n| Review Agent App actions | [`docs/agent-app-actions.md`](docs/agent-app-actions.md) |\n| Contribute code | [`CONTRIBUTING.md`](CONTRIBUTING.md) |\n| Complete the CLA | [`CLA.md`](CLA.md) |\n| Report a vulnerability | [`SECURITY.md`](SECURITY.md) |\n\nGenerated API reference can be built locally:\n\n```sh\ncargo doc --no-deps -p napaxi-core --open\ncd packages/flutter\ndart doc\n```\n\n## Development Boundaries\n\n- Reusable runtime behavior belongs in `crates/`, especially `crates/core/`.\n- Feature-domain logic belongs in `crates/features/` and must not depend on\n  core.\n- SDK adapters, platform glue, and binding bridge packages belong in\n  `packages/`.\n- Demo-only UI, state, mock clients, and panels belong in `examples/`.\n- Build, codegen, hygiene, and packaging helpers belong in `tools/scripts/`.\n- Durable architecture and integration notes belong in `docs/`.\n- Generated bridge files must not be edited by hand.\n\nIf behavior should be shared by more than one host app or adapter, put it in\nRust core or an SDK package and expose it through the public API.\n\n## Status\n\nNapaxi SDK `1.0.0` is the first public SDK release. The Core API under\n`crates/core/src/api/` is the stable adapter-facing boundary, while deeper\nruntime internals may continue to evolve. Public API changes are tracked in\n[`CHANGELOG.md`](CHANGELOG.md).\n\n## Contact\n\nFor public project questions, collaboration, or release coordination, contact\nthe maintainers at [wenyu.mwt@antgroup.com](mailto:wenyu.mwt@antgroup.com).\nPlease report security issues through [`SECURITY.md`](SECURITY.md), not public\nissues or email threads.\n\n## Contributing\n\nIssues and pull requests are welcome. Before opening a larger change, read\n[`CONTRIBUTING.md`](CONTRIBUTING.md) for setup, boundary rules, verification\nexpectations, and licensing terms. External contributions require the\napplicable Contributor License Agreement; see [`CLA.md`](CLA.md).\n\n## License\n\nNapaxi source code is licensed under the GNU General Public License v3.0 or\nlater (`GPL-3.0-or-later`). See [`LICENSE`](LICENSE) and [`NOTICE`](NOTICE).\n\nThe distributed mobile SDK also includes third-party native runtime components\nwith their own licenses, including GPL/LGPL obligations for sandbox-related\nassets. Review [`THIRD-PARTY-LICENSES.md`](THIRD-PARTY-LICENSES.md),\n[`packages/flutter/android/jniLibs/THIRD-PARTY.md`](packages/flutter/android/jniLibs/THIRD-PARTY.md),\nand\n[`packages/ios/Vendor/iSHCore/THIRD-PARTY.md`](packages/ios/Vendor/iSHCore/THIRD-PARTY.md)\nbefore redistributing built artifacts.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantgroup%2Fnapaxi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantgroup%2Fnapaxi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantgroup%2Fnapaxi/lists"}