This document describes an intelligent agent called eTeacher that provides personalized assistance to students in e-learning systems. eTeacher builds a student profile by observing the student's behavior and performance in an online course. The profile includes the student's learning style, which eTeacher determines automatically using a Bayesian network model. eTeacher then uses the information in the student profile to proactively recommend personalized actions to help the student, such as suggesting specific study materials or exercises. An evaluation with engineering students found that eTeacher's assistance was promising and helped improve students' learning.