# SyrinFlow **Repository Path**: xqshop/syrin-flow ## Basic Information - **Project Name**: SyrinFlow - **Description**: 多智能体协同 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-05 - **Last Updated**: 2026-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SyrinFlow SyrinFlow is a focused multi-agent workspace for market research. It uses Syrin for agent collaboration while keeping data, skills, tools, runs, events and reports in an application-owned persistence layer. Market-data and quantitative adapters are optional capabilities that can be added to a workflow when a research question needs them. ## Current Scope - Create and track research runs from a Vue management console. - Add multiple versioned Skills and retrieve them by name, description, body or tags. - Define Agents, controlled tools and dependency-based workflows from the management console. - Register RSS/Atom or GDELT sources, deduplicate articles and persist source provenance. - Register public-page browser sources with Playwright selectors; challenge pages are recorded as failures and never bypassed. - Persist research plans, agent events, reports and data-snapshot metadata. - Collect news, market and other approved data into normalized, checksummed snapshots. - Configure macro indicators from the console; World Bank collection is available without a key, while FRED/AKShare and paid providers use the same adapter contract and environment-secret references. - Keep market-data, backtesting and notification providers behind replaceable adapters. - Develop against SQLite locally and switch to the dedicated PostgreSQL database for sharing. ## Repository Layout ```text apps/web/ Vue 3 management console src/syrinflow/ FastAPI application and persistence models skills/ Source-controlled built-in Skill documents scripts/ Database and development utilities docs/ Architecture and integration plans vendor/syrin/ Pinned Syrin source submodule ``` ## Start ```powershell cd D:\SyrinFlow Copy-Item .env.example .env .\.venv\Scripts\python.exe -m uvicorn syrinflow.main:app --host 127.0.0.1 --port 8010 ``` In a second terminal: ```powershell cd D:\SyrinFlow\apps\web npm run dev -- --host 127.0.0.1 --port 5174 ``` Open `http://127.0.0.1:5174`. For optional browser collection and scheduling dependencies: ```powershell .\.venv\Scripts\python.exe -m pip install -e ".[collection,scheduling]" .\.venv\Scripts\playwright.exe install chromium ``` Set `SYRINFLOW_SCHEDULER_ENABLED=true` in one dedicated process to enable the cron expressions stored in each source's configuration. Keep it off in multiple API workers to avoid duplicate polling. ## Syrin native Playground The management UI above is part of SyrinFlow, not Syrin itself. To compare it with Syrin's built-in multi-agent chat and debugging Playground, run: ```powershell .\.venv\Scripts\python.exe .\scripts\serve_syrin_playground.py ``` Open `http://127.0.0.1:8020/playground`. The demo uses Syrin's local mock model, so it demonstrates the native UI and routing surface rather than real analysis. The default configuration uses a local SQLite file so the application can boot before shared PostgreSQL credentials are supplied. For shared persistence, set `SYRINFLOW_DATABASE_URL` in `.env`, then run `python scripts/create_database.py` with the administrator URL and dedicated application-role password configured. ## Status The configured market-research workflow is compiled into Syrin's native `Workflow` and executed by Syrin's `WorkflowExecutor`; its lifecycle hooks and handoffs are persisted by SyrinFlow. The generic `/api/runs` path still demonstrates a persisted Syrin `Swarm` for snapshot-oriented research, with deterministic Mock models by default. Real LLM profiles, broader quantitative tools and notification delivery are extension slices rather than hidden assumptions. The default market-research flow is staged: collection, persistence, analysis, evidence review, then report persistence. See `docs/AGENT_ORCHESTRATION.md` and the native graph endpoint `GET /api/orchestration/workflows/{workflow_id}/graph`. The current-affairs template is configurable and runs collection, database retrieval, analysis, evidence review and report publishing as persisted workflow nodes. A failed news source is recorded without stopping healthy sources. Agent responses still use deterministic Mock models until a real LLM profile is configured. Macro endpoints are available under `/api/macro`: indicator definitions, collection, latest AI Context and macro snapshot listing. Standardized observations are stored under `data/snapshots/macro`. ## Migration Current implementation status is recorded in `docs/PROJECT_STATUS.md`. Windows setup, secret handling, database backup/restore and second-computer verification are documented in `docs/TRANSFER_GUIDE.md`. Raw news, reports, database archives and `.env` are intentionally excluded from Git.