In this work, we build an automatic differentiable molecular force field platform, namely DMFF (Deep Modelling Force Field, or Differentiable Molecular Force Field). DMFF is a comprehensive implementation of both conventional molecular force fields and advanced multipolar polarizable models. It features a user-friendly OpenMM-like interface for convenient molecular force field definition and parameter file generation. It also possesses an extensible backend structure, such that new potential forms (e.g., various ML potentials and customized pairwise potentials) can be easily added. Based on the comprehensive implementation of the force field models, DMFF also provides convenient differentiable estimators for not only energies and forces, but also thermal dynamic quantities including free energies and ensemble averaged properties. Based on these estimators, the corresponding object functions can be defined, enabling automatic bottom-up and top-down optimization workflows. DMFF is built on the basis of the JAX framework. As a function-oriented framework, JAX allows the users to recombine and decorate the DMFF functions, allowing easy customization of new potentials and object functions. Such features are extremely important in force field development, saving the developers from re-implementing the same computation kernels (such as Ewald sum) repeatedly. The XLA backed Just-In-Time (JIT) function in JAX provides GPU support, and also makes DMFF run much more efficiently compare to typical Python programs. Relying on these features, DMFF is designed to be a both flexible and efficient tool for the development of molecular force fields.