Skip to content

Latest commit

ย 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ›ฐ๏ธ AstraLogic

Agent-Driven Satellite Communication Simulation Framework

An intelligent bridge between high-fidelity physics simulation and cognitive decision-making agents

License: MIT Python 3.8+ AFSIM

English | ไธญๆ–‡


Overview

AstraLogic is a one-stop satellite communication simulation & decision platform that seamlessly integrates AFSIM (Advanced Framework for Simulation, Integration, and Modeling) execution with intelligent agent-driven analysis within a single web interface.

Users interact with the system entirely through a web dashboard โ€” submitting simulation requests via an Agent chat interface, which delegates decision-making to OpenClaw (an intelligent agent framework). OpenClaw reasons about orbital mechanics, link budgets, and communication strategies, then orchestrates AFSIM simulations via Skills and MCP servers. Results are automatically parsed and visualized in the dashboard without ever needing to leave the browser.

The architecture consists of:

  1. Frontend โ€” Streamlit dashboard with Agent chat interface for end-to-end simulation control
  2. Backend โ€” FastAPI server coordinating agent decisions and simulation state
  3. Decision Engine โ€” OpenClaw agent with custom Skills for link analysis and frequency optimization
  4. Simulation Bridge โ€” MCP server protocol for headless AFSIM execution and result ingestion
  5. Data Layer โ€” AER parser converting AFSIM binary outputs to structured DataFrames
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  AstraLogic One-Stop Platform                  โ”‚
โ”‚                                                                โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚    Streamlit Dashboard with Agent Chat Interface        โ”‚  โ”‚
โ”‚  โ”‚    "Plan a LEO-to-ground link with backup path"        โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                               โ†“                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  FastAPI Backend โ† โ†’ OpenClaw Agent Decision Engine    โ”‚  โ”‚
โ”‚  โ”‚  (Request routing, state management, result caching)    โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚        โ†“                                           โ†‘            โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  OpenClaw Skills & MCP Servers                          โ”‚  โ”‚
โ”‚  โ”‚  โ€ข LinkBudgetSkill โ€” analyze propagation & margins      โ”‚  โ”‚
โ”‚  โ”‚  โ€ข FrequencyOptimizerSkill โ€” select frequencies         โ”‚  โ”‚
โ”‚  โ”‚  โ€ข AFSIMExecutor MCP โ€” launch Warlock/Mystic headless  โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚        โ†“                                                        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  AFSIM Simulation (Warlock/Mystic)                      โ”‚  โ”‚
โ”‚  โ”‚  Binary AER Output โ†’ pymystic Parser โ†’ CSV Results      โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚        โ†“                                                        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  Dashboard Result Visualization                          โ”‚  โ”‚
โ”‚  โ”‚  Orbital plots, link metrics, performance summary        โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Core Architecture

AstraLogic implements an Agent-Driven Simulation Pipeline:

Component Technology Purpose
Web Dashboard Streamlit User interface with Agent chat box for natural language requests
Backend Coordinator FastAPI Routes agent decisions, manages simulation state, caches results
Decision Engine OpenClaw Agent Reasons about orbital mechanics, link budgets, and resource optimization
Skill System Custom Skills LinkBudgetAnalyzer, FrequencyOptimizer, ManeuverPlanner
Simulation Bridge MCP (Model Context Protocol) Headless AFSIM execution, parameter templating, result collection
Data Parser pymystic + pandas Binary AER โ†’ structured CSV for visualization

Workflow: End-to-End Simulation

User: "Plan a backup link for Sat-A when it loses contact with GS-1"
        โ†“ (natural language โ†’ parsed request)
OpenClaw Agent receives context:
  โ€ข Current orbital state (from last simulation)
  โ€ข Available frequency bands
  โ€ข Ground station locations
  โ€ข Link margin thresholds
        โ†“ (reasoning loop)
OpenClaw invokes Skills:
  1. LinkBudgetSkill.analyze() โ†’ SNR for candidate frequencies
  2. FrequencyOptimizer.select_channels() โ†’ optimal band selection
  3. ManeuverPlanner.compute_handover() โ†’ timing & power levels
        โ†“ (decision ready)
AFSIMExecutor.run() via MCP:
  โ€ข Template WSL with agent-selected parameters
  โ€ข Launch Warlock/Mystic headless
  โ€ข Stream binary AER output
  โ€ข Parse results in real-time
        โ†“ (results ready)
Dashboard auto-updates with:
  โ€ข Orbital trajectory plots
  โ€ข Link margin time-series
  โ€ข Success/failure metrics
  โ€ข Agent reasoning summary

Key Features

