khulnasoft's picture
Upload 48 files
9b674e9 verified
import os
import uuid
from dotenv import load_dotenv
load_dotenv(".env")
currently_dir = os.path.dirname(os.path.abspath(__file__))
artifacts_dir = os.path.join(currently_dir, "artifacts")
media_dir = os.path.join(currently_dir, "media")
if not os.path.exists(artifacts_dir):
os.makedirs(artifacts_dir)
mic_record_location = os.path.join(artifacts_dir, "mic_record.wav")
system_sound_location = os.path.join(artifacts_dir, "system_sound.wav")
just_screenshot_path = os.path.join(artifacts_dir, "screenshot.png")
screenshot_path = os.path.join(artifacts_dir, "screenshot_with_text.png")
the_profile = "default"
def set_profile(profile):
"""Set the active profile."""
print("Setting profile to", profile)
global the_profile
the_profile = profile
def get_profile():
"""Get the active profile."""
global the_profile
return the_profile
def get_history_db():
"""Get the history database path based on the active profile."""
global the_profile
return os.path.join(artifacts_dir, f"history_{the_profile}.db")
openaikey = os.path.join(artifacts_dir, "openaikey.db")
def save_api_key(api_key):
"""Save the OpenAI API key to a file."""
with open(openaikey, "w") as f:
f.write(api_key)
def load_api_key():
"""Load the OpenAI API key from a file or environment variables."""
if not os.path.exists(openaikey):
env = os.getenv("OPENAI_API_KEY")
if env:
save_api_key(env)
return env
else:
return "CHANGE_ME"
with open(openaikey, "r") as f:
return f.read()
openai_url_db = os.path.join(artifacts_dir, "openai_url.db")
def save_openai_url(url):
"""Save the custom OpenAI base URL to a file."""
with open(openai_url_db, "w") as f:
f.write(url)
def load_openai_url():
"""Load the custom OpenAI base URL from a file."""
if not os.path.exists(openai_url_db):
return "default"
with open(openai_url_db, "r") as f:
return f.read()
model_settings_db = os.path.join(artifacts_dir, "model_settings.db")
def save_model_settings(model):
"""Save the model settings to a file."""
with open(model_settings_db, "w") as f:
f.write(model)
def load_model_settings():
"""Load the model settings from a file."""
if not os.path.exists(model_settings_db):
return "gpt-4o"
with open(model_settings_db, "r") as f:
return f.read()
just_text_model = os.path.join(artifacts_dir, "just_text_model.db")
def activate_just_text_model():
"""Activate the just text model."""
with open(just_text_model, "w") as f:
f.write("1")
def deactivate_just_text_model():
"""Deactivate the just text model."""
with open(just_text_model, "w") as f:
f.write("0")
def is_just_text_model_active():
"""Check if the just text model is active."""
if not os.path.exists(just_text_model):
return False
with open(just_text_model, "r") as f:
return f.read() == "1"
# Define paths for icons and other media
icon_16_path = os.path.join(media_dir, "icon_16.png")
icon_24_path = os.path.join(media_dir, "icon_24.png")
icon_32_path = os.path.join(media_dir, "icon_32.png")
icon_48_path = os.path.join(media_dir, "icon_48.png")
icon_256_path = os.path.join(media_dir, "icon_256.png")
screenshot_icon_path = os.path.join(media_dir, "Screenshot.png")
audio_icon_path = os.path.join(media_dir, "Audio.png")
microphone_icon_path = os.path.join(media_dir, "Microphone.png")
up_icon_path = os.path.join(media_dir, "Up.png")
down_icon_path = os.path.join(media_dir, "Down.png")
agents = [] # Placeholder for agents data
groqkey = os.path.join(artifacts_dir, "groqkey.db")
def save_groq_api_key(api_key):
"""Save the Groq API key to a file."""
with open(groqkey, "w") as f:
f.write(api_key)
def load_groq_api_key():
"""Load the Groq API key from a file or environment variables."""
if not os.path.exists(groqkey):
env = os.getenv("GROQ_API_KEY")
if env:
save_api_key(env)
return env
else:
return "CHANGE_ME"
with open(groqkey, "r") as f:
return f.read()
user_id_db = os.path.join(artifacts_dir, "user_id.db")
def save_user_id():
"""Save a unique user ID to a file."""
with open(user_id_db, "w") as f:
uuid4 = str(uuid.uuid4())
f.write(uuid4)
return uuid4
def load_user_id():
"""Load the unique user ID from a file."""
if not os.path.exists(user_id_db):
return save_user_id()
with open(user_id_db, "r") as f:
return f.read()
collapse_setting = os.path.join(artifacts_dir, "collapse_setting.db")
def activate_collapse_setting():
"""Activate the collapse setting."""
with open(collapse_setting, "w") as f:
f.write("1")
def deactivate_collapse_setting():
"""Deactivate the collapse setting."""
with open(collapse_setting, "w") as f:
f.write("0")
def is_collapse_setting_active():
"""Check if the collapse setting is active."""
if not os.path.exists(collapse_setting):
return False
with open(collapse_setting, "r") as f:
return f.read() == "1"
# Define font directory path
font_dir = os.path.join(media_dir, "SF-Pro-Text-Bold.otf")
style_setting = os.path.join(artifacts_dir, "style_setting.db")
def activate_dark_mode():
"""Activate the dark mode setting."""
with open(style_setting, "w") as f:
f.write("1")
def deactivate_dark_mode():
"""Deactivate the dark mode setting."""
with open(style_setting, "w") as f:
f.write("0")
def is_dark_mode_active():
"""Check if the dark mode setting is active."""
if not os.path.exists(style_setting):
return True
with open(style_setting, "r") as f:
return f.read() == "1"
googlekey = os.path.join(artifacts_dir, "googlekey.db")
def save_google_api_key(api_key):
"""Save the Google Generative AI API key to a file."""
with open(googlekey, "w") as f:
f.write(api_key)
def load_google_api_key():
"""Load the Google Generative AI API key from a file or environment variables."""
if not os.path.exists(googlekey):
env = os.getenv("GOOGLE_API_KEY")
if env:
save_api_key(env)
return env
else:
return "CHANGE_ME"
with open(googlekey, "r") as f:
return f.read()
predefined_agents_setting = os.path.join(artifacts_dir, "predefined_agents_setting.db")
def activate_predefined_agents_setting():
"""Activate the predefined agents setting setting."""
with open(predefined_agents_setting, "w") as f:
f.write("1")
def deactivate_predefined_agents_setting():
"""Deactivate the predefined agents setting setting."""
with open(predefined_agents_setting, "w") as f:
f.write("0")
def is_predefined_agents_setting_active():
"""Check if the predefined agents setting setting is active."""
if not os.path.exists(predefined_agents_setting):
return True
with open(predefined_agents_setting, "r") as f:
return f.read() == "1"
online_tools_setting = os.path.join(artifacts_dir, "online_tools.db")
def activate_online_tools_setting():
"""Activate the online_tools setting."""
with open(online_tools_setting, "w") as f:
f.write("1")
def deactivate_online_tools_setting():
"""Deactivate the online_tools setting."""
with open(online_tools_setting, "w") as f:
f.write("0")
def is_online_tools_setting_active():
"""Check if the online_tools setting is active."""
if not os.path.exists(online_tools_setting):
return False
with open(online_tools_setting, "r") as f:
return f.read() == "1"
auto_stop_recording_setting = os.path.join(artifacts_dir, "auto_stop_recording.db")
def activate_auto_stop_recording_setting():
"""Activate the auto_stop_recording setting."""
with open(auto_stop_recording_setting, "w") as f:
f.write("1")
def deactivate_auto_stop_recording_setting():
"""Deactivate the auto_stop_recording setting."""
with open(auto_stop_recording_setting, "w") as f:
f.write("0")
def is_auto_stop_recording_setting_active():
"""Check if the auto_stop_recording setting is active."""
if not os.path.exists(auto_stop_recording_setting):
return True
with open(auto_stop_recording_setting, "r") as f:
return f.read() == "1"
pvporcupine_api_key = os.path.join(artifacts_dir, "pvporcupine_api_key.db")
def save_pvporcupine_api_key(api_key):
"""Save the Pvporcupine AI API key to a file."""
with open(pvporcupine_api_key, "w") as f:
f.write(api_key)
def load_pvporcupine_api_key():
"""Load the Pvporcupine AI API key from a file or environment variables."""
if not os.path.exists(pvporcupine_api_key):
return "CHANGE_ME"
with open(pvporcupine_api_key, "r") as f:
return f.read()
wake_word_setting = os.path.join(artifacts_dir, "wake_word_setting.db")
def activate_wake_word():
"""Activate the wake_word_setting setting."""
with open(wake_word_setting, "w") as f:
f.write("1")
def deactivate_wake_word():
"""Deactivate the wake_word_setting setting."""
with open(wake_word_setting, "w") as f:
f.write("0")
def is_wake_word_active():
"""Check if the wake_word_setting setting is active."""
try:
import pyaudio
except ImportError:
return False
if not os.path.exists(wake_word_setting):
return True
with open(wake_word_setting, "r") as f:
return f.read() == "1"
wake_word_screen_setting = os.path.join(artifacts_dir, "wake_word_screen_setting.db")
def activate_wake_word_screen_setting():
"""Activate the wake_word_screen setting."""
with open(wake_word_screen_setting, "w") as f:
f.write("1")
def deactivate_wake_word_screen_setting():
"""Deactivate the wake_word_screen setting."""
with open(wake_word_screen_setting, "w") as f:
f.write("0")
def is_wake_word_screen_setting_active():
"""Check if the wake_word_screen setting is active."""
if not os.path.exists(wake_word_screen_setting):
return True
with open(wake_word_screen_setting, "r") as f:
return f.read() == "1"
continuously_conversations_setting = os.path.join(artifacts_dir, "continuously_conversations_setting.db")
def activate_continuously_conversations_setting():
"""Activate the continuously_conversations setting."""
with open(continuously_conversations_setting, "w") as f:
f.write("1")
def deactivate_continuously_conversations_setting():
"""Deactivate the continuously_conversations setting."""
with open(continuously_conversations_setting, "w") as f:
f.write("0")
def is_continuously_conversations_setting_active():
"""Check if the continuously_conversations setting is active."""
if not os.path.exists(continuously_conversations_setting):
return False
with open(continuously_conversations_setting, "r") as f:
return f.read() == "1"