From 3a0f2fefd3093c2adb2d3461221097ccf1d1d1a2 Mon Sep 17 00:00:00 2001 From: Zhaofeng Zhang <24791380+vcfgv@users.noreply.github.com> Date: Tue, 18 Nov 2025 10:34:03 +0800 Subject: [PATCH 1/2] feat: insert default strategy prompt during database initialization --- python/valuecell/server/db/init_db.py | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/python/valuecell/server/db/init_db.py b/python/valuecell/server/db/init_db.py index 1193cba55..e895fd706 100644 --- a/python/valuecell/server/db/init_db.py +++ b/python/valuecell/server/db/init_db.py @@ -16,6 +16,7 @@ from valuecell.server.db.repositories.asset_repository import get_asset_repository from valuecell.server.services.assets import get_asset_service from valuecell.utils.path import get_agent_card_path +from valuecell.server.db.models.strategy_prompt import StrategyPrompt # Configure logging logging.basicConfig( @@ -414,6 +415,45 @@ def initialize_basic_data(self) -> bool: logger.info(f"Updated default agent: {agent_name}") session.commit() + # Insert default strategy prompt from template if not present + try: + template_path = ( + Path(__file__).resolve().parents[2] + / "agents" + / "strategy_agent" + / "templates" + / "default.txt" + ) + prompt_id = "prompt-system-default" + existing_prompt = ( + session.query(StrategyPrompt) + .filter(StrategyPrompt.id == prompt_id) + .first() + ) + if not existing_prompt: + if template_path.exists(): + content = template_path.read_text(encoding="utf-8") + prompt = StrategyPrompt( + id=prompt_id, name="System Default", content=content + ) + session.add(prompt) + session.commit() + logger.info( + "Inserted default strategy prompt: %s", prompt_id + ) + else: + logger.warning( + "Default strategy prompt template not found: %s", + template_path, + ) + except Exception as e: + # Do not fail the whole DB init for prompt insertion; log and continue + try: + session.rollback() + except Exception: + pass + logger.error("Failed to insert default strategy prompt: %s", e) + logger.info("Default agent data initialization completed") return True From 6ab188437252fa2cac25a87dcd44396ac91801a7 Mon Sep 17 00:00:00 2001 From: Zhaofeng Zhang <24791380+vcfgv@users.noreply.github.com> Date: Tue, 18 Nov 2025 10:35:09 +0800 Subject: [PATCH 2/2] make format --- python/valuecell/server/db/init_db.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/valuecell/server/db/init_db.py b/python/valuecell/server/db/init_db.py index e895fd706..86f421120 100644 --- a/python/valuecell/server/db/init_db.py +++ b/python/valuecell/server/db/init_db.py @@ -13,10 +13,10 @@ from valuecell.server.db.connection import DatabaseManager, get_database_manager from valuecell.server.db.models.agent import Agent from valuecell.server.db.models.base import Base +from valuecell.server.db.models.strategy_prompt import StrategyPrompt from valuecell.server.db.repositories.asset_repository import get_asset_repository from valuecell.server.services.assets import get_asset_service from valuecell.utils.path import get_agent_card_path -from valuecell.server.db.models.strategy_prompt import StrategyPrompt # Configure logging logging.basicConfig(