โœ… Active Development

  • ๐Ÿค– Agent Chat Interface โ€” Natural language simulation requests directly in the dashboard
  • ๐Ÿง  OpenClaw Decision Engine โ€” Intelligent agent for link planning, frequency optimization, and maneuver scheduling
  • ๐ŸŽฏ Skill-based Architecture โ€” Extensible Skills for link-budget analysis, frequency selection, orbital mechanics
  • ๐Ÿ”Œ MCP Server Integration โ€” Headless AFSIM execution orchestrated via Model Context Protocol
  • ๐Ÿ” Real-time AER Parser โ€” Binary simulation output ingestion with live CSV export
  • ๐Ÿ“Š Dashboard Visualization โ€” Plotly-based orbital plots, link metrics, and performance dashboards
  • โšก FastAPI Backend โ€” REST API for state queries, result caching, and agent coordination
  • ๐Ÿ”„ Automated Workflows โ€” Complete simulation from request to result without leaving the browser

๐Ÿ“… Future Enhancements

  • Advanced link-budget calculations (rain fade, fading margins)
  • Multi-scenario comparison & optimization loop
  • AFSIM direct launch button for advanced users
  • Expanded orbital mechanics solvers (perturbations, collision avoidance)

Quick Start

Prerequisites

  • Python โ‰ฅ 3.8
  • AFSIM Warlock or Mystic installation (local or remote)
  • OpenClaw configuration (provided in setup)

Installation

git clone https://github.com/abydym/AstraLogic.git
cd AstraLogic
pip install -r requirements.txt

Running the Platform

# Terminal 1: Start the backend API
python backend.py
# API available at http://localhost:8000/docs

# Terminal 2: Launch the dashboard
streamlit run app.py
# Dashboard opens at http://localhost:8501

Using the Agent Chat Interface

Once the dashboard is live, use the Agent Chat Box to request simulations:

Example 1: Simple link analysis

User: "Analyze the communication link between Sat-A and Ground Station-1 
       when Sat-A passes over the ground station at 14:30 UTC."

OpenClaw will:
  1. Retrieve orbital ephemerides
  2. Compute elevation angle and slant range
  3. Run LinkBudgetSkill to determine SNR margins
  4. Launch AFSIM simulation via MCP
  5. Display results in dashboard

Example 2: Frequency optimization

User: "Find the best frequency band for Sat-B to GS-2 link 
       with at least 6 dB margin and no interference."

OpenClaw will:
  1. Analyze available frequency allocations
  2. Check interference environment
  3. Invoke FrequencyOptimizerSkill
  4. Simulate multiple candidates in parallel
  5. Recommend optimal band with reasoning

Custom Simulation (Advanced)

For direct control, you can also invoke simulations programmatically:

from aermsg2dataframe import parse_aer_messages
import pymystic
import pandas as pd

# Read existing AFSIM output
with pymystic.Reader('scenarios/demo_output.aer') as reader:
    messages = list(reader)

# Parse to DataFrames
df_entity, df_orbital = parse_aer_messages(messages)

# Analyze
print(f"Simulation duration: {df_entity['simTime'].max()} seconds")
print(f"Tracked platforms: {sorted(df_entity['platformIndex'].unique())}")

# Compute inter-satellite distance
sat1 = df_entity[df_entity['platformIndex'] == 1]
sat2 = df_entity[df_entity['platformIndex'] == 2]
if len(sat1) > 0 and len(sat2) > 0:
    distances = ((sat1[['x','y','z']].reset_index(drop=True) - 
                  sat2[['x','y','z']].reset_index(drop=True))**2).sum(axis=1)**0.5 / 1000
    print(f"Min distance: {distances.min():.1f} km, Max: {distances.max():.1f} km")

Project Structure

AstraLogic/
โ”œโ”€โ”€ app.py                      # ๐ŸŽจ Streamlit dashboard (main UI)
โ”œโ”€โ”€ backend.py                  # โšก FastAPI server
โ”œโ”€โ”€ aer_read.py                 # ๐Ÿ“ก AER binary parser (pymystic wrapper)
โ”œโ”€โ”€ aermsg2dataframe.py         # ๐Ÿ“Š Message โ†’ DataFrame converter
โ”œโ”€โ”€ openclaw_agent.py           # ๐Ÿค– LLM agent (planned)
โ”œโ”€โ”€ afsim_mcp_server.py         # ๐Ÿ”Œ MCP server bridge (planned)
โ”œโ”€โ”€ pymystic.py                 # ๐Ÿ“ฆ Local pymystic library
โ”‚
โ”œโ”€โ”€ core/                       # Core utility modules
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ””โ”€โ”€ afsim_bridge.py         # AFSIM integration helpers
โ”‚
โ”œโ”€โ”€ scenarios/                  # AFSIM scenario files
โ”‚   โ”œโ”€โ”€ demo_2sat_1gs.txt       # 2 satellites + 1 ground station
โ”‚   โ”œโ”€โ”€ demo_output.aer         # Sample AFSIM output (binary)
โ”‚   โ”œโ”€โ”€ demo_output.csv         # Converted CSV (for reference)
โ”‚   โ””โ”€โ”€ demo_output.evt         # Event log
โ”‚
โ”œโ”€โ”€ output/                     # Generated data files
โ”‚   โ”œโ”€โ”€ entity.csv              # Parsed platform states
โ”‚   โ””โ”€โ”€ orbital.csv             # Parsed orbital elements
โ”‚
โ”œโ”€โ”€ docs/                       # Documentation
โ”œโ”€โ”€ brand-design-md-main/       # Design system assets
โ”œโ”€โ”€ README.md                   # This file
โ”œโ”€โ”€ DESIGN.md                   # Architecture & design notes
โ”œโ”€โ”€ requirements.txt            # Dependencies
โ”œโ”€โ”€ LICENSE                     # MIT License
โ””โ”€โ”€ .env.example                # Environment template (unused for now)

