DeepEar
An open-source deep research framework that turns public opinion into actionable investment logic chains and trading signals.
Server binds 0.0.0.0 with an unauthenticated /analyze endpoint, in-memory job store, and raw exception strings returned to callers; no malicious behavior or credential exfiltration found, but least privilege, user confirmation and rollback are absent, deducting most trust points.
server.py matches the docs, import failures produce diagnostic output, and failures set an error field; however in-memory jobs plus os.chdir are not thread-safe, edge-case input handling is undocumented, and no test evidence covers this skill path.
Audience (financial analysts/quant researchers) and trigger scenario are clear with sensible defaults and documented install paths; but non-fit boundaries (unsupported markets, dependence on external LLM/search APIs) are undeclared, and core function depends on Jina/OpenAI etc., posing mainland-China reachability risk.
Repo has MIT license, version 0.1.0, well-structured README and maintenance signals (scheduled CI); but SKILL.md itself lacks known limitations, FAQ, parameter constraints, and an explicit update path, leaving troubleshooting to the user.
The declared flow (analyze → status → HTML report) is coherent and parameterized, offering wrapper value over the raw CLI; but static review cannot verify output quality, and the local report-path result's direct usability is unproven.
A scheduled CI workflow and pytest instructions exist, but neither covers this skill's API path; sample responses are hand-written JSON with no reproducible third-party execution evidence, capped at 4.
- The skill server binds 0.0.0.0 with no API authentication; on a non-isolated network anyone can submit resource-consuming jobs. Use 127.0.0.1 or add access control.
- Job state is memory-only: all jobs are lost on restart, and no data-retention or rollback policy is declared.
- Core function depends on overseas APIs (Jina, OpenAI/OpenRouter, etc.), which may be unreachable from mainland-China networks; verify connectivity and keys before use.
- Static review executed nothing; actual output quality, accuracy, and LLM cost of the workflow are unverified.
- Publisher is not verified by the FollowSkills registry; identity is treated as unknown.
What does this skill do, and when should you use it?
DeepEar is an open-source Deep Research and financial signal tracking framework from HKUSTDial, built on the Agno multi-agent architecture. It pulls news from 15+ sources including Weibo, Cailian Press, and Wall Street News, running a full pipeline from intent identification and trend spotting through signal analysis to predictive modeling and professional HTML reports with interactive logic graphs. Its core innovation is a news-projection layer added to the Kronos time-series foundation model, letting predictions account for the quantitative impact of news events. It works as a standalone Dashboard/CLI application or as an AI Agent skill for Claude Code, OpenCode, Antigravity, and similar frameworks. MIT-licensed; requires Python 3.12+.
Triggers an analysis pipeline via an HTTP API: accepts a query (e.g. "A-share tech sector"), news sources, fetch width, and analysis depth, returning a job_id; the backend then runs intent identification → multi-source news fetching → trend spotting and sentiment analysis → logic filtering with ISQ scoring → Kronos news-aware predictive modeling → Map-Reduce report writing, producing .md/.html report files whose path is retrievable via GET /status/{job_id}. Passing a run_id via update_from updates an existing analysis to track signal evolution.
- Individual investors who want fragmented social media and news information organized into structured investment logic and reports
- Quantitative researchers converting qualitative news into sentiment scores and signal indicators for backtesting or model input
- Financial analysts tracking the impact of hot topics like policy shifts or industry breakthroughs on specific sectors or stocks
- Researchers comparing signal changes, sentiment drift, and logic updates across multiple analysis runs
- AI Agent users who want Claude Code or OpenCode to trigger deep financial research on demand
What are this skill's strengths and limitations?
- Multi-agent pipeline covers the full chain from news fetching to report generation, with checkpoints and resume support
- 15+ news sources (Weibo, Cailian Press, Wall Street News, etc.) plus hybrid RAG (BM25 + vector search)
- The Kronos time-series model with a news-projection layer is a documented, distinctive prediction approach
- React dashboard for real-time agent workflow monitoring; reports include interactive Draw.io logic diagrams
- MIT license, free for commercial use, with a free hosted Lite demo
- Requires configuring multiple API keys (LLM, optional Jina), incurring ongoing usage costs
- Focused on China-market data sources (A-shares); US market support (Alpha Vantage/Yahoo Finance) is still on the roadmap, unimplemented
- Deeply tied to a specific stack (Agno framework, Kronos model, SQLite/vector DB); customization requires understanding its architecture
- The news-aware projection layer is trained on synthetic news-shock pairs verified by LLM reasoning; predictive accuracy lacks independent validation
- Details such as multi-language support and error recovery are undocumented and require reading the source
How do you install this skill?
- Clone the repository: git clone https://github.com/HKUSTDial/DeepEar.git && cd DeepEar
- Install dependencies: uv sync (requires Python 3.12+ and uv)
- Configure keys: cp .env.example .env, then fill in LLM_PROVIDER (openrouter/openai/ollama/deepseek etc.), REASONING_MODEL_ID, TOOL_MODEL_ID, and optionally JINA_API_KEY
- Install as an Agent skill: copy the skills/deepear directory to your agent's skill folder, e.g. ~/.claude/skills/ for Claude Code personal skills
How do you use this skill?
Start the skill server: uv run skills/deepear/scripts/server.py. The agent can then call POST /analyze to trigger an analysis (e.g. {"query": "A-share tech sector", "sources": "all", "wide": 10, "depth": "auto", "concurrency": 5}) and poll GET /status/{job_id} until complete to get the report_path of the HTML report. Alternatively run the CLI: uv run src/main_flow.py, or launch the Dashboard: uv run python -m dashboard.server (default invitation code DEEP-EAR-ADMIN).
How does this skill compare with similar options?
The source mentions the same team's DeepFund project (contributing financial analysis methodology) and the Awesome-finance-skills component skill collection — related ecosystem rather than direct competitors. The core differentiator versus generic LLM research tools is news-aware time-series forecasting and logic evolution tracking.