refactor: refactor the project to solve the hot update problem caused by circular dependencies close #301