Roadmap

Milestone Status Target Description
โœ… AER Parser Complete v0.1 AFSIM binary deserialization (pymystic)
โœ… Dashboard Core Complete v0.1 Streamlit UI with orbital visualization
โœ… FastAPI Backend Complete v0.1 REST API for state management
๐Ÿ”จ Agent Chat Interface In Progress v0.2 OpenClaw integration with natural language processing
๐Ÿ”จ LinkBudgetSkill In Progress v0.2 Eb/Nโ‚€, EIRP, interference analysis
๐Ÿ”จ MCP Server Bridge In Progress v0.2 Headless AFSIM execution & result streaming
๐Ÿ“… FrequencyOptimizerSkill Planned v0.3 Automated frequency band selection
๐Ÿ“… Multi-scenario Optimization Planned v0.3 Parallel simulation & comparative analysis
๐Ÿ“… Advanced Orbital Mechanics Planned v0.4 Perturbations, collision avoidance, station-keeping
๐Ÿ“… Result Export & Reporting Planned v0.4 PDF reports, data archiving, batch export

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.


License

This project is licensed under the MIT License โ€” see the LICENSE file for details.



ๆฆ‚่ฟฐ

AstraLogic ๆ˜ฏไธ€ไธชไธ€็ซ™ๅผๅซๆ˜Ÿ้€šไฟกไปฟ็œŸๅ†ณ็ญ–ๅนณๅฐ๏ผŒๅœจๅ•ไธ€็ฝ‘้กต็•Œ้ขไธญๅฎž็Žฐไบ† AFSIM๏ผˆ้ซ˜็บงไปฟ็œŸใ€้›†ๆˆไธŽๅปบๆจกๆก†ๆžถ๏ผ‰ไธŽๆ™บ่ƒฝๅ†ณ็ญ–ๅผ•ๆ“Ž็š„ๆ— ็ผ่žๅˆใ€‚

็”จๆˆทๅฎŒๅ…จ้€š่ฟ‡็ฝ‘้กตไปช่กจ็›˜่ฟ›่กŒไบคไบ’โ€”โ€”ๅœจ Agent ๅฏน่ฏๆก†ไธญๆไบคไปฟ็œŸ้œ€ๆฑ‚๏ผŒ็”ฑ OpenClaw ๆ™บ่ƒฝไฝ“่ดŸ่ดฃๅ†ณ็ญ–ใ€‚OpenClaw ๅฏไปฅๆŽจ็†่ฝจ้“ๅŠ›ๅญฆใ€้“พ่ทฏ้ข„็ฎ—ๅ’Œ้€šไฟก็ญ–็•ฅ๏ผŒ้€š่ฟ‡ Skills ๅ’Œ MCP ๆœๅŠกๅ™จๅ่ฐƒ AFSIM ็š„ๆ— ๅคดๆ‰ง่กŒใ€‚ไปฟ็œŸๅฎŒๆˆๅŽ๏ผŒ็ป“ๆžœ่‡ชๅŠจ่งฃๆžๅนถๅœจไปช่กจ็›˜ไธญๅฏ่ง†ๅŒ–ๅฑ•็คบ๏ผŒ็”จๆˆทๆ— ้œ€็ฆปๅผ€ๆต่งˆๅ™จใ€‚

