北宋密州高密(今属山东)人,字元功。元丰进士。崇宁间,累官殿中侍御史,上疏请去冗官、容谏臣、别贤否、绝幸冀、戒滥恩、宽疲民、节亡费等。迁侍御史。当西师失利,徽宗欲置五路将帅十八人于死罪,他奉命按问,据理申释。大观末,同知枢密院事。政和六年(1116)进中书侍郎。受蔡京排挤,次年出知亳州。宣和三年(1121)上书建议招降宋江使讨方腊,被任知东平府,未赴而死。