Heat oil in a large skillet over medium-high heat. Add shallots and garlic, and cook until softened, about 5 to 8 minutes. Add celery and sauté 3 minutes more. Add tilapia and cook 5 minutes, carefully stirring to prevent breaking up fish too much. Add mushrooms, 2 tablespoons wine, and ¼ cup water. Cover skillet and simmer until fish is cooked through, about 10 minutes. Stir in parsley, capers, chili flakes, salt, and pepper to taste.
While fish is cooking, combine remaining ½ cup wine and butter in a small saucepan. Bring to
a simmer and cook, stirring, until thickened and warm, about 5 to 7 minutes. Serve as a sauce
with fish.