็ณป็ปŸๆžถๆž„ๅŒ…ๆ‹ฌ๏ผš

  1. ๅ‰็ซฏ็•Œ้ข โ€” Streamlit ไปช่กจ็›˜๏ผŒ้›†ๆˆ Agent ๅฏน่ฏๆก†็”จไบŽ็ซฏๅˆฐ็ซฏไปฟ็œŸๆŽงๅˆถ
  2. ๅŽ็ซฏๅ่ฐƒ โ€” FastAPI ๆœๅŠกๅ™จ๏ผŒ่ดŸ่ดฃ่ทฏ็”ฑ Agent ๅ†ณ็ญ–ๅ’Œ็ฎก็†ไปฟ็œŸ็Šถๆ€
  3. ๅ†ณ็ญ–ๅผ•ๆ“Ž โ€” OpenClaw ๆ™บ่ƒฝไฝ“๏ผŒๆŽจ็†่ฝจ้“ๅ’Œ้€šไฟกไผ˜ๅŒ–
  4. ๆŠ€่ƒฝ็ณป็ปŸ โ€” ่‡ชๅฎšไน‰ Skills ็”จไบŽ้“พ่ทฏๅˆ†ๆžๅ’Œ้ข‘็އไผ˜ๅŒ–
  5. ไปฟ็œŸ็ฝ‘ๆกฅ โ€” MCP ๅ่ฎฎๆ”ฏๆŒๆ— ๅคด AFSIM ๆ‰ง่กŒๅ’Œ็ป“ๆžœๅฏผๅ…ฅ
  6. ๆ•ฐๆฎๅฑ‚ โ€” AER ่งฃๆžๅ™จๅฐ† AFSIM ไบŒ่ฟ›ๅˆถ่พ“ๅ‡บ่ฝฌๆขไธบ็ป“ๆž„ๅŒ– DataFrame
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  AstraLogic ไธ€็ซ™ๅผไปฟ็œŸๅนณๅฐ                     โ”‚
โ”‚                                                                โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚    Streamlit ไปช่กจ็›˜๏ผˆๅซ Agent ๅฏน่ฏๆก†๏ผ‰                 โ”‚  โ”‚
โ”‚  โ”‚    "่ง„ๅˆ’ๅซๆ˜ŸAๅœจๅคฑๅŽปๅœฐ้ข็ซ™ไฟกๅทๆ—ถ็š„ๅค‡็”จ้“พ่ทฏ"            โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                               โ†“                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  FastAPI ๅŽ็ซฏ โ† โ†’ OpenClaw Agent ๅ†ณ็ญ–ๅผ•ๆ“Ž             โ”‚  โ”‚
โ”‚  โ”‚  ๏ผˆ่ฏทๆฑ‚่ทฏ็”ฑใ€็Šถๆ€็ฎก็†ใ€็ป“ๆžœ็ผ“ๅญ˜๏ผ‰                     โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚        โ†“                                           โ†‘            โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  OpenClaw Skills ไธŽ MCP ๆœๅŠกๅ™จ                         โ”‚  โ”‚
โ”‚  โ”‚  โ€ข LinkBudgetSkill โ€” ๅˆ†ๆžไผ ๆ’ญไธŽ้“พ่ทฏไฝ™้‡               โ”‚  โ”‚
โ”‚  โ”‚  โ€ข FrequencyOptimizerSkill โ€” ้ข‘็އ้€‰ๆ‹ฉ                 โ”‚  โ”‚
โ”‚  โ”‚  โ€ข AFSIMExecutor MCP โ€” ๆ— ๅคดๅฏๅŠจ Warlock/Mystic       โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚        โ†“                                                        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  AFSIM ไปฟ็œŸ๏ผˆWarlock/Mystic๏ผ‰                         โ”‚  โ”‚
โ”‚  โ”‚  ไบŒ่ฟ›ๅˆถ AER ่พ“ๅ‡บ โ†’ pymystic ่งฃๆž โ†’ CSV ็ป“ๆžœ           โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚        โ†“                                                        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  ไปช่กจ็›˜็ป“ๆžœๅฑ•็คบ                                        โ”‚  โ”‚
โ”‚  โ”‚  ่ฝจ้“ๅ›พใ€้“พ่ทฏๆŒ‡ๆ ‡ใ€ๆ€ง่ƒฝๆ€ป็ป“                           โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆ ธๅฟƒๆžถๆž„

AstraLogic ๅฎž็Žฐไบ†ๆ™บ่ƒฝไฝ“้ฉฑๅŠจ็š„ไปฟ็œŸ็ฎก้“๏ผš

็ป„ไปถ ๆŠ€ๆœฏๆ ˆ ่Œ่ดฃ
็ฝ‘้กตไปช่กจ็›˜ Streamlit ็”จๆˆท็•Œ้ขไธŽ Agent ๅฏน่ฏๆก†๏ผŒ็”จไบŽ่‡ช็„ถ่ฏญ่จ€ไปฟ็œŸ่ฏทๆฑ‚
ๅŽ็ซฏๅ่ฐƒ FastAPI ่ทฏ็”ฑ Agent ๅ†ณ็ญ–ใ€็ฎก็†ไปฟ็œŸ็Šถๆ€ใ€็ผ“ๅญ˜็ป“ๆžœ
ๅ†ณ็ญ–ๅผ•ๆ“Ž OpenClaw Agent ๆŽจ็†่ฝจ้“ๅŠ›ๅญฆใ€้“พ่ทฏ้ข„็ฎ—ๅ’Œ่ต„ๆบไผ˜ๅŒ–
ๆŠ€่ƒฝ็ณป็ปŸ ่‡ชๅฎšไน‰ Skills LinkBudgetAnalyzerใ€FrequencyOptimizerใ€ManeuverPlanner
ไปฟ็œŸ็ฝ‘ๆกฅ MCP ๅ่ฎฎ ๆ— ๅคด AFSIM ๆ‰ง่กŒใ€ๅ‚ๆ•ฐๆจกๆฟใ€็ป“ๆžœๆ”ถ้›†
ๆ•ฐๆฎ่งฃๆž pymystic + pandas ไบŒ่ฟ›ๅˆถ AER โ†’ ็ป“ๆž„ๅŒ– CSV ็”จไบŽๅฏ่ง†ๅŒ–

