NOTES: I have been using artificial intelligence since it appeared, it is obviously faster and more accurate, I recommend using testing on larger projects.
See this article
This python script will take the database and use to get copilot history and save to file copilot_conversations.txt :
import os
import sqlite3
import datetime
import requests
from bs4 import BeautifulSoup
import shutil
# Locația tipică pentru istoricul Edge (Windows)
edge_history_path = os.path.expanduser(
r"~\\AppData\\Local\\Microsoft\\Edge\\User Data\\Default\\History"
)
# Copiem fișierul History în folderul curent
def copy_history_file(src_path, dst_name="edge_history_copy.db"):
if not os.path.exists(src_path):
print("Nu am găsit istoricul Edge.")
return None
dst_path = os.path.join(os.getcwd(), dst_name)
try:
shutil.copy(src_path, dst_path)
print(f"Am copiat baza de date în {dst_path}")
return dst_path
except Exception as e:
print(f"Eroare la copiere: {e}")
return None
def extract_copilot_links(db_path):
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
cursor.execute("""
SELECT url, title, last_visit_time
FROM urls
WHERE url LIKE '%copilot%'
""")
results = []
for url, title, last_visit_time in cursor.fetchall():
ts = datetime.datetime(1601, 1, 1) + datetime.timedelta(microseconds=last_visit_time)
results.append({
"url": url,
"title": title,
"last_visit": ts.strftime("%Y-%m-%d %H:%M:%S")
})
conn.close()
return results
def fetch_conversation(url):
try:
resp = requests.get(url)
if resp.status_code == 200:
soup = BeautifulSoup(resp.text, "html.parser")
texts = soup.get_text(separator="\n", strip=True)
return texts
else:
return f"Eroare acces {url}: {resp.status_code}"
except Exception as e:
return f"Eroare acces {url}: {e}"
if __name__ == "__main__":
copy_path = copy_history_file(edge_history_path)
if copy_path:
chats = extract_copilot_links(copy_path)
if chats:
with open("copilot_conversations.txt", "w", encoding="utf-8") as f:
for chat in chats:
content = fetch_conversation(chat["url"])
f.write(f"=== Conversație: {chat['title']} ({chat['last_visit']}) ===\n")
f.write(content)
f.write("\n\n")
print("Am salvat conversațiile în copilot_conversations.txt")
else:
print("Nu am găsit conversații Copilot în istoricul Edge.")