The deal calls a truce between pro-Assad forces and rebels holed up in Homs' old quarter, activist Beibars Tilawi said. The Hezbollah-owned channel al Manar said the same thing.
Mr Tilawi said if the truce holds, hundreds of fighters will be allowed to leave Homs and head to rebel-controlled areas north of the city.
The agreement could end the longest-running clashes between pro-government forces and rebels since the uprising against Mr Assad's rule began in March 2013.
Earlier, 18 people, including 11 children, were killed in car-bomb attacks in two Syrian villages, state-run television said.
The attacks happened in Jabreen and Humayri, villages that are under government control.
There was no immediate claim of responsibility for the bombings, but al Qaida- backed rebels of the Nusra Front have planted several car bombs in recent weeks.
Rights groups have condemned Mr Assad's government and rebels for attacks that overwhelmingly kill civilians.
Bringing the country's third-largest city under loyalist control would be a significant victory for Mr Assad, weeks before presidential elections on June 3.
Homs, in the central western plains of Syria, was one of the first cities to rise up against his rule three years ago. It was nicknamed the "capital of the revolution".
After waves of anti-Assad protests by its residents, it was the first city largely taken over by armed rebels as the uprising evolved into outright civil war.
Ever since, Mr Assad's forces have been engaged in gruelling urban warfare to try to wrest it back.
For months, rebels have been isolated and blockaded inside a string of Homs neighbourhoods centred around its historic old quarters, battered by heavy government air strikes and artillery.
Mr Tilawi said: "This isn't what we wanted. But it's all we could get."