ๅทฅไฝœๆต๏ผš็ซฏๅˆฐ็ซฏไปฟ็œŸ

็”จๆˆท๏ผšใ€Œ่ง„ๅˆ’ๅค‡็”จ้“พ่ทฏ๏ผŒๅฝ“ๅซๆ˜ŸAไธŽๅœฐ้ข็ซ™ๅคฑ่”ๆ—ถใ€
        โ†“ ๏ผˆ่‡ช็„ถ่ฏญ่จ€ โ†’ ่งฃๆž่ฏทๆฑ‚๏ผ‰
OpenClaw Agent ๆŽฅๆ”ถไธŠไธ‹ๆ–‡๏ผš
  โ€ข ๅฝ“ๅ‰่ฝจ้“็Šถๆ€๏ผˆๆฅ่‡ชไธŠๆฌกไปฟ็œŸ๏ผ‰
  โ€ข ๅฏ็”จ้ข‘ๆฎต
  โ€ข ๅœฐ้ข็ซ™ไฝ็ฝฎ
  โ€ข ้“พ่ทฏไฝ™้‡้˜ˆๅ€ผ
        โ†“ ๏ผˆๆŽจ็†ๅพช็Žฏ๏ผ‰
OpenClaw ่ฐƒ็”จ Skills๏ผš
  1. LinkBudgetSkill.analyze() โ†’ ๅ€™้€‰้ข‘็އ็š„ไฟกๅ™ชๆฏ”
  2. FrequencyOptimizer.select_channels() โ†’ ๆœ€ไผ˜้ข‘ๆฎต้€‰ๆ‹ฉ
  3. ManeuverPlanner.compute_handover() โ†’ ๆ—ถๅบไธŽๅŠŸ็އๅ‚ๆ•ฐ
        โ†“ ๏ผˆๅ†ณ็ญ–ๅฐฑ็ปช๏ผ‰
้€š่ฟ‡ MCP ๆ‰ง่กŒ AFSIMExecutor๏ผš
  โ€ข ็”จ Agent ้€‰ๅฎš็š„ๅ‚ๆ•ฐๆจกๆฟๅŒ– WSL
  โ€ข ๆ— ๅคดๅฏๅŠจ Warlock/Mystic
  โ€ข ๅฎžๆ—ถๆตๅผๅค„็†ไบŒ่ฟ›ๅˆถ AER ่พ“ๅ‡บ
  โ€ข ๅœจ็บฟ่งฃๆž็ป“ๆžœ
        โ†“ ๏ผˆ็ป“ๆžœๅฐฑ็ปช๏ผ‰
ไปช่กจ็›˜่‡ชๅŠจๆ›ดๆ–ฐ๏ผš
  โ€ข ่ฝจ้“่ฝจ่ฟนๅ›พ
  โ€ข ้“พ่ทฏไฝ™้‡ๆ—ถ้—ดๅบๅˆ—
  โ€ข ๆˆๅŠŸ/ๅคฑ่ดฅๆŒ‡ๆ ‡
  โ€ข Agent ๆŽจ็†ๆ‘˜่ฆ

ไธป่ฆ็‰นๆ€ง

โœ… ๅฎž้™…ๅผ€ๅ‘ไธญ

  • ๐Ÿค– Agent ๅฏน่ฏๆก† โ€” ๅœจไปช่กจ็›˜ไธญ็”จ่‡ช็„ถ่ฏญ่จ€ๆไบคไปฟ็œŸ้œ€ๆฑ‚
  • ๐Ÿง  OpenClaw ๅ†ณ็ญ–ๅผ•ๆ“Ž โ€” ๆ™บ่ƒฝไฝ“็”จไบŽ้“พ่ทฏ่ง„ๅˆ’ใ€้ข‘็އไผ˜ๅŒ–ๅ’ŒๆœบๅŠจ่ฐƒๅบฆ
  • ๐ŸŽฏ ๅŸบไบŽ Skill ็š„ๆžถๆž„ โ€” ๅฏๆ‰ฉๅฑ•็š„ Skills ็”จไบŽ้“พ่ทฏๅˆ†ๆžใ€้ข‘็އ้€‰ๆ‹ฉใ€่ฝจ้“ๅŠ›ๅญฆ
  • ๐Ÿ”Œ MCP ๆœๅŠกๅ™จ้›†ๆˆ โ€” ้€š่ฟ‡ Model Context Protocol ๅ่ฐƒๆ— ๅคด AFSIM ๆ‰ง่กŒ
  • ๐Ÿ” ๅฎžๆ—ถ AER ่งฃๆžๅ™จ โ€” ไบŒ่ฟ›ๅˆถไปฟ็œŸ่พ“ๅ‡บๆ‘„ๅ–ไธŽๅฎžๆ—ถ CSV ๅฏผๅ‡บ
  • ๐Ÿ“Š ไปช่กจ็›˜ๅฏ่ง†ๅŒ– โ€” ๅŸบไบŽ Plotly ็š„่ฝจ้“ๅ›พใ€้“พ่ทฏๆŒ‡ๆ ‡ๅ’Œๆ€ง่ƒฝไปช่กจ็›˜
  • โšก FastAPI ๅŽ็ซฏ โ€” REST API ็”จไบŽ็Šถๆ€ๆŸฅ่ฏขใ€็ป“ๆžœ็ผ“ๅญ˜ๅ’Œ Agent ๅ่ฐƒ
  • ๐Ÿ”„ ่‡ชๅŠจๅŒ–ๅทฅไฝœๆต โ€” ไปŽ่ฏทๆฑ‚ๅˆฐ็ป“ๆžœ็š„ๅฎŒๆ•ดไปฟ็œŸ๏ผŒๆ— ้œ€็ฆปๅผ€ๆต่งˆๅ™จ

