Introduction
DoraemonKit, commonly known as DoKit, is an open-source mobile development assistant created by Didi Chuxing. It provides over 30 built-in tools covering performance monitoring, UI inspection, mock data, and debugging utilities for iOS, Android, and WeChat mini-program development.
What DoraemonKit Does
- Offers real-time performance dashboards (CPU, memory, FPS, network) as floating overlays
- Provides visual UI inspection tools including view hierarchy browsers and color pickers
- Enables mock location, mock data, and environment switching without rebuilding
- Includes crash log viewers, database browsers, and sandbox file explorers on-device
- Supports plugin architecture so teams can add custom debugging panels
Architecture Overview
DoKit runs as a debug-only dependency injected at compile time. On Android it uses an AccessibilityService-like overlay window; on iOS it installs a floating button that opens a tool drawer. Each tool is a self-contained module loaded via a plugin registry. The framework intercepts network calls, lifecycle events, and rendering frames to surface diagnostics without modifying application code.
Self-Hosting & Configuration
- Add the dependency only to debug build configurations to avoid shipping to production
- Initialize DoKit in your Application or AppDelegate with a single line of code
- Configure which tool panels are visible via the builder API
- Enable the network monitor by adding the DoKit interceptor to your HTTP client stack
- Mini-program support is available as a separate npm package for WeChat DevTools
Key Features
- Over 30 built-in tools spanning performance, UI, network, and data debugging
- Floating overlay that works alongside your app without switching contexts
- One-tap environment switching between staging, production, and custom hosts
- Plugin system for adding team-specific debugging tools
- Zero runtime overhead in release builds when excluded from production configurations
Comparison with Similar Tools
- Flipper (Meta) — desktop-based React Native debugger; DoKit runs directly on the device as an in-app overlay
- Xcode Instruments — powerful but requires a tethered Mac; DoKit provides on-device profiling without a host machine
- Android Profiler — built into Android Studio with deep system-level analysis; DoKit offers lighter, always-available in-app tools
- FLEX (Flipboard) — iOS-only in-app debugging tool; DoKit supports iOS, Android, and mini-programs with a unified tool set
FAQ
Q: Will DoKit affect my release build? A: No. It should be included only in debug configurations. When excluded from release builds it adds zero overhead.
Q: Can I add custom tools to DoKit? A: Yes. DoKit has a plugin API that lets you register custom tool panels with your own UI and logic.
Q: Does DoKit support Flutter or React Native? A: The primary SDKs target native iOS and Android. For cross-platform frameworks, the network and performance tools can still surface useful data at the native layer.
Q: Is DoKit actively maintained? A: Yes. Didi continues to release updates and the repository is actively maintained on GitHub.