Import 9 alphaear finance skills
- alphaear-deepear-lite: DeepEar Lite API integration - alphaear-logic-visualizer: Draw.io XML finance diagrams - alphaear-news: Real-time finance news (10+ sources) - alphaear-predictor: Kronos time-series forecasting - alphaear-reporter: Professional financial reports - alphaear-search: Web search + local RAG - alphaear-sentiment: FinBERT/LLM sentiment analysis - alphaear-signal-tracker: Signal evolution tracking - alphaear-stock: A-Share/HK/US stock data Updates: - All scripts updated to use universal .env path - Added JINA_API_KEY, LLM_*, DEEPSEEK_API_KEY to .env.example - Updated load_dotenv() to use ~/.config/opencode/.env
This commit is contained in:
47
skills/alphaear-predictor/scripts/prompts/visualizer.py
Normal file
47
skills/alphaear-predictor/scripts/prompts/visualizer.py
Normal file
@@ -0,0 +1,47 @@
|
||||
def get_drawio_system_prompt():
|
||||
return """You are an expert at creating Draw.io (MxGraph) diagrams in XML format.
|
||||
Your task is to generate a valid MXGraphModel XML based on the user's description.
|
||||
|
||||
### Rules:
|
||||
1. Output ONLY the XML code. Start with <mxGraphModel> and end with </mxGraphModel>.
|
||||
2. Do not use compressed XML. Use plain XML.
|
||||
3. Use standard shapes: 'rounded=1;whiteSpace=wrap;html=1;' for boxes.
|
||||
4. Auto-layout Strategy:
|
||||
- Identify "layers" or "stages" in the logic.
|
||||
- Assign X coordinates based on layers (e.g., 0, 200, 400).
|
||||
- Assign Y coordinates to distribute nodes vertically (e.g., 0, 100, 200).
|
||||
- Ensure nodes do not overlap.
|
||||
5. Edges: Connect nodes logically using <mxCell edge="1" ...>.
|
||||
|
||||
### Template:
|
||||
<mxGraphModel dx="1000" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
|
||||
<!-- Node -->
|
||||
<mxCell id="n1" value="Node Label" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxGeometry x="100" y="100" width="120" height="60" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Edge -->
|
||||
<mxCell id="e1" value="Connection" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="n1" target="n2">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
"""
|
||||
|
||||
def get_drawio_task(nodes_data: list, title: str) -> str:
|
||||
import json
|
||||
nodes_json = json.dumps(nodes_data, ensure_ascii=False, indent=2)
|
||||
return f"""Please generate a Draw.io XML diagram for the following logic flow:
|
||||
|
||||
**Title**: {title}
|
||||
|
||||
**Nodes and Logic**:
|
||||
{nodes_json}
|
||||
|
||||
Ensure the layout flows logically from Left to Right (or Top to Bottom for hierarchies).
|
||||
Use different colors for 'Positive' (Greenish), 'Negative' (Reddish), and 'Neutral' (Grey/Blue) impacts if described.
|
||||
"""
|
||||
Reference in New Issue
Block a user