๐Ÿ“… ๅŽ็ปญๆ‰ฉๅฑ•

  • ้ซ˜็บง้“พ่ทฏ้ข„็ฎ—่ฎก็ฎ—๏ผˆ้›จ่กฐใ€่กฐๅ‡ไฝ™้‡๏ผ‰
  • ๅคšๅœบๆ™ฏๅฏนๆฏ”ไธŽไผ˜ๅŒ–ๅพช็Žฏ
  • AFSIM ็›ดๆŽฅๅฏๅŠจๆŒ‰้’ฎ๏ผˆไพ›้ซ˜็บง็”จๆˆทไฝฟ็”จ๏ผ‰
  • ๆ‰ฉๅฑ•่ฝจ้“ๅŠ›ๅญฆๆฑ‚่งฃๅ™จ๏ผˆๆ‰ฐๅŠจ้กนใ€็ขฐๆ’ž่ง„้ฟ๏ผ‰

ๅฟซ้€Ÿๅผ€ๅง‹

็Žฏๅขƒ่ฆๆฑ‚

  • Python โ‰ฅ 3.8
  • AFSIM Warlock ๆˆ– Mystic ๅฎ‰่ฃ…๏ผˆๆœฌๅœฐๆˆ–่ฟœ็จ‹๏ผ‰
  • OpenClaw ้…็ฝฎ๏ผˆๅฎ‰่ฃ…ๅŒ…ไธญๆไพ›๏ผ‰

ๅฎ‰่ฃ…

git clone https://github.com/abydym/AstraLogic.git
cd AstraLogic
pip install -r requirements.txt

ๅฏๅŠจๅนณๅฐ

# ็ปˆ็ซฏ 1๏ผšๅฏๅŠจๅŽ็ซฏ API
python backend.py
# API ๆ–‡ๆกฃ๏ผšhttp://localhost:8000/docs

# ็ปˆ็ซฏ 2๏ผšๅฏๅŠจไปช่กจ็›˜
streamlit run app.py
# ไปช่กจ็›˜๏ผšhttp://localhost:8501

ไฝฟ็”จ Agent ๅฏน่ฏๆก†

ไปช่กจ็›˜ๅฏๅŠจๅŽ๏ผŒไฝฟ็”จ Agent ๅฏน่ฏๆก†ๆไบคไปฟ็œŸ่ฏทๆฑ‚๏ผš

็คบไพ‹ 1๏ผš็ฎ€ๅ•้“พ่ทฏๅˆ†ๆž

็”จๆˆท๏ผšใ€Œๅˆ†ๆžๅซๆ˜ŸAไธŽๅœฐ้ข็ซ™-1 ๅœจUTC 14:30 ้€š่ฟ‡ๅœฐ้ข็ซ™ไธŠ็ฉบๆ—ถ็š„้€šไฟก้“พ่ทฏใ€

OpenClaw ๅฐ†๏ผš
  1. ๆฃ€็ดข่ฝจ้“ๆ˜Ÿๅކ
  2. ่ฎก็ฎ—ไปฐ่ง’ๅ’Œๆ–œ่ท
  3. ่ฟ่กŒ LinkBudgetSkill ็กฎๅฎšไฟกๅ™ชๆฏ”ไฝ™้‡
  4. ้€š่ฟ‡ MCP ๅฏๅŠจ AFSIM ไปฟ็œŸ
  5. ๅœจไปช่กจ็›˜ไธญๅฑ•็คบ็ป“ๆžœ

็คบไพ‹ 2๏ผš้ข‘็އไผ˜ๅŒ–

็”จๆˆท๏ผšใ€Œไธบๅซๆ˜ŸBๅˆฐๅœฐ้ข็ซ™-2 ็š„้“พ่ทฏๆ‰พๅˆฐๆœ€ไผ˜้ข‘ๆฎต๏ผŒ่‡ณๅฐ‘6 dBไฝ™้‡ไธ”ๆ— ๅนฒๆ‰ฐใ€

