0) Complete Docker build scriptes. 1) Refactor storage dir struct for release. 2) Add a common 'user_config' model. 3)More friendly CLI experience

This commit is contained in:
Liu Zhicong
2023-09-17 18:18:54 -07:00
parent 4df0b74745
commit a20f331e8f
13 changed files with 382 additions and 59 deletions
+9 -6
View File
@@ -2,7 +2,7 @@
import logging
import toml
from aios_kernel import AIAgent,AIAgentTemplete
from aios_kernel import AIAgent,AIAgentTemplete,AIStorage
from package_manager import PackageEnv,PackageEnvManager,PackageMediaInfo,PackageInstallTask
logger = logging.getLogger(__name__)
@@ -12,15 +12,18 @@ class AgentManager:
_instance = None
@classmethod
def get_instance(cls):
def get_instance(cls)->'AgentManager':
if cls._instance is None:
cls._instance = AgentManager()
return cls._instance
def initial(self,root_dir:str) -> None:
self.agent_templete_env : PackageEnv = PackageEnvManager().get_env(f"{root_dir}/templetes/templetes.cfg")
self.agent_env : PackageEnv = PackageEnvManager().get_env(f"{root_dir}/agents/agents.cfg")
self.db_path = f"{root_dir}/agents_chat.db"
def initial(self) -> None:
system_app_dir = AIStorage.get_instance().get_system_app_dir()
user_data_dir = AIStorage.get_instance().get_myai_dir()
self.agent_templete_env : PackageEnv = PackageEnvManager().get_env(f"{system_app_dir}/templates/templetes.cfg")
self.agent_env : PackageEnv = PackageEnvManager().get_env(f"{system_app_dir}/agents/agents.cfg")
self.db_path = f"{user_data_dir}/messages.db"
self.loaded_agent_instance = {}
if self.agent_templete_env is None:
raise Exception("agent_manager initial failed")
@@ -1,10 +1,11 @@
import logging
import toml
from aios_kernel import Workflow
import os
from aios_kernel import Workflow,AIStorage
from package_manager import PackageEnv,PackageEnvManager,PackageMediaInfo,PackageInstallTask
from agent_manager import AgentManager
logger = logging.getLogger(__name__)
import os
class WorkflowManager:
_instance = None
@@ -16,10 +17,13 @@ class WorkflowManager:
return cls._instance
def initial(self,root_dir:str) -> None:
def initial(self) -> None:
self.loaded_workflow = {}
self.workflow_env = PackageEnvManager().get_env(f"{root_dir}/workflows.cfg")
self.db_file = os.path.abspath(f"{root_dir}/workflows.db")
system_app_dir = AIStorage.get_instance().get_system_app_dir()
user_data_dir = AIStorage.get_instance().get_myai_dir()
self.workflow_env = PackageEnvManager().get_env(f"{system_app_dir}/workflows.cfg")
self.db_file = os.path.abspath(f"{user_data_dir}/messages.db")
if self.workflow_env is None:
raise Exception("WorkflowManager initial failed")