OpenClaw ๅฐ†๏ผš
  1. ๅˆ†ๆžๅฏ็”จ้ข‘ๆฎตๅˆ†้…
  2. ๆฃ€ๆŸฅๅนฒๆ‰ฐ็Žฏๅขƒ
  3. ่ฐƒ็”จ FrequencyOptimizerSkill
  4. ๅนถ่กŒไปฟ็œŸๅคšไธชๅ€™้€‰้ข‘ๆฎต
  5. ๆŽจ่ๆœ€ไผ˜้ข‘ๆฎตๅนถ่ฏดๆ˜Ž็†็”ฑ

่‡ชๅฎšไน‰ไปฟ็œŸ๏ผˆ้ซ˜็บง็”จๆˆท๏ผ‰

่‹ฅ้œ€่ฆ็›ดๆŽฅๆŽงๅˆถ๏ผŒไนŸๅฏไปฅ็ผ–็จ‹ๆ–นๅผ่ฐƒ็”จไปฟ็œŸ๏ผš

from aermsg2dataframe import parse_aer_messages
import pymystic
import pandas as pd

# ่ฏปๅ–็Žฐๆœ‰ AFSIM ่พ“ๅ‡บ
with pymystic.Reader('scenarios/demo_output.aer') as reader:
    messages = list(reader)

# ่งฃๆžไธบ DataFrame
df_entity, df_orbital = parse_aer_messages(messages)

# ๅˆ†ๆž
print(f"ไปฟ็œŸๆ—ถ้•ฟ๏ผš{df_entity['simTime'].max()} ็ง’")
print(f"่ฟฝ่ธชๅนณๅฐ๏ผš{sorted(df_entity['platformIndex'].unique())}")

# ่ฎก็ฎ—ๆ˜Ÿ้—ด่ท็ฆป
sat1 = df_entity[df_entity['platformIndex'] == 1]
sat2 = df_entity[df_entity['platformIndex'] == 2]
if len(sat1) > 0 and len(sat2) > 0:
    distances = ((sat1[['x','y','z']].reset_index(drop=True) - 
                  sat2[['x','y','z']].reset_index(drop=True))**2).sum(axis=1)**0.5 / 1000
    print(f"ๆœ€ๅฐ่ท็ฆป๏ผš{distances.min():.1f} km๏ผŒๆœ€ๅคง่ท็ฆป๏ผš{distances.max():.1f} km")

้กน็›ฎ็ป“ๆž„

AstraLogic/
โ”œโ”€โ”€ app.py                      # ๐ŸŽจ Streamlit ไปช่กจ็›˜๏ผˆไธป็•Œ้ข๏ผ‰
โ”œโ”€โ”€ backend.py                  # โšก FastAPI ๆœๅŠกๅ™จ
โ”œโ”€โ”€ aer_read.py                 # ๐Ÿ“ก AER ไบŒ่ฟ›ๅˆถ่งฃๆžๅ™จ๏ผˆpymystic ๅฐ่ฃ…๏ผ‰
โ”œโ”€โ”€ aermsg2dataframe.py         # ๐Ÿ“Š ๆถˆๆฏ โ†’ DataFrame ่ฝฌๆขๅ™จ
โ”œโ”€โ”€ openclaw_agent.py           # ๐Ÿค– LLM ๆ™บ่ƒฝไฝ“๏ผˆ็ญนๅˆ’ไธญ๏ผ‰
โ”œโ”€โ”€ afsim_mcp_server.py         # ๐Ÿ”Œ MCP ๆœๅŠกๅ™จ็ฝ‘ๆกฅ๏ผˆ็ญนๅˆ’ไธญ๏ผ‰
โ”œโ”€โ”€ pymystic.py                 # ๐Ÿ“ฆ ๆœฌๅœฐ pymystic ๅบ“
โ”‚
โ”œโ”€โ”€ core/                       # ๆ ธๅฟƒๅฎž็”จๆจกๅ—
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ””โ”€โ”€ afsim_bridge.py         # AFSIM ้›†ๆˆๅŠฉๆ‰‹
โ”‚
โ”œโ”€โ”€ scenarios/                  # AFSIM ๅœบๆ™ฏๆ–‡ไปถ
โ”‚   โ”œโ”€โ”€ demo_2sat_1gs.txt       # 2 ้ข—ๅซๆ˜Ÿ + 1 ไธชๅœฐ้ข็ซ™
โ”‚   โ”œโ”€โ”€ demo_output.aer         # ็คบไพ‹ AFSIM ่พ“ๅ‡บ๏ผˆไบŒ่ฟ›ๅˆถ๏ผ‰
โ”‚   โ”œโ”€โ”€ demo_output.csv         # ่ฝฌๆขๅŽ็š„ CSV๏ผˆๅ‚่€ƒ๏ผ‰
โ”‚   โ””โ”€โ”€ demo_output.evt         # ไบ‹ไปถๆ—ฅๅฟ—
โ”‚
โ”œโ”€โ”€ output/                     # ็”Ÿๆˆ็š„ๆ•ฐๆฎๆ–‡ไปถ
โ”‚   โ”œโ”€โ”€ entity.csv              # ่งฃๆžๅŽ็š„ๅนณๅฐ็Šถๆ€
โ”‚   โ””โ”€โ”€ orbital.csv             # ่งฃๆžๅŽ็š„่ฝจ้“่ฆ็ด 
โ”‚
โ”œโ”€โ”€ docs/                       # ๆ–‡ๆกฃ
โ”œโ”€โ”€ brand-design-md-main/       # ่ฎพ่ฎก็ณป็ปŸ่ต„ๆบ
โ”œโ”€โ”€ README.md                   # ๆœฌๆ–‡ไปถ
โ”œโ”€โ”€ DESIGN.md                   # ๆžถๆž„ไธŽ่ฎพ่ฎก็ฌ”่ฎฐ
โ”œโ”€โ”€ requirements.txt            # ไพ่ต–ๆธ…ๅ•
โ”œโ”€โ”€ LICENSE                     # MIT ่ฎธๅฏ่ฏ
โ””โ”€โ”€ .env.example                # ็Žฏๅขƒๅ˜้‡ๆจกๆฟ๏ผˆๆš‚ๆœชไฝฟ็”จ๏ผ‰

่ทฏ็บฟๅ›พ

้‡Œ็จ‹็ข‘ ็Šถๆ€ ็›ฎๆ ‡็‰ˆๆœฌ ๆ่ฟฐ
โœ… AER ่งฃๆžๅ™จ ๅทฒๅฎŒๆˆ v0.1 AFSIM ไบŒ่ฟ›ๅˆถๅๅบๅˆ—ๅŒ–๏ผˆpymystic๏ผ‰
โœ… ไปช่กจ็›˜ๆ ธๅฟƒ ๅทฒๅฎŒๆˆ v0.1 Streamlit UI ไธŽ่ฝจ้“ๅฏ่ง†ๅŒ–
โœ… FastAPI ๅŽ็ซฏ ๅทฒๅฎŒๆˆ v0.1 ็Šถๆ€็ฎก็† REST API
๐Ÿ”จ Agent ๅฏน่ฏๆก† ่ฟ›่กŒไธญ v0.2 OpenClaw ้›†ๆˆไธŽ่‡ช็„ถ่ฏญ่จ€ๅค„็†
๐Ÿ”จ LinkBudgetSkill ่ฟ›่กŒไธญ v0.2 Eb/Nโ‚€ใ€EIRPใ€ๅนฒๆ‰ฐๅˆ†ๆž
๐Ÿ”จ MCP ๆœๅŠกๅ™จ็ฝ‘ๆกฅ ่ฟ›่กŒไธญ v0.2 ๆ— ๅคด AFSIM ๆ‰ง่กŒไธŽ็ป“ๆžœๆตๅผๅค„็†
๐Ÿ“… FrequencyOptimizerSkill ็ญนๅˆ’ไธญ v0.3 ่‡ชๅŠจ้ข‘ๆฎต้€‰ๆ‹ฉ
๐Ÿ“… ๅคšๅœบๆ™ฏไผ˜ๅŒ– ็ญนๅˆ’ไธญ v0.3 ๅนถ่กŒไปฟ็œŸไธŽๅฏนๆฏ”ๅˆ†ๆž
๐Ÿ“… ้ซ˜็บง่ฝจ้“ๅŠ›ๅญฆ ็ญนๅˆ’ไธญ v0.4 ๆ‰ฐๅŠจ้กนใ€็ขฐๆ’ž่ง„้ฟใ€ๅฐ็ซ™ไฟๆŒ
๐Ÿ“… ็ป“ๆžœๅฏผๅ‡บไธŽๆŠฅๅ‘Š ็ญนๅˆ’ไธญ v0.4 PDF ๆŠฅๅ‘Šใ€ๆ•ฐๆฎๅญ˜ๆกฃใ€ๆ‰น้‡ๅฏผๅ‡บ

่ดก็ŒฎๆŒ‡ๅ—

ๆฌข่ฟŽๆไบค Pull Requestใ€‚ๅฏนไบŽ้‡ๅคงๅ˜ๆ›ด๏ผŒ่ฏทๅ…ˆๆไบค Issue ่ฟ›่กŒ่ฎจ่ฎบใ€‚่ฏท็กฎไฟๅŒๆญฅๆ›ดๆ–ฐ็›ธๅ…ณๆต‹่ฏ•ใ€‚


่ฎธๅฏ่ฏ

ๆœฌ้กน็›ฎ้‡‡็”จ MIT ่ฎธๅฏ่ฏ๏ผŒ่ฏฆ่ง LICENSE ๆ–‡ไปถใ€‚

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages