#194 by GitHub stars
wbh604/UZI-Skill
冰冷的钱就这样流进我温暖的口袋-游资(UZI)Skills — 让我们欢迎,股海贼王!66位投资大佬帮你看盘 · 22维数据 × 180条量化规则 × 17种机构分析方法 · A股/港股/美股
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3dc556bdad82
No earlier version was observed for comparison.
skills/deep-analysis/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3dc556bdad82
No earlier version was observed for comparison.
skills/investor-panel/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3dc556bdad82
No earlier version was observed for comparison.
skills/lhb-analyzer/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3dc556bdad82
No earlier version was observed for comparison.
skills/trap-detector/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 3dc556bdad82
No earlier version was observed for comparison.
Verified commit 3dc556bdad8229fad01dc54c83d6d9402ef6218c
git clone --filter=blob:none --no-checkout https://github.com/wbh604/UZI-Skill.git .hotskills/wbh604-uzi-skill && git -C .hotskills/wbh604-uzi-skill checkout --detach 3dc556bdad8229fad01dc54c83d6d9402ef6218c
# Copy each selected skill directory from .hotskills/wbh604-uzi-skill into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/wbh604/UZI-Skill.git .hotskills/wbh604-uzi-skill && git -C .hotskills/wbh604-uzi-skill checkout --detach 3dc556bdad8229fad01dc54c83d6d9402ef6218c
# Copy each selected skill directory from .hotskills/wbh604-uzi-skill into .agents/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/wbh604/UZI-Skill.git .hotskills/wbh604-uzi-skill && git -C .hotskills/wbh604-uzi-skill checkout --detach 3dc556bdad8229fad01dc54c83d6d9402ef6218c
# Copy each selected skill directory from .hotskills/wbh604-uzi-skill into .gemini/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/wbh604/UZI-Skill.git .hotskills/wbh604-uzi-skill && git -C .hotskills/wbh604-uzi-skill checkout --detach 3dc556bdad8229fad01dc54c83d6d9402ef6218c
# Copy each selected skill directory from .hotskills/wbh604-uzi-skill into .opencode/skills/<skill-name>/Heat
6.7- Star growth, last 7 daysAhead of 84% of tracked repositories
- Star growth, last 24 hoursAhead of 70% of tracked repositories
- Rank movement, last 7 daysAhead of 72% of tracked repositories
- Commits, last 30 daysAhead of 72% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- uzi
/ - deep-analysis
skills/deep-analysis - investor-panel
skills/investor-panel - lhb-analyzer
skills/lhb-analyzer - trap-detector
skills/trap-detector
How it works
uzi
When your agent uses it
A-share, Hong Kong, and US stock analysis skill for deep research, quick scans, investor panel review, hot-money/LHB analysis, trap detection, valuation, IC memos, and Bloomberg-style HTML reports.
What it loads into context
Frontmatter
130 tokensAlways available to the agent
SKILL.md
572 tokensWhen the skill is activated
Reference documents
191,125 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Default Execution
- Agent Rules
Scripts executed separately
hooks/run-hook.cmdhooks/session-startinstall-hermes.shpackage.jsonrun.pyscreen.pysetup.sh
Files
.claude-plugin/marketplace.jsonasset582 bytes.claude-plugin/plugin.jsonasset957 bytes.codex/INSTALL.mddoc2,264 bytes.cursor-plugin/plugin.jsonasset451 bytes.env.exampleasset1,005 bytes.gitattributesasset363 bytes.github/ISSUE_TEMPLATE/bug_report.mddoc375 bytes.github/ISSUE_TEMPLATE/feature_request.mddoc282 bytes.github/ISSUE_TEMPLATE/platform_support.mddoc316 bytes.github/PULL_REQUEST_TEMPLATE.mddoc316 bytes.github/workflows/tests.ymlasset938 bytes.gitignoreasset911 bytes.opencode/INSTALL.mddoc833 bytes.version-bump.jsonasset941 bytesAGENTS.mddoc19,993 bytesCLAUDE.mddoc2,125 bytesCODEX.mddoc5,903 bytesCODE_OF_CONDUCT.mddoc519 bytesCONTRIBUTORS.mddoc833 bytesGEMINI.mddoc614 bytesINSTALL-HERMES.mddoc7,756 bytesLICENSEasset1,069 bytesREADME.mddoc82,408 bytesREADME_EN.mddoc27,900 bytesRELEASE-NOTES.mddoc199,034 bytesSKILL.mdcore2,417 bytesSKILL.mdcore2,417 bytesSKILL.mdcore2,417 bytesSKILL.mdcore2,417 bytesagents/investor-panel.mddoc4,837 bytescommands/ai-readiness.mddoc2,035 bytescommands/analyze-stock.mddoc7,616 bytescommands/catalysts.mddoc973 bytescommands/comps.mddoc970 bytescommands/dcf.mddoc1,333 bytescommands/dd.mddoc1,373 bytescommands/earnings-preview.mddoc2,503 bytescommands/earnings.mddoc1,015 bytescommands/ic-memo.mddoc1,154 bytescommands/initiate.mddoc1,093 bytescommands/lbo.mddoc1,115 bytescommands/model-update.mddoc3,648 bytescommands/panel-only.mddoc765 bytescommands/quick-scan.mddoc743 bytescommands/rebalance.mddoc2,799 bytescommands/returns.mddoc2,752 bytescommands/scan-trap.mddoc779 bytescommands/screen.mddoc863 bytescommands/segmental-model.mddoc4,286 bytescommands/thesis.mddoc1,140 bytesdocs/BUGS-LOG.mddoc130,199 bytesdocs/DATA-PROVIDERS.mddoc5,240 bytesdocs/TEST-PLAN-v2.10.3.mddoc13,102 bytesdocs/ghzw-dossier.mddoc4,769 bytesdocs/maintenance-2026-10-16.mddoc4,007 bytesdocs/maintenance-2026-10-17.mddoc4,932 bytesdocs/panel-evidence-status.mddoc2,820 bytesdocs/panel-model-validation.mddoc983 bytesdocs/plans/2026-08-05-global-peer-comparison.mddoc3,257 bytesdocs/screenshots/76fd0d2420e4c1a646514670c918dcf5.jpgasset164,287 bytesdocs/screenshots/8501bb4280cc56c809c0a19619e49c82.jpgasset138,399 bytesdocs/screenshots/8878ccbf56ed23a256abac155438a9fb.jpgasset179,401 bytesdocs/screenshots/b8869535930c6e362545990e98f24890.jpgasset168,108 bytesdocs/screenshots/b9857c297761d9420c45285b4fce2255.jpgasset173,392 bytesdocs/screenshots/chat-room.pngasset358,708 bytesdocs/screenshots/dcf-model.pngasset173,157 bytesdocs/screenshots/deep-scan.pngasset288,993 bytesdocs/screenshots/eb89e22967bb7f7d798295121bb0d28f.jpgasset165,509 bytesdocs/screenshots/great-divide.pngasset564,456 bytesdocs/screenshots/hero-score.pngasset559,729 bytesdocs/screenshots/ic-memo.pngasset136,820 bytesdocs/screenshots/institutional.pngasset254,876 bytesdocs/screenshots/jury-seats.pngasset391,001 bytesdocs/screenshots/mmqrcode1776619933600.pngasset217,647 bytesdocs/screenshots/share-card.pngasset3,027,225 bytesdocs/screenshots/war-report.pngasset963,951 bytesdocs/screenshots/wechat-group.jpgasset170,426 bytesdocs/serenity-research-dossier.mddoc24,903 bytesdocs/superpowers/specs/2026-06-03-serenity-role-design.mddoc8,963 bytesgemini-extension.jsonasset231 byteshooks/README.mddoc1,640 byteshooks/hooks-cursor.jsonasset124 byteshooks/hooks.jsonasset473 byteshooks/run-hook.cmdruns908 byteshooks/session-startruns2,938 bytesinstall-hermes.shruns7,338 bytespackage.jsonruns658 bytesreferences/macro-calendar.mddoc3,993 bytesrequirements.txtdoc877 bytesrun.pyruns39,533 bytesscreen.pyruns365 bytessetup.shruns3,261 bytes
Read SKILL.md
# UZI Skill Root
This root file is the top-level entry for agents that expect a `SKILL.md` at the repository root.
Use the narrowest matching workflow:
- Full stock research, valuation, IC memo, initiation, catalysts, earnings review, or HTML report:
read `skills/deep-analysis/SKILL.md`.
- Investor jury, "which investors would buy", panel-only voting, or persona review:
read `skills/investor-panel/SKILL.md`.
- Hot-money, LHB, seat recognition, or A-share short-term trader analysis:
read `skills/lhb-analyzer/SKILL.md`.
- Trap detection, pump-and-dump checks, "teacher/group/friend recommended this stock", or safety review:
read `skills/trap-detector/SKILL.md`.View the complete source on GitHubdeep-analysis
When your agent uses it
个股深度分析的核心工作流。当用户要求"深度分析 / 全面分析 / 帮我看看 / 值不值得买 / DCF / 机构建模 / 首次覆盖 / 投委会备忘录"等涉及个股研究的请求时触发。覆盖 A 股、港股、美股,产出 22 维数据 + 66 位大佬量化评审 + 6 种机构级估值建模 (DCF/Comps/LBO/3-Stmt/Merger) + 7 种研究产物 (首次覆盖/财报解读/催化剂日历/投资逻辑追踪/晨报/量化筛选/行业综述) + 6 种决策方法 (IC Memo/DD/Porter/单位经济/VCP/再平衡) + 杀猪盘检测,最终生成 Bloomberg 风格 HTML 报告 + 社交分享战报。关键词:股票、个股、深度分析、估值、DCF、comps、首次覆盖、IC memo、杀猪盘、龙虎榜、akshare。
What it loads into context
Frontmatter
323 tokensAlways available to the agent
SKILL.md
17,249 tokensWhen the skill is activated
Reference documents
47,922 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 🎯 角色定位(非常重要)
- ⛔ 硬性门控规则(违反即停止)
- 📊 进度条规范
- 📋 6 Task 概览
- ⚡ 两段式执行(数据靠脚本,判断靠你)
- 🚀 详细流程(run.py 跑完后的人工审查)
- 🖥<U+FE0F> Codex / 远程环境适配
- 🎛<U+FE0F> 模式选择
- 📁 数据契约 & 文件路径
- 🔧 工具箱速查
- 📚 详细参考文档
- ✅ 完成定义
Scripts executed separately
../../screen.pyrun.pyscripts/assemble_report.pyscripts/compute_deep_methods.pyscripts/compute_friendly.pyscripts/compute_segmental.pyscripts/fetch_basic.pyscripts/fetch_capital_flow.pyscripts/fetch_chain.pyscripts/fetch_contests.pyscripts/fetch_events.pyscripts/fetch_financials.pyscripts/fetch_fund_holders.pyscripts/fetch_futures.pyscripts/fetch_governance.pyscripts/fetch_industry.pyscripts/fetch_kline.pyscripts/fetch_lhb.pyscripts/fetch_macro.pyscripts/fetch_materials.pyscripts/fetch_moat.pyscripts/fetch_peers.pyscripts/fetch_policy.pyscripts/fetch_research.pyscripts/fetch_sentiment.pyscripts/fetch_similar_stocks.pyscripts/fetch_trap_signals.pyscripts/fetch_valuation.pyscripts/gen_pixel_avatars.pyscripts/inline_assets.pyscripts/lib/__init__.pyscripts/lib/agent_analysis_validator.pyscripts/lib/agent_review.pyscripts/lib/analysis_profile.pyscripts/lib/cache.pyscripts/lib/daily_screen/__init__.pyscripts/lib/daily_screen/events.pyscripts/lib/daily_screen/execution.pyscripts/lib/daily_screen/models.pyscripts/lib/daily_screen/personas.pyscripts/lib/daily_screen/ranker.pyscripts/lib/daily_screen/renderer.pyscripts/lib/daily_screen/runner.pyscripts/lib/daily_screen/sources.pyscripts/lib/daily_screen/themes.pyscripts/lib/daily_screen/tracker.pyscripts/lib/daily_screen/universe.pyscripts/lib/data_integrity.pyscripts/lib/data_source_registry.pyscripts/lib/data_sources.pyscripts/lib/deep_analysis_methods.pyscripts/lib/event_integrity.pyscripts/lib/feature_evidence.pyscripts/lib/fin_models.pyscripts/lib/fund_holdings_runner.pyscripts/lib/global_peers.pyscripts/lib/hk_data_sources.pyscripts/lib/hottrend.pyscripts/lib/i18n.pyscripts/lib/industry_mapping.pyscripts/lib/investor_criteria.pyscripts/lib/investor_db.pyscripts/lib/investor_evaluator.pyscripts/lib/investor_knowledge.pyscripts/lib/investor_personas.pyscripts/lib/investor_profile.pyscripts/lib/junk_filter.pyscripts/lib/lhb_evidence.pyscripts/lib/market_router.pyscripts/lib/mx_api.pyscripts/lib/name_matcher.pyscripts/lib/net_timeout_guard.pyscripts/lib/network_preflight.pyscripts/lib/news_providers.pyscripts/lib/panel_evidence.pyscripts/lib/panel_status.pyscripts/lib/personas.pyscripts/lib/pipeline/__init__.pyscripts/lib/pipeline/base_fetcher.pyscripts/lib/pipeline/collect.pyscripts/lib/pipeline/compare.pyscripts/lib/pipeline/fetchers/__init__.pyscripts/lib/pipeline/fetchers/registry.pyscripts/lib/pipeline/preflight_helpers.pyscripts/lib/pipeline/process_runner.pyscripts/lib/pipeline/renderer/__init__.pyscripts/lib/pipeline/renderer/base.pyscripts/lib/pipeline/renderer/basic_header.pyscripts/lib/pipeline/renderer/capital_flow.pyscripts/lib/pipeline/renderer/chain.pyscripts/lib/pipeline/renderer/contests.pyscripts/lib/pipeline/renderer/events.pyscripts/lib/pipeline/renderer/financials.pyscripts/lib/pipeline/renderer/fund.pyscripts/lib/pipeline/renderer/futures.pyscripts/lib/pipeline/renderer/governance.pyscripts/lib/pipeline/renderer/industry.pyscripts/lib/pipeline/renderer/kline.pyscripts/lib/pipeline/renderer/lhb.pyscripts/lib/pipeline/renderer/macro.pyscripts/lib/pipeline/renderer/materials.pyscripts/lib/pipeline/renderer/moat.pyscripts/lib/pipeline/renderer/peers.pyscripts/lib/pipeline/renderer/policy.pyscripts/lib/pipeline/renderer/registry.pyscripts/lib/pipeline/renderer/research.pyscripts/lib/pipeline/renderer/sentiment.pyscripts/lib/pipeline/renderer/trap.pyscripts/lib/pipeline/renderer/valuation.pyscripts/lib/pipeline/run.pyscripts/lib/pipeline/schema.pyscripts/lib/pipeline/score.pyscripts/lib/pipeline/score_fns.pyscripts/lib/pipeline/synthesize.pyscripts/lib/pipeline/validators.pyscripts/lib/playwright_fallback.pyscripts/lib/portfolio_runner.pyscripts/lib/providers/__init__.pyscripts/lib/providers/__main__.pyscripts/lib/providers/akshare_provider.pyscripts/lib/providers/baostock_provider.pyscripts/lib/providers/direct_http_provider.pyscripts/lib/providers/efinance_provider.pyscripts/lib/providers/tushare_provider.pyscripts/lib/quant_signal.pyscripts/lib/report/__init__.pyscripts/lib/report/dim_viz.pyscripts/lib/report/global_peers.pyscripts/lib/report/institutional.pyscripts/lib/report/panel_cards.pyscripts/lib/report/security.pyscripts/lib/report/segmental.pyscripts/lib/report/special_cards.pyscripts/lib/report/svg_primitives.pyscripts/lib/research_workflow.pyscripts/lib/seat_db.pyscripts/lib/segmental_model.pyscripts/lib/self_review.pyscripts/lib/stock_features.pyscripts/lib/stock_style.pyscripts/lib/tier1/__init__.pyscripts/lib/tier1/ai_readiness.pyscripts/lib/tier1/earnings_preview.pyscripts/lib/tier1/model_update.pyscripts/lib/tier1/rebalance.pyscripts/lib/tier1/returns_attrib.pyscripts/lib/update_check.pyscripts/lib/valuation_fields.pyscripts/lib/versus_runner.pyscripts/lib/web_search.pyscripts/lib/xueqiu_browser.pyscripts/preview_with_mock.pyscripts/prewarm_cache.pyscripts/render_panel_web.pyscripts/render_share_card.pyscripts/render_war_report.pyscripts/review_stage_output.pyscripts/run_real_test.pyscripts/screen.pyscripts/tests/pipeline/__init__.pyscripts/tests/pipeline/test_all_renderers.pyscripts/tests/pipeline/test_base_fetcher.pyscripts/tests/pipeline/test_collect.pyscripts/tests/pipeline/test_compare.pyscripts/tests/pipeline/test_fetcher_registry.pyscripts/tests/pipeline/test_fund_renderer.pyscripts/tests/pipeline/test_process_runner.pyscripts/tests/pipeline/test_renderer_registry.pyscripts/tests/pipeline/test_run_pipeline.pyscripts/tests/pipeline/test_run_py_integration.pyscripts/tests/pipeline/test_schema.pyscripts/tests/pipeline/test_validators.pyscripts/tests/test_agent_review_freshness.pyscripts/tests/test_announcement_identity.pyscripts/tests/test_audit_regressions.pyscripts/tests/test_basic_name_fallback.pyscripts/tests/test_daily_screen.pyscripts/tests/test_daily_screen_sources.pyscripts/tests/test_feature_evidence_and_holdings.pyscripts/tests/test_global_peer_comparison.pyscripts/tests/test_html_escape_boundary.pyscripts/tests/test_issue100_101_review_integrity.pyscripts/tests/test_issue73_74_robustness.pyscripts/tests/test_issue76_hermes_trigger_docs.pyscripts/tests/test_issue87_em_direct_and_comps.pyscripts/tests/test_issue90_us_financials_ttm.pyscripts/tests/test_lhb_date_format_fix.pyscripts/tests/test_loss_making_stock_recovery.pyscripts/tests/test_market_status.pyscripts/tests/test_mx_coverage_fallback.pyscripts/tests/test_no_regressions.pyscripts/tests/test_panel_evidence_status.pyscripts/tests/test_panel_model_gates.pyscripts/tests/test_panel_web.pyscripts/tests/test_pr75_pipeline_market_metadata.pyscripts/tests/test_pr88_missing_data_truthfulness.pyscripts/tests/test_pr93_template_rendering.pyscripts/tests/test_pr_integration_regressions.pyscripts/tests/test_providers_chain.pyscripts/tests/test_serenity_rules.pyscripts/tests/test_short_mandate_consensus.pyscripts/tests/test_tier1_ai_readiness.pyscripts/tests/test_tier1_earnings_preview.pyscripts/tests/test_tier1_model_update.pyscripts/tests/test_tier1_rebalance.pyscripts/tests/test_tier1_returns.pyscripts/tests/test_v2_10_4_fixes.pyscripts/tests/test_v2_11_scoring_calibration.pyscripts/tests/test_v2_12_1_data_fixes.pyscripts/tests/test_v2_12_hottrend.pyscripts/tests/test_v2_13_3_investor_rules.pyscripts/tests/test_v2_13_4_new_sources.pyscripts/tests/test_v2_13_5_preflight_adaptive.pyscripts/tests/test_v2_13_6_news_futures.pyscripts/tests/test_v2_13_7_wire_new_sources.pyscripts/tests/test_v2_13_playwright_strategy.pyscripts/tests/test_v2_14_0_update_check.pyscripts/tests/test_v2_15_0_persona_layer.pyscripts/tests/test_v2_15_1_fund_lite_rendering.pyscripts/tests/test_v2_15_2_network_enhance.pyscripts/tests/test_v2_15_3_capital_flow_cache.pyscripts/tests/test_v2_15_4_school_scores.pyscripts/tests/test_v3_3_2_issue_fixes.pyscripts/tests/test_v3_3_3_pr_fixes.pyscripts/tests/test_v3_3_4_minirackerguard.pyscripts/tests/test_v3_4_0_fund_holdings.pyscripts/tests/test_v3_4_1_verdict_granularity.pyscripts/tests/test_v3_4_2_baostock_fallback.pyscripts/tests/test_v3_4_3_mutual_fund_classification.pyscripts/tests/test_v3_4_4_banner_ux.pyscripts/tests/test_v3_4_5_youzi_lhb_and_lowconf.pyscripts/tests/test_v3_5_0_school_lock.pyscripts/tests/test_v3_6_0_phase_a_visual.pyscripts/tests/test_v3_6_0_phase_b_versus.pyscripts/tests/test_v3_6_0_phase_c_portfolio.pyscripts/tests/test_v3_6_1_install_hermes.pyscripts/tests/test_v3_6_2_cninfo_and_pip.pyscripts/tests/test_v3_7_0_new_tech_investors.pyscripts/tests/test_v3_7_2_html_escape.pyscripts/tests/test_v3_8_0_serenity_dupont_indicators.pyscripts/tests/test_v3_8_1_audit_fixes.pyscripts/tests/test_v3_9_0_ghzw.pyscripts/tests/test_v3_9_1_toc_collapse.pyscripts/tests/test_v3_9_2_flow_bugfixes.py
Files
../../screen.pyruns365 bytesSKILL.mdcore56,377 bytesSKILL.mdcore56,377 bytesSKILL.mdcore56,377 bytesSKILL.mdcore56,377 bytesSKILL.mdcore56,377 bytesSKILL.mdcore56,377 bytesSKILL.mdcore56,377 bytesSKILL.mdcore56,377 bytesSKILL.mdcore56,377 bytesSKILL.mdcore56,377 bytesSKILL.mdcore56,377 bytesSKILL.mdcore56,377 bytesSKILL.mdcore56,377 bytesSKILL.mdcore56,377 bytesassets/avatars/altman.svgasset1,773 bytesassets/avatars/andreessen.svgasset1,784 bytesassets/avatars/asness.svgasset1,836 bytesassets/avatars/bj_cj.svgasset1,600 bytesassets/avatars/buffett.svgasset1,996 bytesassets/avatars/burry.svgasset1,987 bytesassets/avatars/chamath.svgasset2,065 bytesassets/avatars/chanos.svgasset1,705 bytesassets/avatars/chen_xq.svgasset1,827 bytesassets/avatars/chengdu.svgasset1,869 bytesassets/avatars/dalio.svgasset1,778 bytesassets/avatars/darvas.svgasset1,922 bytesassets/avatars/dengxiaofeng.svgasset1,763 bytesassets/avatars/druck.svgasset1,766 bytesassets/avatars/duan.svgasset1,698 bytesassets/avatars/fang_xx.svgasset1,862 bytesassets/avatars/fengliu.svgasset1,969 bytesassets/avatars/fisher.svgasset1,622 bytesassets/avatars/fs_wyj.svgasset1,635 bytesassets/avatars/gann.svgasset1,953 bytesassets/avatars/gerstner.svgasset1,806 bytesassets/avatars/ghzw.svgasset1,622 bytesassets/avatars/graham.svgasset1,695 bytesassets/avatars/gu_bl.svgasset1,965 bytesassets/avatars/gurley.svgasset2,440 bytesassets/avatars/hu_jl.svgasset1,821 bytesassets/avatars/jensen_huang.svgasset1,833 bytesassets/avatars/jiao_yy.svgasset1,673 bytesassets/avatars/klarman.svgasset1,924 bytesassets/avatars/lasa.svgasset1,802 bytesassets/avatars/liu_sh.svgasset1,688 bytesassets/avatars/liuyi_zl.svgasset1,604 bytesassets/avatars/livermore.svgasset1,872 bytesassets/avatars/lynch.svgasset1,683 bytesassets/avatars/mao_lb.svgasset1,864 bytesassets/avatars/marks.svgasset1,616 bytesassets/avatars/minervini.svgasset1,678 bytesassets/avatars/munger.svgasset1,839 bytesassets/avatars/musk.svgasset1,640 bytesassets/avatars/naval.svgasset1,806 bytesassets/avatars/ningbo_st.svgasset1,921 bytesassets/avatars/oneill.svgasset2,128 bytesassets/avatars/robertson.svgasset1,806 bytesassets/avatars/saylor.svgasset1,738 bytesassets/avatars/serenity.svgasset1,794 bytesassets/avatars/shaw.svgasset2,003 bytesassets/avatars/simons.svgasset1,945 bytesassets/avatars/soros.svgasset1,936 bytesassets/avatars/sun_ge.svgasset1,912 bytesassets/avatars/sunan.svgasset2,275 bytesassets/avatars/templeton.svgasset1,702 bytesassets/avatars/thiel.svgasset2,024 bytesassets/avatars/thorp.svgasset1,798 bytesassets/avatars/wang_zr.svgasset2,111 bytesassets/avatars/wood.svgasset1,662 bytesassets/avatars/xiao_ey.svgasset2,104 bytesassets/avatars/xiao_xian.svgasset2,105 bytesassets/avatars/xiezhiyu.svgasset1,820 bytesassets/avatars/xin_dd.svgasset2,105 bytesassets/avatars/yangjia.svgasset2,078 bytesassets/avatars/zhang_lei.svgasset1,953 bytesassets/avatars/zhang_mz.svgasset1,689 bytesassets/avatars/zhangkun.svgasset1,866 bytesassets/avatars/zhao_lg.svgasset1,810 bytesassets/avatars/zhushaoxing.svgasset1,697 bytesassets/avatars/zuoshou.svgasset1,868 bytesassets/data-contracts.mddoc10,513 bytesassets/disclaimer.mddoc1,740 bytesassets/quality-checklist.mddoc2,141 bytesassets/report-template.htmlasset130,443 bytespersonas/bj_cj.yamlasset951 bytespersonas/buffett.yamlasset2,183 bytespersonas/chen_xq.yamlasset952 bytespersonas/chengdu.yamlasset952 bytespersonas/dalio.yamlasset2,049 bytespersonas/darvas.yamlasset940 bytespersonas/dengxiaofeng.yamlasset961 bytespersonas/druck.yamlasset943 bytespersonas/duan.yamlasset2,128 bytespersonas/fang_xx.yamlasset952 bytespersonas/fengliu.yamlasset948 bytespersonas/fisher.yamlasset2,529 bytespersonas/fs_wyj.yamlasset956 bytespersonas/gann.yamlasset933 bytespersonas/graham.yamlasset2,264 bytespersonas/gu_bl.yamlasset948 bytespersonas/hu_jl.yamlasset948 bytespersonas/jiao_yy.yamlasset952 bytespersonas/klarman.yamlasset953 bytespersonas/lasa.yamlasset949 bytespersonas/liu_sh.yamlasset950 bytespersonas/liuyi_zl.yamlasset957 bytespersonas/livermore.yamlasset949 bytespersonas/lynch.yamlasset2,542 bytespersonas/mao_lb.yamlasset950 bytespersonas/marks.yamlasset948 bytespersonas/minervini.yamlasset952 bytespersonas/munger.yamlasset2,318 bytespersonas/ningbo_st.yamlasset962 bytespersonas/oneill.yamlasset943 bytespersonas/robertson.yamlasset945 bytespersonas/shaw.yamlasset936 bytespersonas/simons.yamlasset938 bytespersonas/soros.yamlasset2,348 bytespersonas/sun_ge.yamlasset947 bytespersonas/sunan.yamlasset948 bytespersonas/templeton.yamlasset957 bytespersonas/thiel.yamlasset946 bytespersonas/thorp.yamlasset933 bytespersonas/wang_zr.yamlasset952 bytespersonas/wood.yamlasset2,542 bytespersonas/xiao_ey.yamlasset952 bytespersonas/xiao_xian.yamlasset956 bytespersonas/xiezhiyu.yamlasset953 bytespersonas/xin_dd.yamlasset950 bytespersonas/yangjia.yamlasset955 bytespersonas/zhang_mz.yamlasset2,431 bytespersonas/zhangkun.yamlasset2,183 bytespersonas/zhao_lg.yamlasset2,541 bytespersonas/zhushaoxing.yamlasset959 bytespersonas/zuoshou.yamlasset955 bytesreferences/data-sources.mddoc17,336 bytesreferences/fin-methods/README.mddoc5,664 bytesreferences/fin-methods/ai-readiness.mddoc5,857 bytesreferences/fin-methods/earnings-preview.mddoc5,238 bytesreferences/fin-methods/model-update.mddoc5,125 bytesreferences/fin-methods/rebalance.mddoc4,827 bytesreferences/fin-methods/returns-attribution.mddoc4,766 bytesreferences/fin-methods/serenity-bottleneck.mddoc8,070 bytesreferences/task1-data-collection.mddoc8,539 bytesreferences/task1.5-institutional-modeling.mddoc4,789 bytesreferences/task2-dimension-scoring.mddoc4,668 bytesreferences/task2.5-qualitative-deep-dive.mddoc22,258 bytesreferences/task3-agent-evaluation.mddoc7,730 bytesreferences/task3-investor-panel.mddoc3,579 bytesreferences/task4-synthesis.mddoc8,082 bytesreferences/task5-report-assembly.mddoc5,086 bytesrequirements.txtdoc736 bytesrun.pyruns24,774 bytesscripts/assemble_report.pyruns31,268 bytesscripts/compute_deep_methods.pyruns11,991 bytesscripts/compute_friendly.pyruns6,454 bytesscripts/compute_segmental.pyruns3,610 bytesscripts/fetch_basic.pyruns3,759 bytesscripts/fetch_capital_flow.pyruns11,231 bytesscripts/fetch_chain.pyruns6,796 bytesscripts/fetch_contests.pyruns12,209 bytesscripts/fetch_events.pyruns13,700 bytesscripts/fetch_financials.pyruns35,293 bytesscripts/fetch_fund_holders.pyruns17,231 bytesscripts/fetch_futures.pyruns4,701 bytesscripts/fetch_governance.pyruns1,535 bytesscripts/fetch_industry.pyruns10,695 bytesscripts/fetch_kline.pyruns11,159 bytesscripts/fetch_lhb.pyruns4,055 bytesscripts/fetch_macro.pyruns3,168 bytesscripts/fetch_materials.pyruns5,686 bytesscripts/fetch_moat.pyruns7,393 bytesscripts/fetch_peers.pyruns16,262 bytesscripts/fetch_policy.pyruns5,021 bytesscripts/fetch_research.pyruns5,590 bytesscripts/fetch_sentiment.pyruns5,667 bytesscripts/fetch_similar_stocks.pyruns13,253 bytesscripts/fetch_trap_signals.pyruns4,881 bytesscripts/fetch_valuation.pyruns16,362 bytesscripts/gen_pixel_avatars.pyruns3,580 bytesscripts/inline_assets.pyruns2,027 bytesscripts/lib/__init__.pyruns484 bytesscripts/lib/agent_analysis_validator.pyruns11,935 bytesscripts/lib/agent_review.pyruns2,898 bytesscripts/lib/analysis_profile.pyruns10,942 bytesscripts/lib/cache.pyruns5,692 bytesscripts/lib/daily_screen/__init__.pyruns106 bytesscripts/lib/daily_screen/events.pyruns5,182 bytesscripts/lib/daily_screen/execution.pyruns3,450 bytesscripts/lib/daily_screen/models.pyruns1,980 bytesscripts/lib/daily_screen/personas.pyruns11,047 bytesscripts/lib/daily_screen/ranker.pyruns6,046 bytesscripts/lib/daily_screen/renderer.pyruns9,409 bytesscripts/lib/daily_screen/runner.pyruns8,332 bytesscripts/lib/daily_screen/sources.pyruns11,223 bytesscripts/lib/daily_screen/themes.pyruns2,201 bytesscripts/lib/daily_screen/tracker.pyruns830 bytesscripts/lib/daily_screen/universe.pyruns4,551 bytesscripts/lib/data_integrity.pyruns15,273 bytesscripts/lib/data_source_registry.pyruns27,462 bytesscripts/lib/data_sources.pyruns71,176 bytesscripts/lib/deep_analysis_methods.pyruns27,371 bytesscripts/lib/event_integrity.pyruns2,821 bytesscripts/lib/feature_evidence.pyruns13,168 bytesscripts/lib/fin_models.pyruns27,081 bytesscripts/lib/fund_holdings_runner.pyruns10,082 bytesscripts/lib/global_peers.pyruns24,091 bytesscripts/lib/hk_data_sources.pyruns13,066 bytesscripts/lib/hottrend.pyruns14,368 bytesscripts/lib/i18n.pyruns1,535 bytesscripts/lib/industry_mapping.pyruns14,624 bytesscripts/lib/investor_criteria.pyruns65,581 bytesscripts/lib/investor_db.pyruns16,440 bytesscripts/lib/investor_evaluator.pyruns21,008 bytesscripts/lib/investor_knowledge.pyruns15,583 bytesscripts/lib/investor_personas.pyruns40,277 bytesscripts/lib/investor_profile.pyruns16,809 bytesscripts/lib/junk_filter.pyruns1,295 bytesscripts/lib/lhb_evidence.pyruns2,539 bytesscripts/lib/market_router.pyruns11,538 bytesscripts/lib/mx_api.pyruns8,583 bytesscripts/lib/name_matcher.pyruns5,847 bytesscripts/lib/net_timeout_guard.pyruns1,762 bytesscripts/lib/network_preflight.pyruns17,059 bytesscripts/lib/news_providers.pyruns10,133 bytesscripts/lib/panel_evidence.pyruns5,434 bytesscripts/lib/panel_status.pyruns816 bytesscripts/lib/personas.pyruns10,078 bytesscripts/lib/pipeline/MIGRATION.mddoc14,637 bytesscripts/lib/pipeline/__init__.pyruns1,164 bytesscripts/lib/pipeline/base_fetcher.pyruns4,260 bytesscripts/lib/pipeline/collect.pyruns15,395 bytesscripts/lib/pipeline/compare.pyruns6,289 bytesscripts/lib/pipeline/fetchers/__init__.pyruns765 bytesscripts/lib/pipeline/fetchers/registry.pyruns11,780 bytesscripts/lib/pipeline/preflight_helpers.pyruns10,933 bytesscripts/lib/pipeline/process_runner.pyruns5,575 bytesscripts/lib/pipeline/renderer/__init__.pyruns480 bytesscripts/lib/pipeline/renderer/base.pyruns2,842 bytesscripts/lib/pipeline/renderer/basic_header.pyruns2,197 bytesscripts/lib/pipeline/renderer/capital_flow.pyruns1,890 bytesscripts/lib/pipeline/renderer/chain.pyruns1,613 bytesscripts/lib/pipeline/renderer/contests.pyruns1,394 bytesscripts/lib/pipeline/renderer/events.pyruns1,883 bytesscripts/lib/pipeline/renderer/financials.pyruns1,890 bytesscripts/lib/pipeline/renderer/fund.pyruns13,217 bytesscripts/lib/pipeline/renderer/futures.pyruns927 bytesscripts/lib/pipeline/renderer/governance.pyruns990 bytesscripts/lib/pipeline/renderer/industry.pyruns2,082 bytesscripts/lib/pipeline/renderer/kline.pyruns1,952 bytesscripts/lib/pipeline/renderer/lhb.pyruns1,449 bytesscripts/lib/pipeline/renderer/macro.pyruns972 bytesscripts/lib/pipeline/renderer/materials.pyruns1,575 bytesscripts/lib/pipeline/renderer/moat.pyruns2,327 bytesscripts/lib/pipeline/renderer/peers.pyruns2,215 bytesscripts/lib/pipeline/renderer/policy.pyruns1,194 bytesscripts/lib/pipeline/renderer/registry.pyruns1,989 bytesscripts/lib/pipeline/renderer/research.pyruns1,809 bytesscripts/lib/pipeline/renderer/sentiment.pyruns1,861 bytesscripts/lib/pipeline/renderer/trap.pyruns1,830 bytesscripts/lib/pipeline/renderer/valuation.pyruns1,381 bytesscripts/lib/pipeline/run.pyruns5,351 bytesscripts/lib/pipeline/schema.pyruns6,058 bytesscripts/lib/pipeline/score.pyruns6,152 bytesscripts/lib/pipeline/score_fns.pyruns70,312 bytesscripts/lib/pipeline/synthesize.pyruns708 bytesscripts/lib/pipeline/validators.pyruns4,860 bytesscripts/lib/playwright_fallback.pyruns27,254 bytesscripts/lib/portfolio_runner.pyruns17,984 bytesscripts/lib/providers/__init__.pyruns6,182 bytesscripts/lib/providers/__main__.pyruns2,640 bytesscripts/lib/providers/akshare_provider.pyruns1,397 bytesscripts/lib/providers/baostock_provider.pyruns3,621 bytesscripts/lib/providers/direct_http_provider.pyruns10,931 bytesscripts/lib/providers/efinance_provider.pyruns3,197 bytesscripts/lib/providers/tushare_provider.pyruns6,824 bytesscripts/lib/quant_signal.pyruns15,415 bytesscripts/lib/report/__init__.pyruns0 bytesscripts/lib/report/dim_viz.pyruns41,126 bytesscripts/lib/report/global_peers.pyruns8,818 bytesscripts/lib/report/institutional.pyruns37,618 bytesscripts/lib/report/panel_cards.pyruns8,623 bytesscripts/lib/report/security.pyruns1,277 bytesscripts/lib/report/segmental.pyruns22,835 bytesscripts/lib/report/special_cards.pyruns27,737 bytesscripts/lib/report/svg_primitives.pyruns29,508 bytesscripts/lib/research_workflow.pyruns31,743 bytesscripts/lib/seat_db.pyruns10,591 bytesscripts/lib/segmental_model.pyruns19,599 bytesscripts/lib/self_review.pyruns30,646 bytesscripts/lib/stock_features.pyruns37,995 bytesscripts/lib/stock_style.pyruns15,379 bytesscripts/lib/tier1/__init__.pyruns1,275 bytesscripts/lib/tier1/ai_readiness.pyruns12,263 bytesscripts/lib/tier1/earnings_preview.pyruns18,183 bytesscripts/lib/tier1/model_update.pyruns22,865 bytesscripts/lib/tier1/rebalance.pyruns15,227 bytesscripts/lib/tier1/returns_attrib.pyruns10,363 bytesscripts/lib/update_check.pyruns6,278 bytesscripts/lib/valuation_fields.pyruns638 bytesscripts/lib/versus_runner.pyruns17,889 bytesscripts/lib/web_search.pyruns10,840 bytesscripts/lib/xueqiu_browser.pyruns11,572 bytesscripts/preview_with_mock.pyruns33,048 bytesscripts/prewarm_cache.pyruns9,478 bytesscripts/render_panel_web.pyruns13,298 bytesscripts/render_share_card.pyruns2,026 bytesscripts/render_war_report.pyruns523 bytesscripts/review_stage_output.pyruns1,954 bytesscripts/run_real_test.pyruns45,446 bytesscripts/screen.pyruns2,127 bytesscripts/tests/pipeline/__init__.pyruns0 bytesscripts/tests/pipeline/test_all_renderers.pyruns5,776 bytesscripts/tests/pipeline/test_base_fetcher.pyruns3,183 bytesscripts/tests/pipeline/test_collect.pyruns1,878 bytesscripts/tests/pipeline/test_compare.pyruns3,096 bytesscripts/tests/pipeline/test_fetcher_registry.pyruns4,603 bytesscripts/tests/pipeline/test_fund_renderer.pyruns5,092 bytesscripts/tests/pipeline/test_process_runner.pyruns1,827 bytesscripts/tests/pipeline/test_renderer_registry.pyruns4,119 bytesscripts/tests/pipeline/test_run_pipeline.pyruns1,250 bytesscripts/tests/pipeline/test_run_py_integration.pyruns1,538 bytesscripts/tests/pipeline/test_schema.pyruns2,962 bytesscripts/tests/pipeline/test_validators.pyruns6,058 bytesscripts/tests/test_agent_review_freshness.pyruns2,630 bytesscripts/tests/test_announcement_identity.pyruns6,715 bytesscripts/tests/test_audit_regressions.pyruns10,452 bytesscripts/tests/test_basic_name_fallback.pyruns4,869 bytesscripts/tests/test_daily_screen.pyruns3,440 bytesscripts/tests/test_daily_screen_sources.pyruns12,637 bytesscripts/tests/test_feature_evidence_and_holdings.pyruns14,865 bytesscripts/tests/test_global_peer_comparison.pyruns20,772 bytesscripts/tests/test_html_escape_boundary.pyruns1,629 bytesscripts/tests/test_issue100_101_review_integrity.pyruns3,190 bytesscripts/tests/test_issue73_74_robustness.pyruns3,902 bytesscripts/tests/test_issue76_hermes_trigger_docs.pyruns2,584 bytesscripts/tests/test_issue87_em_direct_and_comps.pyruns1,984 bytesscripts/tests/test_issue90_us_financials_ttm.pyruns3,430 bytesscripts/tests/test_lhb_date_format_fix.pyruns8,119 bytesscripts/tests/test_loss_making_stock_recovery.pyruns11,803 bytesscripts/tests/test_market_status.pyruns1,763 bytesscripts/tests/test_mx_coverage_fallback.pyruns5,808 bytesscripts/tests/test_no_regressions.pyruns44,102 bytesscripts/tests/test_panel_evidence_status.pyruns5,248 bytesscripts/tests/test_panel_model_gates.pyruns9,696 bytesscripts/tests/test_panel_web.pyruns2,148 bytesscripts/tests/test_pr75_pipeline_market_metadata.pyruns4,679 bytesscripts/tests/test_pr88_missing_data_truthfulness.pyruns7,394 bytesscripts/tests/test_pr93_template_rendering.pyruns682 bytesscripts/tests/test_pr_integration_regressions.pyruns8,761 bytesscripts/tests/test_providers_chain.pyruns4,850 bytesscripts/tests/test_serenity_rules.pyruns9,359 bytesscripts/tests/test_short_mandate_consensus.pyruns3,371 bytesscripts/tests/test_tier1_ai_readiness.pyruns4,707 bytesscripts/tests/test_tier1_earnings_preview.pyruns5,810 bytesscripts/tests/test_tier1_model_update.pyruns6,251 bytesscripts/tests/test_tier1_rebalance.pyruns7,189 bytesscripts/tests/test_tier1_returns.pyruns7,185 bytesscripts/tests/test_v2_10_4_fixes.pyruns11,648 bytesscripts/tests/test_v2_11_scoring_calibration.pyruns7,251 bytesscripts/tests/test_v2_12_1_data_fixes.pyruns9,050 bytesscripts/tests/test_v2_12_hottrend.pyruns9,954 bytesscripts/tests/test_v2_13_3_investor_rules.pyruns10,848 bytesscripts/tests/test_v2_13_4_new_sources.pyruns3,786 bytesscripts/tests/test_v2_13_5_preflight_adaptive.pyruns8,827 bytesscripts/tests/test_v2_13_6_news_futures.pyruns3,423 bytesscripts/tests/test_v2_13_7_wire_new_sources.pyruns8,449 bytesscripts/tests/test_v2_13_playwright_strategy.pyruns19,152 bytesscripts/tests/test_v2_14_0_update_check.pyruns6,314 bytesscripts/tests/test_v2_15_0_persona_layer.pyruns5,568 bytesscripts/tests/test_v2_15_1_fund_lite_rendering.pyruns8,795 bytesscripts/tests/test_v2_15_2_network_enhance.pyruns6,576 bytesscripts/tests/test_v2_15_3_capital_flow_cache.pyruns4,253 bytesscripts/tests/test_v2_15_4_school_scores.pyruns9,886 bytesscripts/tests/test_v3_3_2_issue_fixes.pyruns3,413 bytesscripts/tests/test_v3_3_3_pr_fixes.pyruns4,634 bytesscripts/tests/test_v3_3_4_minirackerguard.pyruns6,373 bytesscripts/tests/test_v3_4_0_fund_holdings.pyruns4,852 bytesscripts/tests/test_v3_4_1_verdict_granularity.pyruns3,202 bytesscripts/tests/test_v3_4_2_baostock_fallback.pyruns3,723 bytesscripts/tests/test_v3_4_3_mutual_fund_classification.pyruns3,497 bytesscripts/tests/test_v3_4_4_banner_ux.pyruns6,291 bytesscripts/tests/test_v3_4_5_youzi_lhb_and_lowconf.pyruns5,887 bytesscripts/tests/test_v3_5_0_school_lock.pyruns5,915 bytesscripts/tests/test_v3_6_0_phase_a_visual.pyruns5,531 bytesscripts/tests/test_v3_6_0_phase_b_versus.pyruns6,603 bytesscripts/tests/test_v3_6_0_phase_c_portfolio.pyruns6,572 bytesscripts/tests/test_v3_6_1_install_hermes.pyruns4,844 bytesscripts/tests/test_v3_6_2_cninfo_and_pip.pyruns7,329 bytesscripts/tests/test_v3_7_0_new_tech_investors.pyruns8,585 bytesscripts/tests/test_v3_7_2_html_escape.pyruns4,016 bytesscripts/tests/test_v3_8_0_serenity_dupont_indicators.pyruns8,957 bytesscripts/tests/test_v3_8_1_audit_fixes.pyruns5,775 bytesscripts/tests/test_v3_9_0_ghzw.pyruns5,115 bytesscripts/tests/test_v3_9_1_toc_collapse.pyruns3,128 bytesscripts/tests/test_v3_9_2_flow_bugfixes.pyruns6,084 bytes
Read SKILL.md
# Stock Deep Analysis · 深度分析工作流 v2.2
> 你正在扮演一位**首席股票分析师**。你身边有一套完整的量化工具箱,但最终的判断和叙事**必须你来写**。
> 脚本负责算数,你负责推理和下结论。
## 🎯 角色定位(非常重要)
- **你不是脚本的搬运工** — 不要只把 `cat xxx.json` 的结果往报告里贴。
- **你是分析师** — 你读原始数据 + 量化结果,然后用自己的判断串起一个有冲突感、有洞察的叙事。
- **脚本给你提供 5 类产物**:
1. **原始数据** (Task 1 · 22 维 fetcher)
2. **机构建模结果** (Task 1.5 · DCF/Comps/LBO/3-Stmt/IC Memo/Porter 等 22 种方法的计算输出)
3. **65 人评委量化裁决** (Task 3 · 每人引用具体规则)
4. **数据完整性报告** (哪些字段缺失 / 哪些降级)View the complete source on GitHubinvestor-panel
When your agent uses it
66 位投资大佬评审团。给定一只股票的 dimensions.json 和 raw_data.json,让 66 位投资者各自按自己的方法论打分并输出 Pydantic Signal(signal/confidence/score/verdict/comment)。覆盖经典价值派、成长投资派、宏观对冲派、技术趋势派、中国价投派、A股游资派、量化系统派、科技领袖派、AI 卡位猎手 9 大流派。当用户请求"评审团/65 大佬怎么看/某某会买吗/做一次大佬投票"时使用。
What it loads into context
Frontmatter
199 tokensAlways available to the agent
SKILL.md
1,367 tokensWhen the skill is activated
Reference documents
31,665 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 调用上下文
- 严格输出格式(Pydantic Signal,抄自 ai-hedge-fund)
- 执行步骤
- 7 大流派详细方法论
- 📚 语料库 (必读)
- 语言风格守则
- 完成检查
Files
SKILL.mdcore4,431 bytesSKILL.mdcore4,431 bytesSKILL.mdcore4,431 bytesSKILL.mdcore4,431 bytesassets/investor-cards.jsonasset9,225 bytesreferences/group-a-classic-value.mddoc4,473 bytesreferences/group-b-growth.mddoc2,879 bytesreferences/group-c-macro-hedge.mddoc2,803 bytesreferences/group-d-technical.mddoc2,435 bytesreferences/group-e-china-value.mddoc2,965 bytesreferences/group-f-china-youzi.mddoc5,778 bytesreferences/group-g-quant.mddoc1,599 bytesreferences/group-i-serenity.mddoc8,436 bytesreferences/quotes-knowledge-base.mddoc60,183 bytesreferences/serenity-voice.mddoc11,587 bytes
Read SKILL.md
# Investor Panel · 50 贤评审团
## 调用上下文
读取以下输入:
- `.cache/{ticker}/dimensions.json` — 19 维评分
- `.cache/{ticker}/raw_data.json` — 原始数据
- `scripts/lib/investor_db.py` — 65 人元数据
- `scripts/lib/seat_db.py` — 22 位游资射程规则
输出:
- `.cache/{ticker}/panel.json` — 50 个 Signal + 投票统计
## 严格输出格式(Pydantic Signal,抄自 ai-hedge-fund)View the complete source on GitHublhb-analyzer
When your agent uses it
龙虎榜深度分析器。识别游资席位、判断机构 vs 游资博弈、对照同板块龙虎榜找辨识度龙头。当用户问"谁在买这只票/最近龙虎榜怎么样/X游资有没有上榜/这是不是X的票"时使用。
What it loads into context
Frontmatter
131 tokensAlways available to the agent
SKILL.md
577 tokensWhen the skill is activated
Reference documents
1,579 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 调用上下文
- 数据流
- 输出 markdown 结构
- 参考资料
Files
SKILL.mdcore1,745 bytesassets/seats-2026.jsonasset878 bytesreferences/seat-encyclopedia.mddoc4,525 bytes
Read SKILL.md
# 龙虎榜深度分析
## 调用上下文
输入:股票代码或个股名
输出:龙虎榜分析 + 游资识别 + 同板块对比
## 数据流
1. 调用 `scripts/fetch_lhb.py {ticker}` 拿到原始龙虎榜数据
2. 调用 `lib/seat_db.py::match_seats_in_lhb()` 识别游资席位
3. 用 `lib/seat_db.py::is_in_range()` 判断该游资是否在射程内
4. 拉取同板块龙虎榜对比(找辨识度龙头)
View the complete source on GitHubtrap-detector
When your agent uses it
杀猪盘检测器。当用户提到"朋友推荐"、"群里说"、"老师带"、"内幕消息"、"小红书 / 抖音看到推荐"等关键词,或显式要求"看看是不是杀猪盘 / 检测一下风险 / 这只票安全吗"时使用。扫描 8 个信号给出风险评级 🟢🟡🟠🔴。
What it loads into context
Frontmatter
160 tokensAlways available to the agent
SKILL.md
988 tokensWhen the skill is activated
Reference documents
917 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 触发场景
- 8 信号扫描清单
- 风险评级
- 用户关键词加权
- 输出格式
- 完成检查
Files
SKILL.mdcore3,054 bytesreferences/eight-signals.mddoc2,546 bytes
Read SKILL.md
# Trap Detector · 杀猪盘检测器
## 触发场景
- 用户输入含关键词:朋友推荐、群里、老师带、内幕、必涨、翻倍、暴涨、稳赚、跟单
- 显式要求:检测一下、是不是杀猪盘、安不安全、被套路了吗
- /scan-trap 命令
## 8 信号扫描清单
1. **大量低质量账号同时推荐** — web search 该股名 + "推荐",看是否有同质化的低互动账号
2. **推荐话术模板化** — 搜 "{name} 即将爆发"、"主力建仓完毕"、"目标翻倍" 等关键词
3. **付费社群 / VIP 直播间引流** — 搜 "{name} 微信群"、"{name} 直播间"、"{name} VIP"
4. **基本面与热度脱节** — 调用 fetch_financials + fetch_sentiment 对比View the complete source on GitHubSkills included
- uzi
- deep-analysis
- investor-panel
- lhb-analyzer
- trap-detector
Repository facts
- License
- MIT
- Created
- Apr 16, 2026
- Last pushed
- Nov 5, 2026
- Forks
- 1,048
- Open issues
- 0
- Project activity
- Active
Rank over the last 12 weeks
Now #194 · best #167 · down 7 in 30 days
- #189 on Oct 28
- #191 on Oct 29
- #193 on Oct 30
- #194 on Oct 31
- #193 from Nov 1 to Nov 3
- #194 since Nov 4
68 earlier periods
- #175 on Aug 2
- #172 from Aug 7 to Aug 8
- #171 on Aug 9
- #174 from Aug 10 to Aug 11
- #171 on Aug 12
- #173 from Aug 13 to Aug 14
- #172 from Aug 15 to Aug 16
- #171 from Aug 17 to Aug 18
- #170 on Aug 19
- #168 on Aug 20
- #170 on Aug 21
- #167 on Aug 22
- #173 on Aug 23
- #172 on Aug 24
- #169 from Aug 25 to Aug 26
- #170 from Aug 27 to Aug 28
- #172 on Aug 29
- #170 on Aug 30
- #169 on Aug 31
- #174 on Sep 1
- #170 on Sep 2
- #176 on Sep 3
- #173 on Sep 4
- #175 on Sep 5
- #172 on Sep 6
- #174 from Sep 7 to Sep 8
- #175 on Sep 9
- #174 on Sep 10
- #171 on Sep 11
- #175 from Sep 12 to Sep 14
- #176 on Sep 15
- #175 on Sep 16
- #177 on Sep 17
- #181 on Sep 18
- #180 on Sep 19
- #182 on Sep 20
- #181 on Sep 21
- #182 on Sep 22
- #183 on Sep 23
- #182 from Sep 24 to Sep 25
- #183 on Sep 26
- #185 on Sep 27
- #186 on Sep 28
- #187 on Sep 29
- #184 on Sep 30
- #186 on Oct 1
- #188 on Oct 2
- #185 on Oct 3
- #183 on Oct 4
- #186 on Oct 5
- #187 on Oct 6
- #189 on Oct 7
- #187 on Oct 8
- #189 on Oct 9
- #187 on Oct 10
- #188 on Oct 11
- #189 on Oct 12
- #191 on Oct 13
- #190 from Oct 14 to Oct 15
- #189 on Oct 16
- #191 from Oct 17 to Oct 18
- #190 on Oct 19
- #189 on Oct 20
- #190 on Oct 21
- #188 on Oct 22
- #187 on Oct 23
- #188 on Oct 24
- #190 on Oct 25
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 2, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 20 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deep-analysis/scripts/render_panel_web.py:99Analysis incomplete: physical or joined line exceeds character limitskills/investor-panel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/investor-panel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/investor-panel/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 28 dangerous shell commandsin 13 files: install-hermes.sh:14 README.md:55 RELEASE-NOTES.md:382 and 10 more
- 1,462 network referencesin 148 files: deep-analysis/scripts/lib/data_source_registry.py:52 investor-panel/references/quotes-knowledge-base.md:19 README.md:1 and 145 more
- 2 obfuscation signalsin 2 files: deep-analysis/scripts/lib/daily_screen/renderer.py:66 deep-analysis/scripts/render_panel_web.py:100
- No instruction overrides
- 251 executable scriptsin 250 files: screen.py:1 hooks/run-hook.cmd:1 hooks/session-start:1 and 247 more
- 215 references to secretsin 59 files: run.py:41 deep-analysis/run.py:39 deep-analysis/scripts/tests/test_v2_13_playwright_strategy.py:26 and 56 more
- No requests to vote in Hot
Show all 1,958 signals by file
.claude-plugin/plugin.json
- Network accessline 7
"email": "wbh604@users.noreply.github.com" }, "homepage": "https://github.com/wbh604/UZI-Skill", - Network accessline 8
}, "homepage": "https://github.com/wbh604/UZI-Skill", "repository": "https://github.com/wbh604/UZI-Skill", - Network accessline 9
"homepage": "https://github.com/wbh604/UZI-Skill", - Network accessline 10
"repository": "https://github.com/wbh604/UZI-Skill",
.codex/INSTALL.md
.env.example
- Access to secretsline 2
[Credential-related source omitted] - Access to secretsline 3
[Credential-related source omitted] - Access to secretsline 4
[Credential-related source omitted] - Network accessline 8
# 1. 中文名纠错("北部港湾" 自动识别为 "北部湾港") # 2. 股票行情快照(稳定性远高于爬 push2.eastmoney.com) # 获取 key(免费): https://dl.dfcfs.com/m/itc4 - Network accessline 9
[Credential-related source omitted] - Network accessline 10
# 获取 key(免费): https://dl.dfcfs.com/m/itc4
.gitignore
.opencode/INSTALL.md
- Network accessline 6
git clone https://github.com/wbh604/UZI-Skill.git
AGENTS.md
- Access to secretsline 184
[Credential-related source omitted] - Network accessline 291
# 清华(推荐) pip install -r requirements.txt \ -i https://pypi.tuna.tsinghua.edu.cn/simple \ - Network accessline 292
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple - Network accessline 293
-i https://pypi.tuna.tsinghua.edu.cn/simple \ - Network accessline 296
# 阿里云(兜底) pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ - Network accessline 297
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ - Network accessline 299
# 中科大 pip install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/ - Network accessline 300
pip install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/ - Network accessline 315
2. `yfinance` 兜底美股/港股 3. `WebSearch` + `Chrome/Playwright MCP` 打开以下备用入口抓 HTML: - 雪球:`https://xueqiu.com/S/{code}`(走 CDN,境外可访问) - Network accessline 316
3. `WebSearch` + `Chrome/Playwright MCP` 打开以下备用入口抓 HTML: - 雪球:`https://xueqiu.com/S/{code}`(走 CDN,境外可访问) - 腾讯财经:`https://stockapp.finance.qq.com/mstats/` - Network accessline 317
- 雪球:`https://xueqiu.com/S/{code}`(走 CDN,境外可访问) - Network accessline 318
- 腾讯财经:`https://stockapp.finance.qq.com/mstats/` - Network accessline 319
- 同花顺(F10 页):`https://stockpage.10jqka.com.cn/{code}/` - Network accessline 333
# pypi 连通性 curl -sS --max-time 5 -o /dev/null -w "pypi: %{http_code}\n" https://pypi.org/simple/ - Network accessline 334
curl -sS --max-time 5 -o /dev/null -w "pypi: %{http_code}\n" https://pypi.org/simple/ - Network accessline 335
# 国内镜像连通性 curl -sS --max-time 5 -o /dev/null -w "tuna: %{http_code}\n" https://pypi.tuna.tsinghua.edu.cn/simple/ # 东财 push2(最常被挡) - Network accessline 336
curl -sS --max-time 5 -o /dev/null -w "tuna: %{http_code}\n" https://pypi.tuna.tsinghua.edu.cn/simple/ - Network accessline 337
# 东财 push2(最常被挡) curl -sS --max-time 5 -o /dev/null -w "push2: %{http_code}\n" https://push2.eastmoney.com/api/qt/stock/get # 东财其他域 - Network accessline 338
curl -sS --max-time 5 -o /dev/null -w "push2: %{http_code}\n" https://push2.eastmoney.com/api/qt/stock/get - Network accessline 339
# 东财其他域 curl -sS --max-time 5 -o /dev/null -w "quote-em: %{http_code}\n" https://quote.eastmoney.com/ curl -sS --max-time 5 -o /dev/null -w "xueqiu: %{http_code}\n" https://xueqiu.com/ - Network accessline 340
curl -sS --max-time 5 -o /dev/null -w "quote-em: %{http_code}\n" https://quote.eastmoney.com/ - Network accessline 341
curl -sS --max-time 5 -o /dev/null -w "xueqiu: %{http_code}\n" https://xueqiu.com/ - Network accessline 343
curl -sS --max-time 5 -o /dev/null -w "mx: %{http_code}\n" https://mkapi2.dfcfs.com/
CODEX.md
- Access to secretsline 106
[Credential-related source omitted]
CODE_OF_CONDUCT.md
- Network accessline 19
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1.
GEMINI.md
- Network accessline 6
gemini extensions install https://github.com/wbh604/UZI-Skill
INSTALL-HERMES.md
- Network accessline 3
> ⚠<U+FE0F> **2026-05 重要更新**:Hermes Skills Guard 扫描器(Hermes 官方 issue [#1006](https://github.com/NousResearch/hermes-agent/issues/1006)、[#7072](https://github.com/NousResearch/hermes-agent/issues/7072) 已知 bug)对 UZI-Skill 报 **`Verdict: DANGEROUS · 1 - Access to secretsline 5
[Credential-related source omitted] - Dangerous shell operationline 12
curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-hermes.sh | bash - Network accessline 12
curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-hermes.sh | bash - Dangerous shell operationline 36
rm -rf ~/.hermes/skills/{deep-analysis,investor-panel,lhb-analyzer,trap-detector} - Network accessline 38
# clone + symlink git clone --depth 1 https://github.com/wbh604/UZI-Skill.git ~/UZI-Skill - Network accessline 39
git clone --depth 1 https://github.com/wbh604/UZI-Skill.git ~/UZI-Skill - Network accessline 63
[Credential-related source omitted] - Access to secretsline 63
[Credential-related source omitted] - Network accessline 64
| `network` 9 处 | `subprocess.run(["brew", "install", "cloudflared"])` | **用户显式 `--remote`** 才触发的远程映射 · 默认不跑 | | `privilege_escalation` | `curl -fsSL .../cloudflared-linux-amd64` | 同上 · 仅 `--remote` 路径 · 装到 `/usr/local/bin` 也需 sudo 用户同意 | | - Dangerous shell operationline 65
| `privilege_escalation` | `curl -fsSL .../cloudflared-linux-amd64` | 同上 · 仅 `--remote` 路径 · 装到 `/usr/local/bin` 也需 sudo 用户同意 | - Network accessline 65
| `privilege_escalation` | `curl -fsSL .../cloudflared-linux-amd64` | 同上 · 仅 `--remote` 路径 · 装到 `/usr/local/bin` 也需 sudo 用户同意 | - Network accessline 95
git clone https://github.com/wbh604/UZI-Skill.git ~/UZI-Skill - Network accessline 177
- Issues: https://github.com/wbh604/UZI-Skill/issues - Network accessline 178
- 本分支 PR: https://github.com/wbh604/UZI-Skill/tree/hermes-compat
README.md
- Network accessline 1
# 主动基金 / 基金经理?请看 [基佬skills](https://github.com/wbh604/jilao-skills) - Network accessline 3
**UZI-Skill 负责个股深度分析;基佬skills 负责主动基金和基金经理行为鉴定。** 它用真实公开数据逐笔验证基金经理的买卖行为,评的是行为,不是净值。在线示例:[兴全合宜 163417 · 谢治宇行为报告](https://wbh604.github.io/jilao-skills/assets/fund-163417.html) - Network accessline 4
它用真实公开数据逐笔验证基金经理的买卖行为,评的是行为,不是净值。在线示例:[兴全合宜 163417 · 谢治宇行为报告](https://wbh604.github.io/jilao-skills/assets/fund-163417.html) - Network accessline 14
[](LICENSE) - Network accessline 15
[](https://python.org) - Network accessline 16
[](https://claude.com/product/claude-code) - Network accessline 17
[]() - Network accessline 18
[]() - Network accessline 19
[]() - Network accessline 20
[](skills/deep-analysis/scripts/lib/self_review.py) - Network accessline 50
|---|---| | **Claude Code** | `/plugin marketplace add wbh604/UZI-Skill` 然后 `/plugin install stock-deep-analyzer@uzi-skill` | | **Codex / OpenAI CLI** | "按 https://raw.githubusercontent.com/wbh604/UZI-Skill/main/.codex/INSTALL.md 装 UZI-Skil - Network accessline 51
| **Claude Code** | `/plugin marketplace add wbh604/UZI-Skill` 然后 `/plugin install stock-deep-analyzer@uzi-skill` | | **Codex / OpenAI CLI** | "按 https://raw.githubusercontent.com/wbh604/UZI-Skill/main/.codex/INSTALL.md 装 UZI-Skill,分析 60051 - Network accessline 52
| **Codex / OpenAI CLI** | "按 https://raw.githubusercontent.com/wbh604/UZI-Skill/main/.codex/INSTALL.md 装 UZI-Skill,分析 600519" | - Network accessline 53
| **Cursor** | `/add-plugin stock-deep-analyzer` | | **Gemini CLI** | `gemini extensions install https://github.com/wbh604/UZI-Skill` | | **Hermes** | ⚠<U+FE0F> `hermes skills install` 当前被 [Skills Guard 误判](https://github.com/NousResearch/hermes-a - Network accessline 54
| **Gemini CLI** | `gemini extensions install https://github.com/wbh604/UZI-Skill` | | **Hermes** | ⚠<U+FE0F> `hermes skills install` 当前被 [Skills Guard 误判](https://github.com/NousResearch/hermes-agent/issues/1006) · 用一键脚本绕过:`curl -fsSL https://raw - Dangerous shell operationline 55
| **Hermes** | ⚠<U+FE0F> `hermes skills install` 当前被 [Skills Guard 误判](https://github.com/NousResearch/hermes-agent/issues/1006) · 用一键脚本绕过:`curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-hermes.sh \| bash` · 详见 [INSTALL - Network accessline 55
| **Hermes** | ⚠<U+FE0F> `hermes skills install` 当前被 [Skills Guard 误判](https://github.com/NousResearch/hermes-agent/issues/1006) · 用一键脚本绕过:`curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-hermes.sh \| bash` · 详见 [INSTALL - Network accessline 56
| **OpenClaw / 龙虾** | "装 https://github.com/wbh604/UZI-Skill 这个股票分析技能" | - Network accessline 57
| **CLI 直用** | `git clone https://github.com/wbh604/UZI-Skill.git && cd UZI-Skill && pip install -r requirements.txt && python run.py 贵州茅台` | - Network accessline 76
> - **架构**:v3.0 pipeline 默认主干 · 离线 pytest 回归覆盖 · v2.x API 100% 向后兼容(`UZI_LEGACY=1` 回老路径) > > **Hermes 用户**:`hermes skills install` 被上游 Skills Guard 误判 · 用一键脚本装:`curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-herm - Dangerous shell operationline 78
> **Hermes 用户**:`hermes skills install` 被上游 Skills Guard 误判 · 用一键脚本装:`curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-hermes.sh | bash` · 详见 [INSTALL-HERMES.md](INSTALL-HERMES.md). - Network accessline 78
> **Hermes 用户**:`hermes skills install` 被上游 Skills Guard 误判 · 用一键脚本装:`curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-hermes.sh | bash` · 详见 [INSTALL-HERMES.md](INSTALL-HERMES.md). - Network accessline 96
## 鸣谢 学AI,上L站! 感谢 [Linux.do](https://linux.do/) 社区支持。 - Network accessline 98
感谢 [Linux.do](https://linux.do/) 社区支持。 - Network accessline 120
市面上看了一圈,要么是输出三段废话的 GPT wrapper,要么是用不起的机构终端。Anthropic 出了个 [financial-services-plugins](https://github.com/anthropics/financial-services-plugins),方法论很好(DCF / Comps / LBO 那套),但完全是美股视角 + 全要付费数据源。 - Network accessline 161
> 请按照 https://raw.githubusercontent.com/wbh604/UZI-Skill/main/.codex/INSTALL.md 的指引安装 UZI-Skill,然后帮我深度分析 贵州茅台。 - Network accessline 167
> 帮我安装 https://github.com/wbh604/UZI-Skill 这个股票分析技能,装好后分析 贵州茅台。 - Network accessline 180
gemini extensions install https://github.com/wbh604/UZI-Skill - Network accessline 187
> 请按照 https://raw.githubusercontent.com/wbh604/UZI-Skill/main/.opencode/INSTALL.md 安装并分析 贵州茅台。 - Network accessline 193
> 克隆 https://github.com/wbh604/UZI-Skill ,读 AGENTS.md 了解怎么用,帮我深度分析 贵州茅台。 - Network accessline 201
agent 会用 `--remote` 启动 Cloudflare Tunnel,给你一个 `https://xxx.trycloudflare.com` 链接。若本机没有 `cloudflared`,默认只提示安装方式;确认要自动安装时再加 `--install-cloudflared`。 - Network accessline 406
> **重磅角色**:2026 年 X(推特)爆火的海外散户研究员 [@aleabitoreddit](https://x.com/aleabitoreddit)。 - Network accessline 450
从 [anthropics/financial-services-plugins](https://github.com/anthropics/financial-services-plugins) 移植方法论,适配了 A 股参数(rf=2.5% / ERP=6% / 税率 25% / 终值 g=2.5%)。首批 17 种 + v3.8.0 Tier-1 续引 5 种(`/ai-readiness` `/earnings-preview` `/model-update` `/ - Network accessline 596
> 致谢:本模块设计参考了 [run-bigpig/jcp](https://github.com/run-bigpig/jcp) (韭菜盘 AI) 的 `hottrend` 服务实现。 - Network accessline 608
[Credential-related source omitted] - Access to secretsline 608
[Credential-related source omitted] - Network accessline 609
[Credential-related source omitted] - Access to secretsline 609
[Credential-related source omitted] - Network accessline 674
pip install -r requirements.txt \ -i https://pypi.tuna.tsinghua.edu.cn/simple \ - Network accessline 675
-i https://pypi.tuna.tsinghua.edu.cn/simple \ - Network accessline 681
国内数据源(尤其 `push2.eastmoney.com`)从海外访问经常超时。**强烈建议 设置 `MX_APIKEY`**(免费申领 → https://dl.dfcfs.com/m/itc4),它走 - Network accessline 682
设置 `MX_APIKEY`**(免费申领 → https://dl.dfcfs.com/m/itc4),它走 - Access to secretsline 686
[Credential-related source omitted] - Access to secretsline 687
[Credential-related source omitted] - Dangerous shell operationline 860
rm -rf skills/deep-analysis/scripts/.cache/<ticker>/raw_data.json - Network accessline 870
| 版本 | 日期 | 主要变化 | |---|---|---| | **main 维护** | **2026-10-18** | **缺失值证据门控 + 基金持仓时效修复**:保留真实零值和亏损,未知字段、失败数据及恒真占位规则不计票;风格识别复用统一特征。持仓按实际返回季度筛选、排序和去重,缓存区分报告期,过期或异常样本降级,HTML 展示样本期与覆盖。补修行业占位符、负营收 CAGR、基金代码空格、百分号权重及市场后缀。新增 56 项回归,全量 **948 passed - Network accessline 871
|---|---|---| | **main 维护** | **2026-10-18** | **缺失值证据门控 + 基金持仓时效修复**:保留真实零值和亏损,未知字段、失败数据及恒真占位规则不计票;风格识别复用统一特征。持仓按实际返回季度筛选、排序和去重,缓存区分报告期,过期或异常样本降级,HTML 展示样本期与覆盖。补修行业占位符、负营收 CAGR、基金代码空格、百分号权重及市场后缀。新增 56 项回归,全量 **948 passed、1 skipped**;[提交 b4 - Network accessline 872
| **main 维护** | **2026-10-18** | **缺失值证据门控 + 基金持仓时效修复**:保留真实零值和亏损,未知字段、失败数据及恒真占位规则不计票;风格识别复用统一特征。持仓按实际返回季度筛选、排序和去重,缓存区分报告期,过期或异常样本降级,HTML 展示样本期与覆盖。补修行业占位符、负营收 CAGR、基金代码空格、百分号权重及市场后缀。新增 56 项回归,全量 **948 passed、1 skipped**;[提交 b49bccd](https:/ - Network accessline 873
| **main 维护** | **2026-10-16** | **社区修复整合**:整合 PR #114–#117、#119–#122,修复估值分位解析、macOS Hook、扫描预算、档位缓存、公告归属、龙虎榜证据和评委弃权/重算;补充多市场评委页面核验。全量 **892 passed、1 skipped**;[提交 2c5505d](https://github.com/wbh604/UZI-Skill/commit/2c5505d9d30363379ce708f85 - Network accessline 882
| **v3.7.1** | 2026-06-04 | **首页补 Serenity 介绍 + `--school H/I` 放开** · 用户反馈"README 没把 Serenity 写清楚". 修复:(1) 评审团章节重写 52→65 人 · 7→9 组完整表 (A–I)· 规则 180→236; (2) 新增专门 `## 🧠 I 组 · Serenity · AI 卡位/瓶颈猎手` 介绍块(她是谁 + 未审计免责 + Chokepoint Theory 作用 + "卡 - Network accessline 883
| **v3.7.0** | 2026-06-03 | **13 位新晋科技大佬集体入团 · 52→65 评委** · 用户反馈"评委库新晋科技 / AI / VC 视角覆盖不足". 新增分布:**B 成长派 +5** (Marc Andreessen a16z / Bill Gurley Benchmark / Naval Ravikant AngelList / Brad Gerstner Altimeter / Chamath Palihapitiya Social C - Network accessline 884
| **v3.6.3** | 2026-06-03 | **重磅角色 Serenity · AI 卡位/瓶颈猎手(新增第 52 位评委 · 独立 I 组)** · 把 X 爆火的 AI 供应链「卡脖子/瓶颈点」投资人 Serenity ([@aleabitoreddit](https://x.com/aleabitoreddit)) 接入评审团 · 参考 [serenity-alpha skill](https://github.com/haskaomni/serenity- - Network accessline 885
| **v3.6.2** | 2026-06-03 | **cninfo 翻页长尾修复 + Hermes 脚本 pip 探测** · 两个社群 issue 同发. **#68** ([@xy2yp](https://github.com/wbh604/UZI-Skill/issues/68)):`--versus 000958 600406 --depth lite` 卡在 15_events cninfo 公告 · `0/854 [01:53<6:11:58]` · 根因 - Dangerous shell operationline 886
[Credential-related source omitted] - Network accessline 886
[Credential-related source omitted] - Access to secretsline 886
[Credential-related source omitted] - Network accessline 889
| **v3.4.5** | 2026-05-12 | **F 派游资 LHB 反查 + low-confidence banner** · 社群 codex agent 跑京东方 (000725) 实测发现两点:① F 派 23 人全 skip(市值 2000 亿超射程)· 但 LHB 实际有 3-5 个游资席位参与涨停博弈 · 评委逻辑与数据脱节. ② 规则引擎 fund_score 37.6 但 agent 重评 65/100 · 报告无任何"score 不可信"警告 - Network accessline 890
| **v3.4.4** | 2026-05-12 | **data quality banner UX 优化** · 社群反馈两点:① ETF 报告 "覆盖率 17%" 让用户误判可信度(实际 ETF 本就无 ROE/PE 个股字段)· ② 橙色 banner 上橙色字(`#f59e0b/#fbbf24`)看不清. 修法:(1) banner 检测 ETF/LOF/mutual_fund · 切换 `fund-type` 蓝色调 banner · 文案明确"基金类型预期缺字 - Network accessline 891
| **v3.4.3** | 2026-05-12 | **开放式基金分类修复 + 字段级 fallback gate** · (1) [#60 复议](https://github.com/wbh604/UZI-Skill/issues/60) (@SchrodingerBarbatos) · 用户输 110011 易方达优质 → 被错判 convertible_bond early-exit. 修法:`classify_security_type` 在判 cb 前用 `a - Network accessline 893
| **v3.4.1** | 2026-05-11 | **verdict 粒度细化** · 社群反馈"神剑股份(58分) / 博云新材(60分) verdict 都是观望优先 看不出差异". 修法:(1) verdict 50-65 拆三档(观望偏空 50-55 / 观望中性 55-60 / 观望偏多 60-65)· 65-70 加"可以蹲(偏弱)"; (2) verdict label 追加"X 派看多 / Y 派看空"; (3) synthesis 加 `verdict - Network accessline 894
| **v3.4.0** | 2026-05-10 | **基金/ETF 持仓循环分析 + baostock ≥0.9.1** · ETF/LOF 不再 early-exit · 改为列出前 10 持仓 + 估算耗时 + **二次确认**(y / 数字 / N) · 确认后循环跑 stock-analyze + 生成 fund-holdings-summary.html. partial failure 容忍 · `UZI_FUND_AUTO_YES=1` 跳过 prompt - Network accessline 895
| **v3.3.4** | 2026-05-10 | **mini_racer V8 crash escape hatch** ([#61](https://github.com/wbh604/UZI-Skill/issues/61)) · 用户 @dragonforai 报 `python run.py SEHK.03690 --depth deep` → `[FATAL:address_pool_manager.cc(67)] Check failed`. 根因:mac - Network accessline 896
| **v3.3.3** | 2026-05-06 | **社区 PR 4 合 1**([#52](https://github.com/wbh604/UZI-Skill/pull/52) / [#54](https://github.com/wbh604/UZI-Skill/pull/54) / [#55](https://github.com/wbh604/UZI-Skill/pull/55) / [#59](https://github.com/wbh604/UZI-S - Network accessline 897
| **v3.3.2** | 2026-04-28 | **GitHub issue #50 + #51 hotfix**(社区驱动)· #50 [Stage 2 总是超时](https://github.com/wbh604/UZI-Skill/issues/50):v3.2 拆分时 `lib/report/institutional.py` 漏 import `svg_sparkline` · `_render_lbo_block` 触发 NameError → stag - Network accessline 910
| **main** | 2026-04-20 | **Segmental Revenue Build-Up 落地**(`lib/segmental_model.py` 408 行 + `compute_segmental.py` CLI + `/segmental-model` slash command)· deep 档 `enable_segmental_model` flag 之前只在 profile 声明,实现缺失——本次从老分支 cherry-pick 3 个新文 - Network accessline 911
| **v2.13.7** | 2026-04-19 | **16 新源真正接入 fetcher**:v2.13.4/6 登记但未用的 16 源全部接通——新建 `lib/news_providers.py`(jin10/em 快讯/em 公告/同花顺 4 源聚合)接入 `fetch_events` + `fetch_sentiment`;`_yahoo_v8_chart` 直连 HTTP 接入 US/HK K 线链(绕 yfinance cookie);cfachina 期 - Network accessline 912
| **v2.13.6** | 2026-04-19 | **新增 6 个经 curl 验证的期货 + 财经新闻源**(SOURCES 64 → 70):jin10_flash(类财联社零 Key 替代)/ em_kuaixun / em_stock_ann / ths_news_today / 99qh / cfachina · 8 专项测试 | - Network accessline 913
| **v2.13.5** | 2026-04-19 | **NetworkProfile 自适应 + agent HARD-GATE 主动触发 Playwright**:9 目标 3 组网络预检(domestic/overseas/search)+ 代理检测 + 5min cache · SKILL.md / AGENTS.md 加 `HARD-GATE-PLAYWRIGHT-AUTOFILL` 让 agent 主动 FORCE · 15 专项测试 | | **v2.13. - Network accessline 914
| **v2.13.4** | 2026-04-19 | **新增 10 个经 curl 验证的无 Key 公开数据源**(SOURCES 54 → 64):Yahoo Chart v8 / 腾讯 qt HK / 加密货币(CoinGecko/Binance/CoinCap)/ ECB / World Bank 等 · 11 专项测试 | - Network accessline 942
- [anthropics/financial-services-plugins](https://github.com/anthropics/financial-services-plugins) — 机构级分析方法论 - Network accessline 943
- [obra/superpowers](https://github.com/obra/superpowers) — 多平台架构 / HARD-GATE / hooks / sub-agent 设计 - Network accessline 944
- [akshare](https://github.com/akfamily/akshare) — A 股数据引擎 - Network accessline 945
- [titanwings/colleague-skill](https://github.com/titanwings/colleague-skill) — Skill 架构参考 - Network accessline 946
- [virattt/ai-hedge-fund](https://github.com/virattt/ai-hedge-fund) — Pydantic Signal 模式 - Network accessline 947
- [TauricResearch/TradingAgents](https://github.com/TauricResearch/TradingAgents) — 多空辩论循环 - Network accessline 960
实时 stars: - Network accessline 962
<a href="https://star-history.dera.page/#wbh604/uzi-skill&Date"> - Network accessline 963
<picture> <source media="(prefers-color-scheme: dark)" srcset="https://star-history.dera.page/svg?repos=wbh604/uzi-skill&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://star-history.dera.page/svg - Network accessline 964
<source media="(prefers-color-scheme: dark)" srcset="https://star-history.dera.page/svg?repos=wbh604/uzi-skill&type=Date&theme=dark" /> - Network accessline 965
<source media="(prefers-color-scheme: light)" srcset="https://star-history.dera.page/svg?repos=wbh604/uzi-skill&type=Date" /> - Network accessline 966
<img alt="Star History Chart" src="https://star-history.dera.page/svg?repos=wbh604/uzi-skill&type=Date" />
README_EN.md
- Network accessline 7
[](LICENSE) - Network accessline 8
[](https://python.org) - Network accessline 9
[](https://claude.com/product/claude-code) - Network accessline 10
[]() - Network accessline 11
[]() - Network accessline 12
[]() - Network accessline 13
[](https://github.com/wbh604/UZI-Skill/actions/runs/39051456863) - Network accessline 29
| Version / Track | Date | Changes | | --- | --- | --- | | **main maintenance** | **2026-10-18** | Preserve real zero/loss values while unknown evidence and placeholder rules abstain. Use actual returned holdings quarters, normalize fund id - Network accessline 30
| --- | --- | --- | | **main maintenance** | **2026-10-18** | Preserve real zero/loss values while unknown evidence and placeholder rules abstain. Use actual returned holdings quarters, normalize fund identities and percentage weights, reje - Network accessline 31
| **main maintenance** | **2026-10-18** | Preserve real zero/loss values while unknown evidence and placeholder rules abstain. Use actual returned holdings quarters, normalize fund identities and percentage weights, reject stale/invalid sam - Network accessline 32
| **main maintenance** | **2026-10-16** | Integrate PRs #114–#117 and #119–#122: scan budgets, profile-aware caches, issuer checks, LHB evidence, model gates, abstention and consensus recalculation; fix valuation percentiles and the macOS h - Network accessline 39
- Bloomberg covers HK and ADRs, but A-share data is thin and the context is missing. - Reuters / FT give you macro headlines, not per-company fundamentals. - Anthropic's [financial-services-plugins](https://github.com/anthropics/financial-s - Network accessline 40
- Reuters / FT give you macro headlines, not per-company fundamentals. - Anthropic's [financial-services-plugins](https://github.com/anthropics/financial-services-plugins) ships great institutional models (DCF / LBO / Comps) — **US-only**, - Network accessline 41
- Anthropic's [financial-services-plugins](https://github.com/anthropics/financial-services-plugins) ships great institutional models (DCF / LBO / Comps) — **US-only**, and gated behind paid FactSet / S&P feeds. - Network accessline 46
It's also why this exists: **if legends get Chinese stocks wrong, ordinary investors need every analytical advantage they can get.** Charlie Munger famously loaded up on Alibaba (BABA) through Daily Journal Corp in 2021, then had to cut the - Network accessline 108
> Please follow https://raw.githubusercontent.com/wbh604/UZI-Skill/main/.codex/INSTALL.md to install UZI-Skill, then deep-analyze Alibaba (BABA). - Network accessline 112
> Install https://github.com/wbh604/UZI-Skill and analyze Tencent (00700.HK) for me. - Network accessline 125
gemini extensions install https://github.com/wbh604/UZI-Skill - Network accessline 130
> Follow https://raw.githubusercontent.com/wbh604/UZI-Skill/main/.opencode/INSTALL.md and analyze Pop Mart (09992.HK). - Network accessline 136
> Clone https://github.com/wbh604/UZI-Skill, read `AGENTS.md`, then deep-analyze Alibaba (09988.HK). - Network accessline 141
git clone https://github.com/wbh604/UZI-Skill.git - Network accessline 152
The agent spins up a Cloudflare Tunnel and gives you a `https://xxx.trycloudflare.com` URL. - Network accessline 287
Ported from [anthropics/financial-services-plugins](https://github.com/anthropics/financial-services-plugins), adapted with A-share / H-share parameters. - Access to secretsline 335
[Credential-related source omitted] - Dangerous shell operationline 376
rm -rf skills/deep-analysis/scripts/.cache/<ticker>/raw_data.json - Network accessline 471
Live count:  - Network accessline 473
<a href="https://star-history.dera.page/#wbh604/uzi-skill&Date"> - Network accessline 474
<picture> <source media="(prefers-color-scheme: dark)" srcset="https://star-history.dera.page/svg?repos=wbh604/uzi-skill&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://star-history.dera.page/svg - Network accessline 475
<source media="(prefers-color-scheme: dark)" srcset="https://star-history.dera.page/svg?repos=wbh604/uzi-skill&type=Date&theme=dark" /> - Network accessline 476
<source media="(prefers-color-scheme: light)" srcset="https://star-history.dera.page/svg?repos=wbh604/uzi-skill&type=Date" /> - Network accessline 477
<img alt="Star History Chart" src="https://star-history.dera.page/svg?repos=wbh604/uzi-skill&type=Date" /> - Network accessline 493
[Linux.do](https://linux.do/) — "Linux.do is all you need to learn AI." Thanks for the testing community.
RELEASE-NOTES.md
- Network accessline 8
- **基金持仓时效**:移除固定年份,选择接口实际返回的最新已结束季度,按权重排序、归一化基金代码后去重;不混用不同报告期凑足信号。过期、不完整、异常权重或查询失败的样本降级,HTML 显示报告期和覆盖情况。 - **发布前补修**:行业占位符不误判为非 AI 链,负营收不生成复数 CAGR,百分号持仓权重正确解析,六位代码也检查市场后缀。 - **验证**:新增 56 项回归,全量 **948 passed、1 skipped**;[Python 3.10 / 3.12 - Network accessline 10
- **验证**:新增 56 项回归,全量 **948 passed、1 skipped**;[Python 3.10 / 3.12 CI 通过](https://github.com/wbh604/UZI-Skill/actions/runs/39051456863)。未运行真实股票报告,不代表在线源或投资效果验证。 - Network accessline 12
[提交 b49bccd](https://github.com/wbh604/UZI-Skill/commit/b49bccdd84c385a491a2001d2297ad256b10b0d7) · [完整修复说明](docs/maintenance-2026-10-17.md) - Network accessline 20
[提交 2c5505d](https://github.com/wbh604/UZI-Skill/commit/2c5505d9d30363379ce708f85cac93f86b2788cf) · [完整维护记录](docs/maintenance-2026-10-16.md) - Network accessline 81
社区 issue [#79](https://github.com/wbh604/UZI-Skill/issues/79)(@QKioi):v3.6.0 加的左侧 sticky 章节导航栏会略微遮挡正文,希望能收起。本次按建议实现: - Network accessline 276
把 X 爆火的 AI 供应链「卡脖子/瓶颈点」投资人 **Serenity (@aleabitoreddit)** 作为重磅角色接入评审团。参考 [serenity-alpha skill](https://github.com/haskaomni/serenity-skill/tree/main/serenity-alpha) 的方法论,并爬取其 X 真实言论作为语气库。 - Network accessline 306
### 🐛 Bug #1 · cninfo 公告分页 854 页拖几小时 ([#68](https://github.com/wbh604/UZI-Skill/issues/68) · @xy2yp) - Network accessline 325
### 🐛 Bug #2 · install-hermes.sh 找不到 pip ([#69](https://github.com/wbh604/UZI-Skill/issues/69) · @FrankHuy) - Network accessline 368
[Credential-related source omitted] - Access to secretsline 368
[Credential-related source omitted] - Network accessline 369
| `network` 9+ | `subprocess.run(["brew", "install", "cloudflared"])` | **用户显式 `--remote`** 才触发的远程映射 · 默认不跑 | | `privilege_escalation` | `curl -fsSL .../cloudflared-linux-amd64` | 同上 · 仅 `--remote` 路径 | | `injection` | HTML 注释 `<!-- HIDDEN - Network accessline 370
| `privilege_escalation` | `curl -fsSL .../cloudflared-linux-amd64` | 同上 · 仅 `--remote` 路径 | - Network accessline 375
Hermes 团队公开承认 ([issue #1006](https://github.com/NousResearch/hermes-agent/issues/1006)、[#7072](https://github.com/NousResearch/hermes-agent/issues/7072)):**官方/builtin skills 也被自家 Skills Guard 拦下了** · `--force` 设计上不能绕 DANGEROUS · 在等 allowlis - Dangerous shell operationline 382
curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-hermes.sh | bash - Network accessline 382
curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-hermes.sh | bash - Network accessline 797
# CLI 直用 cd UZI-Skill && git pull pip install --upgrade baostock -i https://pypi.org/simple # v3.4.0 起锁 ≥0.9.1 - Network accessline 799
pip install --upgrade baostock -i https://pypi.org/simple # v3.4.0 起锁 ≥0.9.1 - Network accessline 942
pip install --upgrade baostock -i https://pypi.org/simple - Dangerous shell operationline 1007
ℹ<U+FE0F> 想重试 · `rm ~/.uzi-skill/_minirackercrash.sentinel` 或 `UZI_FORCE_MINI_RACER=1` - Network accessline 1617
**症状**:`gemini extensions install https://github.com/wbh604/UZI-Skill` 失败,报 `missing "version"`。 - Network accessline 1655
⚠ 检测到本地代理运行(Clash Verge)但 env 未设 HTTPS_PROXY · 脚本默认不走代理 export HTTPS_PROXY=http://127.0.0.1:7897 && export HTTP_PROXY=http://127.0.0.1:7897 - Network accessline 1656
export HTTPS_PROXY=http://127.0.0.1:7897 && export HTTP_PROXY=http://127.0.0.1:7897 - Network accessline 1872
📦 UZI-Skill 有新版本可更新:v2.13.7 → v2.14.0 https://github.com/wbh604/UZI-Skill/releases/tag/v2.14.0 - Network accessline 1873
https://github.com/wbh604/UZI-Skill/releases/tag/v2.14.0 - Network accessline 1988
## v2.13.6 — 2026-04-19 (新增 6 个经 curl 验证的期货 + 财经新闻源) - Network accessline 1990
> **用户提供第二波 Grok 清单**(期货 + 财经新闻 · 10+ 端点)· 批量 curl 真实验证 · 6 有效新源登记 - Access to secretsline 2103
[Credential-related source omitted] - Network accessline 2150
## v2.13.4 — 2026-04-19 (新增 10 个经 curl 验证的无 Key 公开数据源) - Network accessline 2152
> **用户提供 Grok 清单 20+ 个 "全网最全" 无需 Key 的行情接口** · 批量 curl 真实验证 · 过滤无效项 · 9 有效加密源 + 1 Yahoo Chart v8 + 1 腾讯港股 quote 注册入库 - Network accessline 2156
所有端点经 `curl -w "%{http_code}"` 真实 HTTP 请求 · 国内网络环境 · 8s 超时 · 记录 response size + 前 120 字节样本 - Network accessline 2554
> **参考 [run-bigpig/jcp](https://github.com/run-bigpig/jcp)(韭菜盘 AI · 851 ⭐)的 `internal/services/hottrend` 设计,补 DuckDuckGo web search 的盲区** - Network accessline 2615
本模块借鉴 [run-bigpig/jcp](https://github.com/run-bigpig/jcp) 的 `hottrend` 服务实现。`fetch_weibo` / `fetch_zhihu` 等函数的 API 端点和 User-Agent 策略直接参考其 Go 实现。 - Access to secretsline 2966
[Credential-related source omitted] - Dangerous shell operationline 3141
rm -rf skills/deep-analysis/scripts/.cache/<ticker>/* - Dangerous shell operationline 3416
rm -rf skills/deep-analysis/scripts/.cache/<ticker>/raw_data.json - Network accessline 3444
> 2021 年 Munger 通过 DJCO 重仓 Alibaba,2022 年 ~70% 回撤后不得不砍仓一半, > [在 2022 DJCO 年会称"这是我犯过最糟糕的错误之一"](https://www.cnbc.com/2023/02/15/charlie-munger-says-he-regrets-alibaba-investment-one-of-the-worst-mistakes.html), - Network accessline 3445
> [在 2022 DJCO 年会称"这是我犯过最糟糕的错误之一"](https://www.cnbc.com/2023/02/15/charlie-munger-says-he-regrets-alibaba-investment-one-of-the-worst-mistakes.html), - Network accessline 3515
**核心方法论**: 以合理价格买入优秀企业并长期持有... **原话语料**: 1. "别人贪婪时我恐惧..." — [2004 年致股东信](https://www.berkshirehathaway.com/letters/2004ltr.pdf) - Network accessline 3516
**原话语料**: 1. "别人贪婪时我恐惧..." — [2004 年致股东信](https://www.berkshirehathaway.com/letters/2004ltr.pdf) 2. "用合理的价格买一家好公司..." — [1989 年致股东信](https://www.berkshirehathaway.com/letters/1989.html) - Network accessline 3517
1. "别人贪婪时我恐惧..." — [2004 年致股东信](https://www.berkshirehathaway.com/letters/2004ltr.pdf) - Network accessline 3518
2. "用合理的价格买一家好公司..." — [1989 年致股东信](https://www.berkshirehathaway.com/letters/1989.html) - Network accessline 3519
3. "我们最喜欢的持有期是永远。" — [1988 年致股东信](https://www.berkshirehathaway.com/letters/1988.html) - Network accessline 3520
4. "只有在退潮时..." — [2001 年致股东信](https://www.berkshirehathaway.com/2001ar/2001letter.html) - Network accessline 3875
### 论坛报告 bug(来自 [linux.do/t/topic/1981105](https://linux.do/t/topic/1981105))
commands/analyze-stock.md
- Access to secretsline 39
[Credential-related source omitted]
docs/BUGS-LOG.md
- Network accessline 14
- **症状**:[#103](https://github.com/wbh604/UZI-Skill/issues/103) 中,华夏银行最新报告期营收同比约为 `+35.3%`,报告却展示年度收入历史相邻计算得到的 `-5.4%`。 - Network accessline 28
- **症状**: 1. [#87](https://github.com/wbh604/UZI-Skill/issues/87) · A 股基础数据走 EastMoney push2 直连 fallback 时,把 `f47` 成交量错误当作 `change_pct` 兜底,导致涨跌幅异常;同时 `f116` 市值原始单位是元,下游按“亿”读会把 DCF/市场份额等派生指标放大 1e8 倍。 - Network accessline 29
1. [#87](https://github.com/wbh604/UZI-Skill/issues/87) · A 股基础数据走 EastMoney push2 直连 fallback 时,把 `f47` 成交量错误当作 `change_pct` 兜底,导致涨跌幅异常;同时 `f116` 市值原始单位是元,下游按“亿”读会把 DCF/市场份额等派生指标放大 1e8 倍。 - Network accessline 30
2. [#87](https://github.com/wbh604/UZI-Skill/issues/87) · Comps 同行估值在只有目标公司自身样本时仍继续计算分位与估值结论,报告可能出现“自己和自己对标”的假结论。 - Network accessline 31
3. [#90](https://github.com/wbh604/UZI-Skill/issues/90) · 美股财务数据只读取 `yfinance.Ticker.financials` 年报,未合并更新的 quarterly financials,财报季后会继续展示旧年报口径,无法暴露 TTM 最新收入/净利。 - Network accessline 67
- **症状**: 1. [#82](https://github.com/wbh604/UZI-Skill/issues/82) · `fetch_financials` 只把经营现金流写成 `fcf`,没有显式 `ocf` / `ocf_history` / `ocf_to_net_income_ratio`,A 股 trap-detector 的现金利润匹配规则会读不到真实 OCF。 - Network accessline 68
1. [#82](https://github.com/wbh604/UZI-Skill/issues/82) · `fetch_financials` 只把经营现金流写成 `fcf`,没有显式 `ocf` / `ocf_history` / `ocf_to_net_income_ratio`,A 股 trap-detector 的现金利润匹配规则会读不到真实 OCF。 - Network accessline 69
2. [#83](https://github.com/wbh604/UZI-Skill/issues/83) · `basic.industry=None` 时 `fetch_peers` 整个 A 股分支跳过,返回空同行表且 `fallback=False`;`fetch_valuation` 也直接丢行业/市场 PE。 - Network accessline 157
- **症状**:用户 [@xy2yp](https://github.com/wbh604/UZI-Skill/issues/68) 反馈 `python run.py --versus 000958 600406 --depth lite` 卡在 15_events 维度 · 进度条 `0/854 [01:53<6:11:58, 26.44s/it]` · 单股 4-6 小时 - Network accessline 159
- **根因**:调 `akshare.stock_zh_a_disclosure_report_cninfo` · 该 akshare 函数内部用循环翻完全部分页(cninfo 一只票常有 800+ 页公告)才把 DataFrame 返给我们 · 后续 `.head(30)` 截取已无用 · 翻页时间已经花掉了 - **修法**: 1. 新增 `_cninfo_direct_api(code, page_size=30, timeout=15)` · 直接 `reque - Network accessline 160
- **修法**: 1. 新增 `_cninfo_direct_api(code, page_size=30, timeout=15)` · 直接 `requests.post` 到 `http://www.cninfo.com.cn/new/hisAnnouncement/query` · `pageNum=1 + pageSize=30` · 一次 HTTP ≤15s · 永远不翻全部页 2. 板块路由:`000/001/002/3xx → szse` · `6x - Network accessline 161
1. 新增 `_cninfo_direct_api(code, page_size=30, timeout=15)` · 直接 `requests.post` 到 `http://www.cninfo.com.cn/new/hisAnnouncement/query` · `pageNum=1 + pageSize=30` · 一次 HTTP ≤15s · 永远不翻全部页 - Network accessline 162
2. 板块路由:`000/001/002/3xx → szse` · `6xx/688 → sse` · `8xx → bse` 3. 响应解析:`announcements[*].announcementTime` (毫秒) / `announcementTitle` / `adjunctUrl` (拼 `http://static.cninfo.com.cn/` 前缀) 4. `_cninfo_disclosures` 优先调直连 API · 直连失败时**默认不 - Network accessline 163
3. 响应解析:`announcements[*].announcementTime` (毫秒) / `announcementTitle` / `adjunctUrl` (拼 `http://static.cninfo.com.cn/` 前缀) - Network accessline 177
- **症状**:用户 [@FrankHuy](https://github.com/wbh604/UZI-Skill/issues/69) 在 CentOS-like + Python 3.11 跑一键脚本:`line 95: pip: command not found` + akshare 装不上 - Network accessline 199
- **症状**:用户 @zodiacg ([#66](https://github.com/wbh604/UZI-Skill/issues/66)) 反馈 `hermes skills install wbh604/UZI-Skill/skills/deep-analysis` 失败 · scanner 168 findings · DANGEROUS verdict - Access to secretsline 206
[Credential-related source omitted] - Access to secretsline 333
[Credential-related source omitted] - Access to secretsline 1345
[Credential-related source omitted]
docs/DATA-PROVIDERS.md
- Network accessline 65
# 1. 访问 https://tushare.pro 注册(免费 120 积分) - Access to secretsline 68
[Credential-related source omitted] - Access to secretsline 157
[Credential-related source omitted] - Access to secretsline 164
[Credential-related source omitted] - Access to secretsline 165
[Credential-related source omitted]
docs/TEST-PLAN-v2.10.3.md
- Network accessline 14
# 1. clone + checkout git clone https://github.com/wbh604/UZI-Skill.git - Network accessline 15
git clone https://github.com/wbh604/UZI-Skill.git - Access to secretsline 209
[Credential-related source omitted] - Access to secretsline 330
[Credential-related source omitted] - Access to secretsline 358
[Credential-related source omitted] - Dangerous shell operationline 444
rm -rf skills/deep-analysis/scripts/.cache/_global
docs/maintenance-2026-10-17.md
- Network accessline 40
接口依据:[AKShare 基金文档](https://github.com/akfamily/akshare/blob/main/docs/data/fund/fund_public.md)。
docs/panel-evidence-status.md
- Network accessline 45
飞书应交付 `[全部市场评委投票](https://...)` 这种网页URL,不能把服务器本地
docs/serenity-research-dossier.md
- Network accessline 10
Serenity(X handle **@aleabitoreddit**,Reddit 旧 ID **u/AleaBito**)是 2026 年爆火的海外散户研究员,使用二次元女性头像、匿名、不露脸、不接受采访、不卖课、不做付费跟单,研究全部免费公开。自述背景为**前 AI 研究科学家、Nature 论文作者、前 RISC-V 基金会成员、半导体与光通信工程师**,并称曾在英伟达股价约 $6 时拒绝其 AI 团队 offer(据 [Odaily](https://www.o - Network accessline 18
### 1. 卡脖子/瓶颈点理论 - 核心信条:**避开英伟达等大盘龙头,去买它们必须依赖、却不为人知、垂直整合度极高的关键供应商**(据 [PANews 英文](https://www.panewslab.com/en/articles/019e7d30-5a0b-7721-8dfb-ff74096ba255))。 - Network accessline 19
- 核心信条:**避开英伟达等大盘龙头,去买它们必须依赖、却不为人知、垂直整合度极高的关键供应商**(据 [PANews 英文](https://www.panewslab.com/en/articles/019e7d30-5a0b-7721-8dfb-ff74096ba255))。 - Network accessline 20
- 标志性比喻:「**正如全球 20% 的石油要经过霍尔木兹海峡**」,AI 光通信基建同样依赖控制关键咽喉的单一供应商或双寡头(多源,含 [semiconstocks](https://semiconstocks.com/zh)、[singularityresearchfund](https://singularityresearchfund.substack.com/p/inside-the-mind-of-serenity-aleabitoreddit))。其本人称 $ - Network accessline 21
- 「**紫苏叶理论**」(据 [PANews 对比文](https://www.panewslab.com/en/articles/019e69f3-28a3-72ca-9edc-409b4fbb4a50)):寿司店里金枪鱼最贵,但特定农场的紫苏叶不可或缺——瞄准在关键制程上有「绝对技术垄断」的小盘制造商。 - Network accessline 22
- 比喻为「河床最窄处」:无论上游水量多大,所有水都得挤过那个点(据 [capitalblueprint](https://capitalblueprint.substack.com/p/serenitys-axti-trade-when-a-tiny))。 - Network accessline 24
### 2. 五因子 / 多步研究流程(各文表述略异,合并如下) 据 [网易](https://www.163.com/dy/article/KU5K019B0556BWUL.html)、[BlockWeeks](https://blockweeks.com/view/238485)、[KuCoin](https://www.kucoin.com/news/insight/SOL/6a1bc052ea4a6c0007f96493) 等: - Network accessline 25
据 [网易](https://www.163.com/dy/article/KU5K019B0556BWUL.html)、[BlockWeeks](https://blockweeks.com/view/238485)、[KuCoin](https://www.kucoin.com/news/insight/SOL/6a1bc052ea4a6c0007f96493) 等: - Network accessline 32
[KuCoin](https://www.kucoin.com/news/insight/SOL/6a1bc052ea4a6c0007f96493) 把它概括为「**贝叶斯框架**」:先验研究(读论文+拆 BOM 建立初始概率)→ 不确定下行动 → 证据更新(尽调验证、加减仓)→ 动态调仓(把资金转向「瓶颈确定性」最高的标的)。 - Network accessline 33
[GitHub serenity-reply](https://github.com/leslieyeo/serenity-reply/tree/main) 蒸馏出 **5 大心智模型 + 8 条决策准则**,其中含「读英伟达信号(追踪其合作与投资)」「优先欧洲小盘」「反 meme 股标签」「机构验证确认」「反杠杆铁律」「DYOR 验证」「地缘政治折价评估」。 - Network accessline 37
### 3. 供应链拆解的具体维度 - **拆解光通信链为 7 层**(据 [PANews 英文](https://www.panewslab.com/en/articles/019e7d30-5a0b-7721-8dfb-ff74096ba255)):原材料(镓/铟/砷)→ 设备(热解氮化硼坩埚)→ InP 衬底加工(「最受限环节」)→ 连续波激光器(CPO 光源)→ 光模块组装 → 测试/验证 → 光缆光纤。 - Network accessline 38
- **拆解光通信链为 7 层**(据 [PANews 英文](https://www.panewslab.com/en/articles/019e7d30-5a0b-7721-8dfb-ff74096ba255)):原材料(镓/铟/砷)→ 设备(热解氮化硼坩埚)→ InP 衬底加工(「最受限环节」)→ 连续波激光器(CPO 光源)→ 光模块组装 → 测试/验证 → 光缆光纤。 - Network accessline 39
- **CPO 硅光五大物理壁垒**(据 [PANews 中文](https://www.panewslab.com/zh/articles/019e674b-724f-736c-8077-b2221cf24e39)):光纤阵列单元 FAU/微透镜→FOCI(台湾);外部光源/DFB 激光器→SIVE(瑞典);分子束外延 MBE 设备→Riber(法国);高纯度红磷(6N-7N)→日本化学工业;SOI 衬底→Soitec(法国)。 - Network accessline 40
- **不看财报,看产业链节奏信号**(据 [PANews 英文-不看财报那代](https://www.panewslab.com/en/articles/019e6cf0-c247-707e-b151-dce5f3c3f3c3)):不算 ROE/现金流/负债率,而是看「**财报电话会措辞、客户认证周期、供应链节奏、上游材料是否被垄断、技术是否从论文走向量产**」。 - Network accessline 42
- **多维整合**:技术专利壁垒 + 地缘政治风险 + 出口管制政策,构建「卡脖子物理+地缘地图」([PANews 中文](https://www.panewslab.com/zh/articles/019e674b-724f-736c-8077-b2221cf24e39))。 - Network accessline 55
#### 1. 知乎《5个月32倍,一个超级散户的AI投资方法论》—— [zhuanlan.zhihu.com/p/2039045698369361597](https://zhuanlan.zhihu.com/p/2039045698369361597) - Network accessline 59
#### 2. 知乎《Serenity 一个跑赢机构的海外散户,把美股AI牛市拆成了一张供应链瓶颈地图》—— [zhuanlan.zhihu.com/p/2039362476144341796](https://zhuanlan.zhihu.com/p/2039362476144341796) - Network accessline 63
#### 3. 知乎问答《如何看待最近推特爆火的散户 Serenity?》—— [zhihu.com/question/2043660509396865080](https://www.zhihu.com/question/2043660509396865080)(含[「玩转A股量化」回答](https://www.zhihu.com/question/2043660509396865080/answer/2044184997146400599)) - Network accessline 67
#### 4. 区块周刊 BlockWeeks《一文拆解"股神 Serenity"投资方法论》—— [blockweeks.com/view/238485](https://blockweeks.com/view/238485) - Network accessline 71
#### 5. 网易《YTD暴赚4500%后,爆火股神Serenity真正厉害的,不是选股》—— [163.com/dy/article/KU5K019B0556BWUL.html](https://www.163.com/dy/article/KU5K019B0556BWUL.html) - Network accessline 75
#### 6. PANews 中文《2年225倍收益?揭秘神秘研究员 Serenity 的 AI"卡脖子"投资术》—— [panewslab.com/zh/articles/019e674b...](https://www.panewslab.com/zh/articles/019e674b-724f-736c-8077-b2221cf24e39) - Network accessline 79
#### 7. PANews《散户"带头大哥"Serenity vs 新晋股神 Leopold》—— [panewslab.com/en/articles/019e69f3...](https://www.panewslab.com/en/articles/019e69f3-28a3-72ca-9edc-409b4fbb4a50) - Network accessline 83
#### 8. HTX 行情资讯《Who is Serenity》—— [htx.com/news/Trading-Dsb4qeq8/](https://www.htx.com/news/Trading-Dsb4qeq8/) - Network accessline 87
#### 9. 财联社 / cn.investing.com《社媒帖子点燃欧洲半导体妖股 晶圆厂股票突遭资金疯抢》—— [cn.investing.com/news/stock-market-news/article-3388643](https://cn.investing.com/news/stock-market-news/article-3388643) - Network accessline 91
#### 10. semiconstocks.com(Serenity Tracker 中文)—— [semiconstocks.com/zh](https://semiconstocks.com/zh) - Network accessline 95
#### 11. moomoo 社区《@aleabitoreddit 背景起底》—— [moomoo.com/community/feed/...116401268326405](https://www.moomoo.com/community/feed/here-s-the-backstory-on-the-twitter-account-aleabitoreddit-x-116401268326405) - Network accessline 101
#### 12. PANews 英文《Who is Serenity? Godfather of AI Supply Chain》—— [panewslab.com/en/articles/019e7d30...](https://www.panewslab.com/en/articles/019e7d30-5a0b-7721-8dfb-ff74096ba255) - Network accessline 105
#### 13. PANews 英文《This generation of gurus no longer look at financial statements》—— [panewslab.com/en/articles/019e6cf0...](https://www.panewslab.com/en/articles/019e6cf0-c247-707e-b151-dce5f3c3f3c3) - Network accessline 109
#### 14. Substack · singularityresearchfund《Inside the Mind of Serenity》—— [singularityresearchfund.substack.com/p/inside-the-mind-of-serenity...](https://singularityresearchfund.substack.com/p/inside-the-mind-of-serenity-aleabitoreddit) - Network accessline 113
#### 15. Substack · capitalblueprint《Serenity's AXTI Trade — When a Tiny...》—— [capitalblueprint.substack.com/p/serenitys-axti-trade-when-a-tiny](https://capitalblueprint.substack.com/p/serenitys-axti-trade-when-a-tiny) - Network accessline 117
#### 16. Futu(futunn)《Who is Serenity? Investment logic of the Godfather》—— [news.futunn.com/en/post/73854711/...](https://news.futunn.com/en/post/73854711/who-is-serenity-understanding-the-investment-logic-of-the-godfather) - Network accessline 121
#### 17. Odaily 英文《Refusing an NVIDIA offer at a $6 stock price》—— [odaily.news/en/post/5210924](https://www.odaily.news/en/post/5210924) - Network accessline 125
#### 18. KuCoin《Who is Serenity @aleabitoreddit?》—— [kucoin.com/news/insight/SOL/6a1bc052...](https://www.kucoin.com/news/insight/SOL/6a1bc052ea4a6c0007f96493) - Network accessline 129
#### 19. GitHub · leslieyeo/serenity-reply(蒸馏思维框架)—— [github.com/leslieyeo/serenity-reply](https://github.com/leslieyeo/serenity-reply/tree/main) - Network accessline 133
#### 20. Serenity 本人 X 帖(一手)—— [x.com/aleabitoreddit](https://x.com/aleabitoreddit) - Network accessline 134
- 关键帖:① [$AXTI $150 PT from $12-15…YTD over 600%…identify the biggest chokepoints before anyone else](https://x.com/aleabitoreddit/status/2036089423990042630);② [InP Chokepoint 解释:NVDA/META/GOOGL/MSFT 量产系于 $700M 小盘 AXTI 与 SMTOY](https://x.c
docs/superpowers/specs/2026-06-03-serenity-role-design.md
hooks/run-hook.cmd
- Executable scriptline 1
Executable file
hooks/session-start
- Executable scriptline 1
#!/usr/bin/env bash
install-hermes.sh
- Executable scriptline 1
#!/usr/bin/env bash - Access to secretsline 7
[Credential-related source omitted] - Network accessline 12
# # 用法: # curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-hermes.sh | bash - Network accessline 13
# 用法: # curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-hermes.sh | bash # - Dangerous shell operationline 14
# curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-hermes.sh | bash - Network accessline 14
# curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-hermes.sh | bash - Network accessline 22
REPO_URL="${UZI_REPO_URL:-https://github.com/wbh604/UZI-Skill.git}" - Network accessline 30
echo "🛠 UZI-Skill · Hermes 一键安装(绕过 Skills Guard)" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo " Repo: $REPO_URL" - Network accessline 31
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo " Repo: $REPO_URL" echo " Clone → $CLONE_DIR" - Network accessline 32
echo " Repo: $REPO_URL" - Dangerous shell operationline 50
echo " Ubuntu/Debian: sudo apt install python3 python3-pip python3-venv" - Dangerous shell operationline 51
echo " CentOS/RHEL: sudo yum install python3 python3-pip" - Network accessline 66
if [ ! -d "$HERMES_HOME" ]; then echo "❌ 未检测到 Hermes 安装目录 $HERMES_HOME" echo " 请先装 Hermes: https://hermes-agent.nousresearch.com/docs/quickstart" - Network accessline 67
echo "❌ 未检测到 Hermes 安装目录 $HERMES_HOME" echo " 请先装 Hermes: https://hermes-agent.nousresearch.com/docs/quickstart" exit 2 - Network accessline 68
echo " 请先装 Hermes: https://hermes-agent.nousresearch.com/docs/quickstart" - Network accessline 76
git -C "$CLONE_DIR" pull --ff-only --quiet else echo "📥 git clone $REPO_URL → $CLONE_DIR" - Network accessline 77
else echo "📥 git clone $REPO_URL → $CLONE_DIR" git clone --depth 1 "$REPO_URL" "$CLONE_DIR" - Network accessline 78
echo "📥 git clone $REPO_URL → $CLONE_DIR" - Network accessline 79
git clone --depth 1 "$REPO_URL" "$CLONE_DIR" - Dangerous shell operationline 89
rm -rf "$target" - Dangerous shell operationline 147
echo " Ubuntu/Debian: sudo apt install python3-pip" - Dangerous shell operationline 148
echo " CentOS/RHEL: sudo yum install python3-pip" - Network accessline 148
echo " CentOS/RHEL: sudo yum install python3-pip" echo " macOS: python3 -m ensurepip --upgrade" echo " 或全局装: curl https://bootstrap.pypa.io/get-pip.py | $PY_BIN" - Network accessline 149
echo " macOS: python3 -m ensurepip --upgrade" echo " 或全局装: curl https://bootstrap.pypa.io/get-pip.py | $PY_BIN" exit 4 - Network accessline 150
echo " 或全局装: curl https://bootstrap.pypa.io/get-pip.py | $PY_BIN" - Network accessline 159
echo " 1. Python 版本太低(需 ≥3.10 · 当前 $PY_VER)" echo " 2. 网络受限 · 试加镜像源:" echo " $PIP_CMD install -r $REQ_FILE -i https://pypi.tuna.tsinghua.edu.cn/simple" - Network accessline 160
echo " 2. 网络受限 · 试加镜像源:" echo " $PIP_CMD install -r $REQ_FILE -i https://pypi.tuna.tsinghua.edu.cn/simple" echo " 3. 系统 pip 太老 · 升级一下:" - Network accessline 161
echo " $PIP_CMD install -r $REQ_FILE -i https://pypi.tuna.tsinghua.edu.cn/simple" - Network accessline 190
echo " (Hermes 只认 SKILL.md skill · 靠自然语言描述触发 · 不是 /命令)" echo "" echo "如有问题:https://github.com/wbh604/UZI-Skill/issues" - Network accessline 191
echo "" echo "如有问题:https://github.com/wbh604/UZI-Skill/issues" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" - Network accessline 192
echo "如有问题:https://github.com/wbh604/UZI-Skill/issues"
package.json
- Executable scriptline 1
Executable file - Network accessline 8
"repository": { "type": "git", "url": "https://github.com/wbh604/UZI-Skill.git" - Network accessline 9
"type": "git", "url": "https://github.com/wbh604/UZI-Skill.git" }, - Network accessline 10
"url": "https://github.com/wbh604/UZI-Skill.git" - Network accessline 11
}, "homepage": "https://github.com/wbh604/UZI-Skill", "keywords": [ - Network accessline 12
"homepage": "https://github.com/wbh604/UZI-Skill",
references/macro-calendar.md
- Network accessline 21
| Source | Coverage and access | |---|---| | [BEA release dates JSON](https://apps.bea.gov/API/signup/release_dates.json) | GDP, Personal Income and Outlays / PCE, and other BEA releases. Public machine-readable schedule; do not assume a st - Network accessline 22
|---|---| | [BEA release dates JSON](https://apps.bea.gov/API/signup/release_dates.json) | GDP, Personal Income and Outlays / PCE, and other BEA releases. Public machine-readable schedule; do not assume a stable API contract or complete fut - Network accessline 23
| [BEA release dates JSON](https://apps.bea.gov/API/signup/release_dates.json) | GDP, Personal Income and Outlays / PCE, and other BEA releases. Public machine-readable schedule; do not assume a stable API contract or complete future covera - Network accessline 24
| [BEA release schedule](https://www.bea.gov/news/schedule) | Official page for checking schedule coverage and changes when the JSON is incomplete or unavailable. | - Network accessline 25
| [Federal Reserve Board calendar](https://www.federalreserve.gov/newsevents/calendar.htm) | Board events, scheduled speeches, and releases; follow the relevant month and event links. | - Network accessline 26
| [FOMC calendars](https://www.federalreserve.gov/monetarypolicy/fomccalendars.htm) | Meeting dates and associated official materials; distinguish the meeting window from statement and press-conference times. | - Network accessline 27
| [BLS release schedule](https://www.bls.gov/schedule/) | Employment, CPI, PPI, JOLTS, and other BLS releases; select the requested month or year. | - Network accessline 28
| [Kansas City Fed symposium](https://www.kansascityfed.org/research/jackson-hole-economic-symposium/) | During the Jackson Hole window, check the relevant year's official agenda rather than assuming a speaker or time from a previous year.
run.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 16
运行完会输出: 1. HTML 报告本地路径 2. 如果 --remote: 一个 https://xxx.trycloudflare.com 公网链接 - Network accessline 17
1. HTML 报告本地路径 2. 如果 --remote: 一个 https://xxx.trycloudflare.com 公网链接 """ - Network accessline 18
2. 如果 --remote: 一个 https://xxx.trycloudflare.com 公网链接 - Access to secretsline 41
[Credential-related source omitted] - Access to secretsline 88
[Credential-related source omitted] - Access to secretsline 90
[Credential-related source omitted] - Access to secretsline 96
[Credential-related source omitted] - Access to secretsline 107
[Credential-related source omitted] - Access to secretsline 108
[Credential-related source omitted] - Access to secretsline 110
[Credential-related source omitted] - Access to secretsline 133
[Credential-related source omitted] - Access to secretsline 134
[Credential-related source omitted] - Access to secretsline 136
[Credential-related source omitted] - Access to secretsline 143
[Credential-related source omitted] - Network accessline 149
PYPI_MIRRORS = [ ("清华大学", "https://pypi.tuna.tsinghua.edu.cn/simple"), - Network accessline 150
("清华大学", "https://pypi.tuna.tsinghua.edu.cn/simple"), - Network accessline 151
("阿里云", "https://mirrors.aliyun.com/pypi/simple/"), - Network accessline 152
("中科大", "https://pypi.mirrors.ustc.edu.cn/simple/"), - Network accessline 153
("豆瓣", "https://pypi.douban.com/simple/"), - Network accessline 196
print(f" ❌ 所有镜像都失败了。请手动安装:") print(f" pip install -r requirements.txt \\") print(f" -i https://pypi.tuna.tsinghua.edu.cn/simple") - Network accessline 197
print(f" pip install -r requirements.txt \\") print(f" -i https://pypi.tuna.tsinghua.edu.cn/simple") print(f" 或参考 README.md 的\"网络受限环境\"章节\n") - Network accessline 198
print(f" -i https://pypi.tuna.tsinghua.edu.cn/simple") - Network accessline 216
filename = report_path.name print(f"\n📡 本地 HTTP 服务已启动:") print(f" http://localhost:{port}/{filename}") - Network accessline 217
print(f"\n📡 本地 HTTP 服务已启动:") print(f" http://localhost:{port}/{filename}") return httpd - Network accessline 218
print(f" http://localhost:{port}/{filename}") - Network accessline 229
if not install: print(" 未执行自动安装;如需自动安装,请加 --install-cloudflared 后重试。") print(" 手动安装: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/") - Network accessline 230
print(" 未执行自动安装;如需自动安装,请加 --install-cloudflared 后重试。") print(" 手动安装: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/") return None, None - Network accessline 231
print(" 手动安装: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/") - Network accessline 233
print(" --install-cloudflared 已开启,正在尝试安装...") if sys.platform == "win32": print(" 请手动安装: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/") - Network accessline 234
if sys.platform == "win32": print(" 请手动安装: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/") print(" 或: winget install Cloudflare.cloudflared") - Network accessline 235
print(" 请手动安装: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/") - Network accessline 242
subprocess.run(["bash", "-c", "curl -fsSL https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /tmp/cloudflared && chmod +x /tmp/cloudflared && sudo mv /tmp/cloudflared /u - Dangerous shell operationline 243
"curl -fsSL https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /tmp/cloudflared && chmod +x /tmp/cloudflared && sudo mv /tmp/cloudflared /usr/local/bin/"], - Network accessline 243
"curl -fsSL https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /tmp/cloudflared && chmod +x /tmp/cloudflared && sudo mv /tmp/cloudflared /usr/local/bin/"], - Network accessline 253
proc = subprocess.Popen( ["cloudflared", "tunnel", "--url", f"http://127.0.0.1:{port}"], - Network accessline 254
["cloudflared", "tunnel", "--url", f"http://127.0.0.1:{port}"], - Network accessline 268
if "trycloudflare.com" in line or "cfargotunnel.com" in line: import re match = re.search(r"(https://[a-zA-Z0-9\-]+\.trycloudflare\.com)", line) - Network accessline 269
import re match = re.search(r"(https://[a-zA-Z0-9\-]+\.trycloudflare\.com)", line) if match: - Network accessline 270
match = re.search(r"(https://[a-zA-Z0-9\-]+\.trycloudflare\.com)", line) - Access to secretsline 377
[Credential-related source omitted] - Network accessline 424
print(f"\n 本地访问: http://localhost:{args.port}/{filename}") - Access to secretsline 551
[Credential-related source omitted] - Access to secretsline 562
[Credential-related source omitted] - Access to secretsline 563
[Credential-related source omitted] - Access to secretsline 565
[Credential-related source omitted] - Access to secretsline 574
[Credential-related source omitted] - Access to secretsline 579
[Credential-related source omitted] - Access to secretsline 662
[Credential-related source omitted] - Access to secretsline 665
[Credential-related source omitted] - Access to secretsline 674
[Credential-related source omitted] - Access to secretsline 680
[Credential-related source omitted] - Access to secretsline 685
[Credential-related source omitted] - Access to secretsline 699
[Credential-related source omitted] - Access to secretsline 712
[Credential-related source omitted] - Access to secretsline 751
[Credential-related source omitted] - Access to secretsline 756
[Credential-related source omitted] - Access to secretsline 822
[Credential-related source omitted] - Access to secretsline 826
[Credential-related source omitted]
setup.sh
- Executable scriptline 1
#!/bin/bash - Network accessline 2
# UZI-Skill 一键安装脚本 # 用法: bash <(curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/setup.sh) - Dangerous shell operationline 3
# 用法: bash <(curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/setup.sh) - Network accessline 3
# 用法: bash <(curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/setup.sh) - Network accessline 31
else echo "⏬ 克隆仓库..." git clone https://github.com/wbh604/UZI-Skill.git - Network accessline 32
echo "⏬ 克隆仓库..." git clone https://github.com/wbh604/UZI-Skill.git cd UZI-Skill - Network accessline 33
git clone https://github.com/wbh604/UZI-Skill.git - Network accessline 43
PIP_MIRRORS=( "" # 默认 pypi.org(空字符串代表不指定 -i,走默认) "https://pypi.tuna.tsinghua.edu.cn/simple" - Network accessline 44
"" # 默认 pypi.org(空字符串代表不指定 -i,走默认) "https://pypi.tuna.tsinghua.edu.cn/simple" "https://mirrors.aliyun.com/pypi/simple/" - Network accessline 45
"https://pypi.tuna.tsinghua.edu.cn/simple" - Network accessline 46
"https://mirrors.aliyun.com/pypi/simple/" - Network accessline 47
"https://pypi.mirrors.ustc.edu.cn/simple/" - Network accessline 78
echo " ❌ 所有源都失败。手动试:" echo " pip install -r requirements.txt \\" echo " -i https://pypi.tuna.tsinghua.edu.cn/simple" - Network accessline 79
echo " pip install -r requirements.txt \\" echo " -i https://pypi.tuna.tsinghua.edu.cn/simple" exit 1 - Network accessline 80
echo " -i https://pypi.tuna.tsinghua.edu.cn/simple"
skills/deep-analysis/SKILL.md
- Access to secretsline 262
[Credential-related source omitted] - Network accessline 948
1. 正常跑完 6 个 Task,生成 HTML 报告 2. 自动启动本地 HTTP 服务器(端口 8976) 3. 调用 `cloudflared tunnel` 映射到 `https://xxx.trycloudflare.com` - Network accessline 949
2. 自动启动本地 HTTP 服务器(端口 8976) 3. 调用 `cloudflared tunnel` 映射到 `https://xxx.trycloudflare.com` 4. 输出公网链接 — 用户手机扫码 / 发微信就能看报告 - Network accessline 950
3. 调用 `cloudflared tunnel` 映射到 `https://xxx.trycloudflare.com` - Dangerous shell operationline 954
安全默认值:如果本机没有 `cloudflared`,`--remote` 只提示安装方式,不会自动执行 `brew install` / `sudo mv`。只有用户显式传 `--install-cloudflared` 时才允许自动安装。 - Access to secretsline 981
[Credential-related source omitted]
skills/deep-analysis/assets/avatars/altman.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/andreessen.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/asness.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/bj_cj.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/buffett.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/burry.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/chamath.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/chanos.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/chen_xq.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/chengdu.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/dalio.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/darvas.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/dengxiaofeng.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/druck.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/duan.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/fang_xx.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/fengliu.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/fisher.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/fs_wyj.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/gann.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/gerstner.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/ghzw.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/graham.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/gu_bl.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/gurley.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/hu_jl.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/jensen_huang.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/jiao_yy.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/klarman.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/lasa.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/liu_sh.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/liuyi_zl.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/livermore.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/lynch.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/mao_lb.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/marks.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/minervini.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/munger.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/musk.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/naval.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/ningbo_st.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/oneill.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/robertson.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/saylor.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/serenity.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/shaw.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/simons.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/soros.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/sun_ge.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/sunan.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/templeton.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/thiel.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/thorp.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/wang_zr.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/wood.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/xiao_ey.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/xiao_xian.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/xiezhiyu.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/xin_dd.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/yangjia.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/zhang_lei.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/zhang_mz.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/zhangkun.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/zhao_lg.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/zhushaoxing.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/avatars/zuoshou.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" shape-rendering="crispEdges" width="128" height="128"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
skills/deep-analysis/assets/report-template.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>{{NAME}} · 游资 SKILLS</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 6
<title>{{NAME}} · 游资 SKILLS</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 7
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 8
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 9
<link href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&family=Fira+Sans:wght@300;400;500;600;700;900&family=Space+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet"> - Network accessline 274
position: fixed; inset: 0; z-index: 99; pointer-events: none; opacity: .025; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence baseFrequency='.85 - Network accessline 275
pointer-events: none; opacity: .025; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence baseFrequency='.85' numOctaves='2'/></filter><rect width='10 - Network accessline 276
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence baseFrequency='.85' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n) - Network accessline 3154
<!-- QR --> <div style="margin-bottom:12px"> <img src="https://api.qrserver.com/v1/create-qr-code/?size=120x120&data=https://github.com/wbh604/UZI-Skill&color=06b6d4" alt="QR" style="width:80px;height:80px;border-radius:6px" / - Network accessline 3155
<div style="margin-bottom:12px"> <img src="https://api.qrserver.com/v1/create-qr-code/?size=120x120&data=https://github.com/wbh604/UZI-Skill&color=06b6d4" alt="QR" style="width:80px;height:80px;border-radius:6px" /> <div sty - Network accessline 3156
<img src="https://api.qrserver.com/v1/create-qr-code/?size=120x120&data=https://github.com/wbh604/UZI-Skill&color=06b6d4" alt="QR" style="width:80px;height:80px;border-radius:6px" /> - Network accessline 3160
<a href="https://github.com/wbh604/UZI-Skill" target="_blank" style="font-size:12px;color:#06b6d4;text-decoration:none;font-weight:600">github.com/wbh604/UZI-Skill</a> - Network accessline 3172
本报告不构成任何投资建议,投资者应独立判断并承担投资风险。<br><br> Generated by <strong>FloatFu-true · UZI-Skill {{PLUGIN_VERSION}}</strong> · {{GENERATED_AT}} · <span class="oo-eye">O.o</span><br> <a href="https://github.com/wbh604/UZI-Skill" target="_blank" s - Network accessline 3173
Generated by <strong>FloatFu-true · UZI-Skill {{PLUGIN_VERSION}}</strong> · {{GENERATED_AT}} · <span class="oo-eye">O.o</span><br> <a href="https://github.com/wbh604/UZI-Skill" target="_blank" style="color:#06b6d4;text-decoration:none;f - Network accessline 3174
<a href="https://github.com/wbh604/UZI-Skill" target="_blank" style="color:#06b6d4;text-decoration:none;font-size:13px;margin-top:6px;display:inline-block">⭐ GitHub · 点击查看最新版本 → github.com/wbh604/UZI-Skill</a><br> - Network accessline 3228
<div style="text-align:center;margin:20px 0 10px"> <img src="https://api.qrserver.com/v1/create-qr-code/?size=140x140&data=https://github.com/wbh604/UZI-Skill&color=06b6d4" alt="QR" style="width:100px;height:100px;border-radius:6px" /> - Network accessline 3229
<img src="https://api.qrserver.com/v1/create-qr-code/?size=140x140&data=https://github.com/wbh604/UZI-Skill&color=06b6d4" alt="QR" style="width:100px;height:100px;border-radius:6px" /> - Network accessline 3569
// 极简 QR · 用 Google Chart API(远程)· 失败 fallback 文本 if (!canvas) return; const url = 'https://api.qrserver.com/v1/create-qr-code/?size=180x180&margin=0&data=' + - Network accessline 3570
if (!canvas) return; const url = 'https://api.qrserver.com/v1/create-qr-code/?size=180x180&margin=0&data=' + encodeURIComponent(text); - Network accessline 3571
const url = 'https://api.qrserver.com/v1/create-qr-code/?size=180x180&margin=0&data=' +
skills/deep-analysis/references/data-sources.md
- Network accessline 266
| viz 字段 | A 主源 | |---|---| | `xq_cubes_list` 雪球组合列表 | `https://xueqiu.com/cubes/cubes_search.json?code={symbol}` + cookie (已在 fetch_contests 实现) | - Network accessline 267
|---|---| | `xq_cubes_list` 雪球组合列表 | `https://xueqiu.com/cubes/cubes_search.json?code={symbol}` + cookie (已在 fetch_contests 实现) | | `high_return_cubes` 高收益数 | 过滤 total_gain > 50 | - Network accessline 268
| `xq_cubes_list` 雪球组合列表 | `https://xueqiu.com/cubes/cubes_search.json?code={symbol}` + cookie (已在 fetch_contests 实现) | - Network accessline 269
| `high_return_cubes` 高收益数 | 过滤 total_gain > 50 | | `tgb_list` 淘股吧讨论 | `https://www.taoguba.com.cn/Article/list/all?keyword={code}` HTML scrape | | `ths_list` 同花顺模拟 | `https://moni.10jqka.com.cn/holder/?stock={code}` scrape | - Network accessline 270
| `tgb_list` 淘股吧讨论 | `https://www.taoguba.com.cn/Article/list/all?keyword={code}` HTML scrape | - Network accessline 271
| `ths_list` 同花顺模拟 | `https://moni.10jqka.com.cn/holder/?stock={code}` scrape | - Network accessline 293
| `sharpe` 夏普比率 | 自算: mean(daily_ret) / std(daily_ret) * sqrt(252) · 无风险利率按 3% | | `peer_rank_pct` 同类排名 | `fund_manager_em()` + `fund_em_rank_detail` | | `fund_url` 基金详情链接 | `https://fund.eastmoney.com/{fund_code}.html` | - Network accessline 295
| `fund_url` 基金详情链接 | `https://fund.eastmoney.com/{fund_code}.html` |
skills/deep-analysis/references/fin-methods/ai-readiness.md
- Network accessline 3
> **改编自 [anthropics/financial-services](https://github.com/anthropics/financial-services)
skills/deep-analysis/references/task2.5-qualitative-deep-dive.md
- Network accessline 71
1. 用 WebSearch 搜 "2026 {industry} 国家政策"、"2026 {industry} 监管变化" 2. 用 Chrome/Playwright MCP 打开以下 URL 抓取最新政策原文: - https://www.gov.cn/zhengce/ (国务院) - Network accessline 72
2. 用 Chrome/Playwright MCP 打开以下 URL 抓取最新政策原文: - https://www.gov.cn/zhengce/ (国务院) - http://www.csrc.gov.cn/csrc/c106187/common_list.shtml (证监会) - Network accessline 73
- https://www.gov.cn/zhengce/ (国务院) - Network accessline 74
- http://www.csrc.gov.cn/csrc/c106187/common_list.shtml (证监会) - Network accessline 75
- https://www.miit.gov.cn/ (工信部,制造业相关) - Network accessline 100
1. WebSearch:"{name} 子公司 业务"、"{name} 并购 2026"、"{industry} 市场份额排名" 2. 用 Chrome/Playwright MCP 打开: - http://www.cninfo.com.cn/new/disclosure/stock?stockCode={code_raw} (巨潮公告原文) - Network accessline 101
2. 用 Chrome/Playwright MCP 打开: - http://www.cninfo.com.cn/new/disclosure/stock?stockCode={code_raw} (巨潮公告原文) - https://xueqiu.com/S/{code_raw}/announcements (雪球公告) - Network accessline 102
- http://www.cninfo.com.cn/new/disclosure/stock?stockCode={code_raw} (巨潮公告原文) - Network accessline 103
- https://xueqiu.com/S/{code_raw}/announcements (雪球公告) - Network accessline 104
- https://xueqiu.com/S/{code_raw}/F10/industry (雪球行业信息) - Network accessline 129
1. WebSearch:"{name} 原材料 成本占比"、"{name} 套期保值 年报"、"{name} 国产替代" 2. 用 Chrome/Playwright MCP 打开: - https://data.eastmoney.com/futures/index.html - Network accessline 130
2. 用 Chrome/Playwright MCP 打开: - https://data.eastmoney.com/futures/index.html - https://www.shfe.com.cn/data/dailydata/ (上期所) - Network accessline 131
- https://data.eastmoney.com/futures/index.html - Network accessline 132
- https://www.shfe.com.cn/data/dailydata/ (上期所) - Network accessline 262
https://data.eastmoney.com/hsgt/board.html (北向/南向资金面板) - Network accessline 263
https://data.eastmoney.com/hgt/zb.html (汇率) - Network accessline 264
https://data.eastmoney.com/cjsj/pmi.html (PMI) - Network accessline 265
https://data.eastmoney.com/cjsj/cpi.html (CPI) - Network accessline 266
https://www.chinamoney.com.cn/chinese/ (中债) - Network accessline 267
https://wallstreetcn.com/ (华尔街见闻 · 海外联动 + 快讯) - Network accessline 268
https://www.yicai.com/ (第一财经 · 宏观与产业专题) - Network accessline 269
https://www.investing.com/economic-calendar/ (Investing 经济日历 · 海外宏观) - Network accessline 270
https://www.investing.com/commodities/ (Investing 商品 · 大宗联动) - Network accessline 275
A 股: https://www.iwencai.com/ (问财 NLP · 需 Playwright;'同行业 市值>100亿' 类查询) - Network accessline 276
https://www.iwencai.com/ (问财 NLP · 需 Playwright;'同行业 市值>100亿' 类查询) - Network accessline 277
https://stockpage.10jqka.com.cn/ (同花顺 F10 · 需 Playwright;行业/概念板块 + 同行) - Network accessline 279
港股: https://www.aastocks.com/sc/stocks/analysis/industry/ (AASTOCKS · 港股按行业列表 · 需 Playwright) - Network accessline 280
https://www.aastocks.com/sc/stocks/analysis/industry/ (AASTOCKS · 港股按行业列表 · 需 Playwright) - Network accessline 285
https://xueqiu.com/S/{code}/F10/industry (雪球 F10 行业信息 · 需 Playwright) - Network accessline 286
https://data.eastmoney.com/bkzj/ (板块资金) - Network accessline 287
https://www.iresearch.com.cn/ (艾瑞 · 互联网行业) - Network accessline 288
https://www.iwencai.com/ (问财 · NLP 筛选行业内成员) - Network accessline 289
https://stockpage.10jqka.com.cn/ (同花顺 F10 · 行业景气度) - Network accessline 294
https://data.eastmoney.com/futures/index.html (期货总览) - Network accessline 295
https://www.shfe.com.cn/data/dailydata/ (上期所日报) - Network accessline 296
https://www.dce.com.cn/ (大商所) - Network accessline 297
https://www.czce.com.cn/ (郑商所) - Network accessline 298
https://www.100ppi.com/ (生意社 · 现货) - Network accessline 299
https://www.investing.com/commodities/ (海外大宗联动) - Network accessline 304
https://www.gov.cn/zhengce/ (国务院政策) - Network accessline 305
http://www.csrc.gov.cn/csrc/c106187/common_list.shtml (证监会监管动态) - Network accessline 306
https://www.miit.gov.cn/ (工信部) - Network accessline 307
https://www.ndrc.gov.cn/xxgk/jd/ (发改委政策解读) - Network accessline 308
https://www.samr.gov.cn/ (市场监管总局 · 反垄断) - Network accessline 309
https://www.cls.cn/ (财联社 7x24 · 政策电报第一时间) - Network accessline 310
https://wallstreetcn.com/ (华尔街见闻 · 海外政策 + 国际反应) - Network accessline 315
A 股: http://www.cninfo.com.cn/new/disclosure/stock?stockCode={code_raw} (巨潮 · 公告法定原文) - Network accessline 316
http://www.cninfo.com.cn/new/disclosure/stock?stockCode={code_raw} (巨潮 · 公告法定原文) - Network accessline 317
https://xueqiu.com/S/{code_raw}/announcements (雪球公告聚合) - Network accessline 318
http://vip.stock.finance.sina.com.cn/corp/go.php/vCB_AllBulletin/stockid/{code_raw}.phtml (新浪) - Network accessline 319
https://www.cls.cn/ (财联社 7x24 · 突发事件最快) - Network accessline 320
https://www.yicai.com/ (第一财经 · 公司频道) - Network accessline 321
https://stock.jrj.com.cn/ (金融界 · 题材联动) - Network accessline 322
https://money.163.com/ (网易财经 · 新闻聚合) - Network accessline 324
港股: https://www1.hkexnews.hk/search/titlesearch.xhtml?lang=zh&stockId={int_code} (HKEXNews · 法定披露) - Network accessline 325
https://www1.hkexnews.hk/search/titlesearch.xhtml?lang=zh&stockId={int_code} (HKEXNews · 法定披露) - Network accessline 326
https://www.aastocks.com/sc/cnhk/news/company-news/{code}.html (AASTOCKS 港股新闻) - Network accessline 331
https://data.eastmoney.com/stock/lhb.html (东财龙虎榜) - Network accessline 332
https://www.yuncaijing.com/data/lhb/main.html (云财经龙虎榜 · 游资席位 + 题材热度) - Network accessline 350
{ "source": "国务院.gov.cn | cninfo | xueqiu | websearch | browser | mx_api | annual_report", "url": "https://www.gov.cn/zhengce/xxx.html", - Network accessline 351
"source": "国务院.gov.cn | cninfo | xueqiu | websearch | browser | mx_api | annual_report", "url": "https://www.gov.cn/zhengce/xxx.html", "finding": "人民币兑美元 2026-04 中间价较年初贬值 2.1%;公司出口占营收 45%", - Network accessline 352
"url": "https://www.gov.cn/zhengce/xxx.html", - Network accessline 424
{ "source": "工信部", "url": "https://www.miit.gov.cn/xwdt/gxdt/sjdt/art/2026/art_xxx.html", - Network accessline 425
"source": "工信部", "url": "https://www.miit.gov.cn/xwdt/gxdt/sjdt/art/2026/art_xxx.html", "finding": "《2026 新能源汽车推广方案》明确补贴向 300Wh/kg 以上电芯倾斜,公司 Kirin 4.0 已达标", - Network accessline 426
"url": "https://www.miit.gov.cn/xwdt/gxdt/sjdt/art/2026/art_xxx.html",
skills/deep-analysis/run.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 16
运行完会输出: 1. HTML 报告本地路径 2. 如果 --remote: 一个 https://xxx.trycloudflare.com 公网链接 - Network accessline 17
1. HTML 报告本地路径 2. 如果 --remote: 一个 https://xxx.trycloudflare.com 公网链接 """ - Network accessline 18
2. 如果 --remote: 一个 https://xxx.trycloudflare.com 公网链接 - Access to secretsline 39
[Credential-related source omitted] - Access to secretsline 56
[Credential-related source omitted] - Access to secretsline 58
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 76
[Credential-related source omitted] - Access to secretsline 78
[Credential-related source omitted] - Access to secretsline 101
[Credential-related source omitted] - Access to secretsline 102
[Credential-related source omitted] - Access to secretsline 104
[Credential-related source omitted] - Access to secretsline 111
[Credential-related source omitted] - Network accessline 117
PYPI_MIRRORS = [ ("清华大学", "https://pypi.tuna.tsinghua.edu.cn/simple"), - Network accessline 118
("清华大学", "https://pypi.tuna.tsinghua.edu.cn/simple"), - Network accessline 119
("阿里云", "https://mirrors.aliyun.com/pypi/simple/"), - Network accessline 120
("中科大", "https://pypi.mirrors.ustc.edu.cn/simple/"), - Network accessline 121
("豆瓣", "https://pypi.douban.com/simple/"), - Network accessline 164
print(f" ❌ 所有镜像都失败了。请手动安装:") print(f" pip install -r requirements.txt \\") print(f" -i https://pypi.tuna.tsinghua.edu.cn/simple") - Network accessline 165
print(f" pip install -r requirements.txt \\") print(f" -i https://pypi.tuna.tsinghua.edu.cn/simple") print(f" 或参考 README.md 的\"网络受限环境\"章节\n") - Network accessline 166
print(f" -i https://pypi.tuna.tsinghua.edu.cn/simple") - Network accessline 184
filename = report_path.name print(f"\n📡 本地 HTTP 服务已启动:") print(f" http://localhost:{port}/{filename}") - Network accessline 185
print(f"\n📡 本地 HTTP 服务已启动:") print(f" http://localhost:{port}/{filename}") return httpd - Network accessline 186
print(f" http://localhost:{port}/{filename}") - Network accessline 197
if not install: print(" 未执行自动安装;如需自动安装,请加 --install-cloudflared 后重试。") print(" 手动安装: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/") - Network accessline 198
print(" 未执行自动安装;如需自动安装,请加 --install-cloudflared 后重试。") print(" 手动安装: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/") return None, None - Network accessline 199
print(" 手动安装: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/") - Network accessline 201
print(" --install-cloudflared 已开启,正在尝试安装...") if sys.platform == "win32": print(" 请手动安装: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/") - Network accessline 202
if sys.platform == "win32": print(" 请手动安装: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/") print(" 或: winget install Cloudflare.cloudflared") - Network accessline 203
print(" 请手动安装: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/") - Network accessline 210
subprocess.run(["bash", "-c", "curl -fsSL https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /tmp/cloudflared && chmod +x /tmp/cloudflared && sudo mv /tmp/cloudflared /u - Dangerous shell operationline 211
"curl -fsSL https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /tmp/cloudflared && chmod +x /tmp/cloudflared && sudo mv /tmp/cloudflared /usr/local/bin/"], - Network accessline 211
"curl -fsSL https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /tmp/cloudflared && chmod +x /tmp/cloudflared && sudo mv /tmp/cloudflared /usr/local/bin/"], - Network accessline 221
proc = subprocess.Popen( ["cloudflared", "tunnel", "--url", f"http://127.0.0.1:{port}"], - Network accessline 222
["cloudflared", "tunnel", "--url", f"http://127.0.0.1:{port}"], - Network accessline 236
if "trycloudflare.com" in line or "cfargotunnel.com" in line: import re match = re.search(r"(https://[a-zA-Z0-9\-]+\.trycloudflare\.com)", line) - Network accessline 237
import re match = re.search(r"(https://[a-zA-Z0-9\-]+\.trycloudflare\.com)", line) if match: - Network accessline 238
match = re.search(r"(https://[a-zA-Z0-9\-]+\.trycloudflare\.com)", line) - Access to secretsline 332
[Credential-related source omitted] - Access to secretsline 337
[Credential-related source omitted] - Access to secretsline 354
[Credential-related source omitted] - Access to secretsline 375
[Credential-related source omitted] - Access to secretsline 378
[Credential-related source omitted] - Access to secretsline 387
[Credential-related source omitted] - Access to secretsline 393
[Credential-related source omitted] - Access to secretsline 398
[Credential-related source omitted] - Access to secretsline 406
[Credential-related source omitted] - Network accessline 549
print(f"\n 本地访问: http://localhost:{args.port}/{filename}")
skills/deep-analysis/scripts/assemble_report.py
skills/deep-analysis/scripts/compute_deep_methods.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/compute_friendly.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/compute_segmental.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/deep-analysis/scripts/fetch_basic.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_capital_flow.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_chain.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_contests.py
- Executable scriptline 1
Executable file - Network accessline 43
def _xq_session() -> requests.Session: s = requests.Session() - Network accessline 44
s = requests.Session() - Network accessline 45
s.headers.update({"User-Agent": UA, "Referer": "https://xueqiu.com/"}) - Network accessline 46
try: s.get("https://xueqiu.com/", timeout=10) except Exception: - Network accessline 47
s.get("https://xueqiu.com/", timeout=10) - Network accessline 74
sess = _xq_session() symbol = _xq_symbol(ti) url = f"https://xueqiu.com/query/v1/search/cube/stock.json?q={symbol}&count={limit}&page=1" - Network accessline 75
symbol = _xq_symbol(ti) url = f"https://xueqiu.com/query/v1/search/cube/stock.json?q={symbol}&count={limit}&page=1" meta = {"http_status": None, "source": "http", "login_required": False} - Network accessline 76
url = f"https://xueqiu.com/query/v1/search/cube/stock.json?q={symbol}&count={limit}&page=1" - Network accessline 122
"total_gain": c.get("total_gain"), "annualized_gain_rate": c.get("annualized_gain_rate"), "url": f"https://xueqiu.com/P/{c.get('symbol')}" if c.get("symbol") else None, - Network accessline 123
"annualized_gain_rate": c.get("annualized_gain_rate"), "url": f"https://xueqiu.com/P/{c.get('symbol')}" if c.get("symbol") else None, "stocks_count": c.get("stocks_count"), - Network accessline 124
"url": f"https://xueqiu.com/P/{c.get('symbol')}" if c.get("symbol") else None, - Network accessline 136
code = ti.code url = f"https://www.taoguba.com.cn/Article/list/all?keyword={code}" - Network accessline 137
url = f"https://www.taoguba.com.cn/Article/list/all?keyword={code}" - Network accessline 138
headers = {"User-Agent": UA} try: r = requests.get(url, headers=headers, timeout=15) - Network accessline 139
try: r = requests.get(url, headers=headers, timeout=15) if r.status_code != 200: - Network accessline 140
r = requests.get(url, headers=headers, timeout=15) - Network accessline 150
out.append({ "title": title.strip(), "url": f"https://www.taoguba.com.cn{href}", - Network accessline 151
"title": title.strip(), "url": f"https://www.taoguba.com.cn{href}", }) - Network accessline 152
"url": f"https://www.taoguba.com.cn{href}", - Network accessline 166
code = ti.code url = f"https://moni.10jqka.com.cn/holder/?stock={code}" - Network accessline 167
url = f"https://moni.10jqka.com.cn/holder/?stock={code}" - Network accessline 168
headers = {"User-Agent": UA, "Referer": "https://moni.10jqka.com.cn/"} try: r = requests.get(url, headers=headers, timeout=12) - Network accessline 169
try: r = requests.get(url, headers=headers, timeout=12) if r.status_code != 200 or "Just a moment" in r.text: - Network accessline 170
r = requests.get(url, headers=headers, timeout=12) - Network accessline 184
url = "https://www.dpswang.com/match/list" try: r = requests.get(url, headers={"User-Agent": UA}, timeout=12) - Network accessline 185
try: r = requests.get(url, headers={"User-Agent": UA}, timeout=12) if r.status_code != 200: - Network accessline 186
r = requests.get(url, headers={"User-Agent": UA}, timeout=12)
skills/deep-analysis/scripts/fetch_events.py
- Executable scriptline 1
Executable file - Network accessline 40
url = "http://www.cninfo.com.cn/new/hisAnnouncement/query" - Network accessline 42
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36", "Accept": "application/json", "Origin": "http://www.cninfo.com.cn", - Network accessline 43
"Accept": "application/json", "Origin": "http://www.cninfo.com.cn", "Referer": "http://www.cninfo.com.cn/new/commonUrl/pageOfSearch?url=disclosure/list/search", - Network accessline 44
"Origin": "http://www.cninfo.com.cn", - Network accessline 45
"Referer": "http://www.cninfo.com.cn/new/commonUrl/pageOfSearch?url=disclosure/list/search", - Network accessline 62
} try: r = requests.post(url, data=payload, headers=headers, timeout=timeout) - Network accessline 63
try: r = requests.post(url, data=payload, headers=headers, timeout=timeout) if r.status_code != 200: - Network accessline 64
r = requests.post(url, data=payload, headers=headers, timeout=timeout) - Network accessline 83
ann_url = a.get("adjunctUrl") or "" if ann_url and not ann_url.startswith("http"): ann_url = f"http://static.cninfo.com.cn/{ann_url.lstrip('/')}" - Network accessline 84
if ann_url and not ann_url.startswith("http"): ann_url = f"http://static.cninfo.com.cn/{ann_url.lstrip('/')}" rows.append({ - Network accessline 85
ann_url = f"http://static.cninfo.com.cn/{ann_url.lstrip('/')}" - Access to secretsline 112
[Credential-related source omitted]
skills/deep-analysis/scripts/fetch_financials.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_fund_holders.py
- Executable scriptline 1
Executable file - Network accessline 18
"peer_rank_pct": 5, "nav_history": [1.0, 1.08, ...], "fund_url": "https://fund.eastmoney.com/005827.html", - Network accessline 19
"nav_history": [1.0, 1.08, ...], "fund_url": "https://fund.eastmoney.com/005827.html", }, - Network accessline 20
"fund_url": "https://fund.eastmoney.com/005827.html", - Network accessline 312
"peer_rank_pct": None, "nav_history": [], "fund_url": f"https://fund.eastmoney.com/{fund_code}.html", - Network accessline 313
"nav_history": [], "fund_url": f"https://fund.eastmoney.com/{fund_code}.html", "_row_type": "lite", # 降级 - Network accessline 314
"fund_url": f"https://fund.eastmoney.com/{fund_code}.html", - Network accessline 332
"peer_rank_pct": 50, "nav_history": stats.get("nav_history", []), "fund_url": f"https://fund.eastmoney.com/{fund_code}.html", - Network accessline 333
"nav_history": stats.get("nav_history", []), "fund_url": f"https://fund.eastmoney.com/{fund_code}.html", "_row_type": "full", - Network accessline 334
"fund_url": f"https://fund.eastmoney.com/{fund_code}.html", - Network accessline 361
"peer_rank_pct": None, "nav_history": [], "fund_url": f"https://fund.eastmoney.com/{fund_code}.html", - Network accessline 362
"nav_history": [], "fund_url": f"https://fund.eastmoney.com/{fund_code}.html", "_row_type": "lite", - Network accessline 363
"fund_url": f"https://fund.eastmoney.com/{fund_code}.html",
skills/deep-analysis/scripts/fetch_futures.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_governance.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_industry.py
skills/deep-analysis/scripts/fetch_kline.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_lhb.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_macro.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_materials.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_moat.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_peers.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_policy.py
- Executable scriptline 1
Executable file - Network accessline 18
try: import requests r = requests.get( - Network accessline 19
import requests r = requests.get( "http://www.cfachina.org/", - Network accessline 20
r = requests.get( - Network accessline 21
"http://www.cfachina.org/", - Network accessline 46
seen.add(t) if href.startswith("/"): url = "http://www.cfachina.org" + href - Network accessline 47
if href.startswith("/"): url = "http://www.cfachina.org" + href elif href.startswith("http"): - Network accessline 48
url = "http://www.cfachina.org" + href - Network accessline 50
url = href else: url = "http://www.cfachina.org/" + href.lstrip("./") - Network accessline 51
else: url = "http://www.cfachina.org/" + href.lstrip("./") titles.append({"title": t[:80], "body": "", "url": url}) - Network accessline 52
url = "http://www.cfachina.org/" + href.lstrip("./")
skills/deep-analysis/scripts/fetch_research.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_sentiment.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_similar_stocks.py
- Executable scriptline 1
Executable file - Network accessline 254
"market_cap": basic.get("market_cap"), "change_pct": basic.get("change_pct"), "url": f"https://xueqiu.com/S/SZ{code}" if ti.full.endswith("SZ") else f"https://xueqiu.com/S/SH{code}", - Network accessline 255
"change_pct": basic.get("change_pct"), "url": f"https://xueqiu.com/S/SZ{code}" if ti.full.endswith("SZ") else f"https://xueqiu.com/S/SH{code}", }) - Network accessline 256
"url": f"https://xueqiu.com/S/SZ{code}" if ti.full.endswith("SZ") else f"https://xueqiu.com/S/SH{code}",
skills/deep-analysis/scripts/fetch_trap_signals.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/fetch_valuation.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/gen_pixel_avatars.py
- Executable scriptline 1
Executable file - Network accessline 27
DICEBEAR_BASE = "https://api.dicebear.com/9.x/pixel-art/svg" - Network accessline 48
url = f"{DICEBEAR_BASE}?{urllib.parse.urlencode(params)}" try: req = urllib.request.Request(url, headers={"User-Agent": "stock-deep-analyzer/0.1"}) - Network accessline 49
try: req = urllib.request.Request(url, headers={"User-Agent": "stock-deep-analyzer/0.1"}) with urllib.request.urlopen(req, timeout=timeout) as r: - Network accessline 50
req = urllib.request.Request(url, headers={"User-Agent": "stock-deep-analyzer/0.1"}) - Network accessline 51
with urllib.request.urlopen(req, timeout=timeout) as r: - Network accessline 69
cells.append(f'<rect x="{x * 16}" y="{y * 16}" width="16" height="16" fill="{color}"/>') cells.append(f'<rect x="{(7 - x) * 16}" y="{y * 16}" width="16" height="16" fill="{color}"/>') return f'''<svg xmlns="http://www.w3 - Network accessline 70
cells.append(f'<rect x="{(7 - x) * 16}" y="{y * 16}" width="16" height="16" fill="{color}"/>') return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" width="128" height="128"> <rect width="128" height="128" fill="#0a0e - Network accessline 71
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" width="128" height="128">
skills/deep-analysis/scripts/inline_assets.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/__init__.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/agent_analysis_validator.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/agent_review.py
skills/deep-analysis/scripts/lib/analysis_profile.py
- Executable scriptline 1
Executable file - Access to secretsline 224
[Credential-related source omitted] - Access to secretsline 227
[Credential-related source omitted] - Access to secretsline 240
[Credential-related source omitted] - Access to secretsline 241
[Credential-related source omitted] - Access to secretsline 242
[Credential-related source omitted] - Access to secretsline 243
[Credential-related source omitted]
skills/deep-analysis/scripts/lib/cache.py
skills/deep-analysis/scripts/lib/daily_screen/__init__.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/daily_screen/events.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/daily_screen/execution.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/daily_screen/models.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/daily_screen/personas.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/daily_screen/ranker.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/daily_screen/renderer.py
- Executable scriptline 1
Executable file - Possible obfuscationline 66
:root{{--bg:#0b0f14;--panel:#121821;--line:#283241;--text:#edf2f7;--muted:#8b98a8;--green:#2dd4bf;--red:#fb7185;--gold:#fbbf24;--blue:#60a5fa}}*{{box-sizing:border-box}}body{{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Int
skills/deep-analysis/scripts/lib/daily_screen/runner.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/daily_screen/sources.py
- Executable scriptline 1
Executable file - Network accessline 17
TZ = ZoneInfo("Asia/Shanghai") DATACENTER = "https://datacenter.eastmoney.com/securities/api/data/v1/get" - Network accessline 18
DATACENTER = "https://datacenter.eastmoney.com/securities/api/data/v1/get" - Network accessline 19
QUOTE = "https://push2.eastmoney.com/api/qt/stock/get" - Network accessline 20
MINUTES = "https://push2his.eastmoney.com/api/qt/stock/trends2/get" - Network accessline 30
def _response(url: str, params: dict | None = None): response = requests.get(url, params=params, timeout=(3, 8), - Network accessline 31
response = requests.get(url, params=params, timeout=(3, 8), - Network accessline 134
partial = {} try: quote = parse_tencent(_response(f"https://qt.gtimg.cn/q={exchange.lower()}{raw}").content.decode("gbk"), stock.code) - Network accessline 135
try: quote = parse_tencent(_response(f"https://qt.gtimg.cn/q={exchange.lower()}{raw}").content.decode("gbk"), stock.code) partial = quote - Network accessline 136
quote = parse_tencent(_response(f"https://qt.gtimg.cn/q={exchange.lower()}{raw}").content.decode("gbk"), stock.code) - Network accessline 225
if len(stock.extra["intraday"]["bars"]) < 3: try: payload = _json("https://web.ifzq.gtimg.cn/appstock/app/minute/query", {"code": exchange.lower() + raw}) - Network accessline 226
try: payload = _json("https://web.ifzq.gtimg.cn/appstock/app/minute/query", {"code": exchange.lower() + raw}) bars = parse_tencent_minutes(payload, stock.code, quote["quote_at"]) - Network accessline 227
payload = _json("https://web.ifzq.gtimg.cn/appstock/app/minute/query", {"code": exchange.lower() + raw})
skills/deep-analysis/scripts/lib/daily_screen/themes.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/daily_screen/tracker.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/daily_screen/universe.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/data_integrity.py
- Executable scriptline 1
Executable file - Network accessline 169
_RECOVERY_HINTS: dict[tuple[str, str], list[str]] = { ("0_basic", "name"): ["mx: '{code} 公司简称'", "browser: https://xueqiu.com/S/{code_raw}", "ws: '{code} 公司简介'"], - Network accessline 170
("0_basic", "name"): ["mx: '{code} 公司简称'", "browser: https://xueqiu.com/S/{code_raw}", "ws: '{code} 公司简介'"], - Network accessline 171
("0_basic", "price"): ["mx: '{code} 最新价'", "browser: https://xueqiu.com/S/{code_raw}", "ws: '{code} 股价 2026'"], - Network accessline 172
("0_basic", "industry"): ["mx: '{code} 所属申万行业'", "browser: https://xueqiu.com/S/{code_raw}/F10", "ws: '{code} 所属行业'"], - Network accessline 173
("0_basic", "market_cap"): ["mx: '{code} 总市值'", "browser: https://quote.eastmoney.com/{eastmoney_code}.html", "ws: '{code} 市值'"], - Network accessline 174
("0_basic", "pe_ttm"): ["mx: '{code} 市盈率TTM'", "browser: https://xueqiu.com/S/{code_raw}", "infer: 市值 / 归母净利润"], - Network accessline 175
("0_basic", "pb"): ["mx: '{code} 市净率'", "browser: https://xueqiu.com/S/{code_raw}"], - Network accessline 176
("1_financials", "roe_history"): ["mx: '{code} 最近5年ROE'", "browser: https://xueqiu.com/S/{code_raw}/F10/main"], - Network accessline 177
("1_financials", "revenue_history"): ["mx: '{code} 最近5年营业收入'", "browser: https://xueqiu.com/S/{code_raw}/F10/main"], - Network accessline 178
("1_financials", "net_profit_history"): ["mx: '{code} 最近5年净利润'", "browser: https://xueqiu.com/S/{code_raw}/F10/main"], - Network accessline 179
("1_financials", "financial_health"): ["infer: 从 ROE/debt_ratio/fcf 综合判断", "mx: '{code} 财务健康度'"], ("2_kline", "stage"): ["infer: 从 ma20/ma60 多空排列推断 Wyckoff stage", "browser: https://xueqiu.com/S/{code_raw}"], ("10_valuation - Network accessline 180
("2_kline", "stage"): ["infer: 从 ma20/ma60 多空排列推断 Wyckoff stage", "browser: https://xueqiu.com/S/{code_raw}"], - Network accessline 181
("10_valuation", "pe"): ["mx: '{code} 市盈率'", "browser: https://xueqiu.com/S/{code_raw}"], - Network accessline 190
"3_macro": ["ws: '中国 {industry} 宏观环境 利率 2026'"], "4_peers": ["mx: '{industry} 同行业公司 市值排名'", "ws: '{name} 同行业竞争者 对比'"], "5_chain": ["browser: https://xueqiu.com/S/{code_raw}/F10", "ws: '{name} 上下游产业链'"], - Network accessline 191
"4_peers": ["mx: '{industry} 同行业公司 市值排名'", "ws: '{name} 同行业竞争者 对比'"], "5_chain": ["browser: https://xueqiu.com/S/{code_raw}/F10", "ws: '{name} 上下游产业链'"], "6_research": ["mx: '{code} 券商研报 目标价'", "ws: '{name} 最新研报 20 - Network accessline 192
"5_chain": ["browser: https://xueqiu.com/S/{code_raw}/F10", "ws: '{name} 上下游产业链'"], - Network accessline 195
"8_materials": ["ws: '{name} 原材料 成本构成'"], "9_futures": ["ws: '{industry} 期货 相关品种'"], "11_governance": ["mx: '{code} 股东结构 高管减持'", "browser: https://quote.eastmoney.com/{eastmoney_code}.html"], - Network accessline 196
"9_futures": ["ws: '{industry} 期货 相关品种'"], "11_governance": ["mx: '{code} 股东结构 高管减持'", "browser: https://quote.eastmoney.com/{eastmoney_code}.html"], "12_capital_flow":["mx: '{code} 北向持仓 融资融券'", "browser: https://data.eastmone - Network accessline 197
"11_governance": ["mx: '{code} 股东结构 高管减持'", "browser: https://quote.eastmoney.com/{eastmoney_code}.html"], - Network accessline 198
"12_capital_flow":["mx: '{code} 北向持仓 融资融券'", "browser: https://data.eastmoney.com/zlsj/{code_raw}.html"], - Network accessline 200
"14_moat": ["ws: '{name} 核心竞争力 技术壁垒 市场份额'"], "15_events": ["mx: '{code} 最新公告'", "ws: '{name} {code} 最新公告 中标 研发 2026'"], "16_lhb": ["mx: '{code} 龙虎榜'", "browser: https://data.eastmoney.com/stock/lhb/{code_raw}.htm - Network accessline 201
"15_events": ["mx: '{code} 最新公告'", "ws: '{name} {code} 最新公告 中标 研发 2026'"], "16_lhb": ["mx: '{code} 龙虎榜'", "browser: https://data.eastmoney.com/stock/lhb/{code_raw}.html"], "17_sentiment": ["browser: https://xueqiu.com - Network accessline 202
"16_lhb": ["mx: '{code} 龙虎榜'", "browser: https://data.eastmoney.com/stock/lhb/{code_raw}.html"], - Network accessline 203
"17_sentiment": ["browser: https://xueqiu.com/S/{code_raw}", "ws: 'site:xueqiu.com {code}'"],
skills/deep-analysis/scripts/lib/data_source_registry.py
- Executable scriptline 1
Executable file - Network accessline 52
DataSource( "em_push2", "东方财富 push2", "https://push2.eastmoney.com/api/qt/stock/get", - Network accessline 53
"em_push2", "东方财富 push2", "https://push2.eastmoney.com/api/qt/stock/get", ("A", "H", "U"), - Network accessline 54
"https://push2.eastmoney.com/api/qt/stock/get", - Network accessline 60
DataSource( "em_quote", "东方财富 quote 页", "https://quote.eastmoney.com/", - Network accessline 61
"em_quote", "东方财富 quote 页", "https://quote.eastmoney.com/", ("A", "H", "U"), - Network accessline 62
"https://quote.eastmoney.com/", - Network accessline 68
DataSource( "em_data", "东方财富 data 子域", "https://data.eastmoney.com/", - Network accessline 69
"em_data", "东方财富 data 子域", "https://data.eastmoney.com/", ("A",), - Network accessline 70
"https://data.eastmoney.com/", - Network accessline 76
DataSource( "xq_api", "雪球 akshare backend", "https://stock.xueqiu.com/", - Network accessline 77
"xq_api", "雪球 akshare backend", "https://stock.xueqiu.com/", ("A", "H"), - Network accessline 78
"https://stock.xueqiu.com/", - Network accessline 84
DataSource( "tencent_qt", "腾讯行情 qt", "https://qt.gtimg.cn/", - Network accessline 85
"tencent_qt", "腾讯行情 qt", "https://qt.gtimg.cn/", ("A", "H", "U"), - Network accessline 86
"https://qt.gtimg.cn/", - Network accessline 92
DataSource( "sina_quote", "新浪财经行情", "https://finance.sina.com.cn/", - Network accessline 93
"sina_quote", "新浪财经行情", "https://finance.sina.com.cn/", ("A", "H", "U"), - Network accessline 94
"https://finance.sina.com.cn/", - Network accessline 100
DataSource( "cninfo", "巨潮资讯", "http://www.cninfo.com.cn/", - Network accessline 101
"cninfo", "巨潮资讯", "http://www.cninfo.com.cn/", ("A",), - Network accessline 102
"http://www.cninfo.com.cn/", - Network accessline 108
DataSource( "hkexnews", "HKEXNews 港交所披露易", "https://www1.hkexnews.hk/", - Network accessline 109
"hkexnews", "HKEXNews 港交所披露易", "https://www1.hkexnews.hk/", ("H",), - Network accessline 110
"https://www1.hkexnews.hk/", - Network accessline 116
DataSource( "aastocks", "AASTOCKS 港股", "https://www.aastocks.com/", - Network accessline 117
"aastocks", "AASTOCKS 港股", "https://www.aastocks.com/", ("H",), - Network accessline 118
"https://www.aastocks.com/", - Network accessline 124
DataSource( "cls", "财联社 7x24 电报", "https://www.cls.cn/", - Network accessline 125
"cls", "财联社 7x24 电报", "https://www.cls.cn/", ("A", "H", "U"), - Network accessline 126
"https://www.cls.cn/", - Network accessline 132
DataSource( "yicai", "第一财经", "https://www.yicai.com/", - Network accessline 133
"yicai", "第一财经", "https://www.yicai.com/", ("A", "H"), - Network accessline 134
"https://www.yicai.com/", - Network accessline 140
DataSource( "wallstreetcn", "华尔街见闻", "https://wallstreetcn.com/", - Network accessline 141
"wallstreetcn", "华尔街见闻", "https://wallstreetcn.com/", ("A", "H", "U"), - Network accessline 142
"https://wallstreetcn.com/", - Network accessline 148
DataSource( "cfi", "中财网", "https://quote.cfi.cn/", - Network accessline 149
"cfi", "中财网", "https://quote.cfi.cn/", ("A",), - Network accessline 150
"https://quote.cfi.cn/", - Network accessline 156
DataSource( "hexun", "和讯网", "https://stock.hexun.com/", - Network accessline 157
"hexun", "和讯网", "https://stock.hexun.com/", ("A",), - Network accessline 158
"https://stock.hexun.com/", - Network accessline 164
DataSource( "163money", "网易财经", "https://money.163.com/", - Network accessline 165
"163money", "网易财经", "https://money.163.com/", ("A", "U"), - Network accessline 166
"https://money.163.com/", - Network accessline 172
DataSource( "jrj", "金融界", "https://stock.jrj.com.cn/", - Network accessline 173
"jrj", "金融界", "https://stock.jrj.com.cn/", ("A",), - Network accessline 174
"https://stock.jrj.com.cn/", - Network accessline 180
DataSource( "investing", "Investing.com", "https://www.investing.com/", - Network accessline 181
"investing", "Investing.com", "https://www.investing.com/", ("U",), - Network accessline 182
"https://www.investing.com/", - Network accessline 188
DataSource( "mx_api", "东方财富妙想 Skills Hub", "https://mkapi2.dfcfs.com/finskillshub/", - Network accessline 189
"mx_api", "东方财富妙想 Skills Hub", "https://mkapi2.dfcfs.com/finskillshub/", ("A", "H", "U"), - Network accessline 190
"https://mkapi2.dfcfs.com/finskillshub/", - Network accessline 196
DataSource( "akshare_lhb", "akshare 龙虎榜", "https://akshare.akfamily.xyz/", - Network accessline 197
"akshare_lhb", "akshare 龙虎榜", "https://akshare.akfamily.xyz/", ("A",), - Network accessline 198
"https://akshare.akfamily.xyz/", - Network accessline 204
DataSource( "baostock", "BaoStock", "http://baostock.com/", - Network accessline 205
"baostock", "BaoStock", "http://baostock.com/", ("A",), - Network accessline 206
"http://baostock.com/", - Network accessline 212
DataSource( "yfinance", "Yahoo Finance", "https://finance.yahoo.com/", - Network accessline 213
"yfinance", "Yahoo Finance", "https://finance.yahoo.com/", ("U", "H"), - Network accessline 214
"https://finance.yahoo.com/", - Network accessline 220
DataSource( "ddgs", "DuckDuckGo 搜索", "https://duckduckgo.com/", - Network accessline 221
"ddgs", "DuckDuckGo 搜索", "https://duckduckgo.com/", ("A", "H", "U"), - Network accessline 222
"https://duckduckgo.com/", - Network accessline 228
# ── v2.13.4 新增 · 公开无 Key 源(经 curl 真实验证 2026-04-19)── - Network accessline 229
DataSource( "yahoo_chart_v8", "Yahoo Finance Chart v8 (HTTP)", "https://query1.finance.yahoo.com/v8/finance/chart/", - Network accessline 230
"yahoo_chart_v8", "Yahoo Finance Chart v8 (HTTP)", "https://query1.finance.yahoo.com/v8/finance/chart/", ("U", "H"), - Network accessline 231
"https://query1.finance.yahoo.com/v8/finance/chart/", - Network accessline 237
DataSource( "yahoo_equity_screener", "Yahoo Finance 全球股票筛选", "https://query2.finance.yahoo.com/v1/finance/screener", - Network accessline 238
"yahoo_equity_screener", "Yahoo Finance 全球股票筛选", "https://query2.finance.yahoo.com/v1/finance/screener", GLOBAL_MARKETS, - Network accessline 239
"https://query2.finance.yahoo.com/v1/finance/screener", - Network accessline 245
DataSource( "yahoo_fundamentals_timeseries", "Yahoo Finance 全球年度财务时序", "https://query2.finance.yahoo.com/ws/fundamentals-timeseries/v1/finance/timeseries/", - Network accessline 246
"yahoo_fundamentals_timeseries", "Yahoo Finance 全球年度财务时序", "https://query2.finance.yahoo.com/ws/fundamentals-timeseries/v1/finance/timeseries/", GLOBAL_MARKETS, - Network accessline 247
"https://query2.finance.yahoo.com/ws/fundamentals-timeseries/v1/finance/timeseries/", - Network accessline 253
DataSource( "yahoo_fx_chart", "Yahoo Finance 外汇 Chart", "https://query1.finance.yahoo.com/v8/finance/chart/JPYUSD=X", - Network accessline 254
"yahoo_fx_chart", "Yahoo Finance 外汇 Chart", "https://query1.finance.yahoo.com/v8/finance/chart/JPYUSD=X", GLOBAL_MARKETS, - Network accessline 255
"https://query1.finance.yahoo.com/v8/finance/chart/JPYUSD=X", - Network accessline 261
DataSource( "tencent_hk_quote", "腾讯港股实时 qt.gtimg.cn", "http://qt.gtimg.cn/q=hk00700", - Network accessline 262
"tencent_hk_quote", "腾讯港股实时 qt.gtimg.cn", "http://qt.gtimg.cn/q=hk00700", ("H",), - Network accessline 263
"http://qt.gtimg.cn/q=hk00700", - Network accessline 269
DataSource( "coingecko_simple_price", "CoinGecko Simple Price", "https://api.coingecko.com/api/v3/simple/price", - Network accessline 270
"coingecko_simple_price", "CoinGecko Simple Price", "https://api.coingecko.com/api/v3/simple/price", ("U",), - Network accessline 271
"https://api.coingecko.com/api/v3/simple/price", - Network accessline 277
DataSource( "coingecko_markets", "CoinGecko Markets", "https://api.coingecko.com/api/v3/coins/markets", - Network accessline 278
"coingecko_markets", "CoinGecko Markets", "https://api.coingecko.com/api/v3/coins/markets", ("U",), - Network accessline 279
"https://api.coingecko.com/api/v3/coins/markets", - Network accessline 285
DataSource( "okx_spot_tickers", "OKX 现货 tickers (API v5)", "https://www.okx.com/api/v5/market/tickers?instType=SPOT", - Network accessline 286
"okx_spot_tickers", "OKX 现货 tickers (API v5)", "https://www.okx.com/api/v5/market/tickers?instType=SPOT", ("U",), - Network accessline 287
"https://www.okx.com/api/v5/market/tickers?instType=SPOT", - Network accessline 293
DataSource( "kucoin_stats", "KuCoin 24h 统计", "https://api.kucoin.com/api/v1/market/stats", - Network accessline 294
"kucoin_stats", "KuCoin 24h 统计", "https://api.kucoin.com/api/v1/market/stats", ("U",), - Network accessline 295
"https://api.kucoin.com/api/v1/market/stats", - Network accessline 301
DataSource( "kraken_trades", "Kraken 公开成交", "https://api.kraken.com/0/public/Trades", - Network accessline 302
"kraken_trades", "Kraken 公开成交", "https://api.kraken.com/0/public/Trades", ("U",), - Network accessline 303
"https://api.kraken.com/0/public/Trades", - Network accessline 309
DataSource( "gemini_ticker", "Gemini 行情", "https://api.gemini.com/v2/ticker/btcusd", - Network accessline 310
"gemini_ticker", "Gemini 行情", "https://api.gemini.com/v2/ticker/btcusd", ("U",), - Network accessline 311
"https://api.gemini.com/v2/ticker/btcusd", - Network accessline 317
DataSource( "coinlore_tickers", "CoinLore 全量币种", "https://api.coinlore.net/api/tickers/", - Network accessline 318
"coinlore_tickers", "CoinLore 全量币种", "https://api.coinlore.net/api/tickers/", ("U",), - Network accessline 319
"https://api.coinlore.net/api/tickers/", - Network accessline 325
DataSource( "geckoterminal_networks", "GeckoTerminal DEX Networks", "https://api.geckoterminal.com/api/v2/networks", - Network accessline 326
"geckoterminal_networks", "GeckoTerminal DEX Networks", "https://api.geckoterminal.com/api/v2/networks", ("U",), - Network accessline 327
"https://api.geckoterminal.com/api/v2/networks", - Network accessline 333
# ── v2.13.6 新增 · 期货/新闻源(curl 真实验证 2026-04-19)── - Network accessline 334
DataSource( "jin10_flash", "金十数据实时快讯", "https://www.jin10.com/flash_newest.js", - Network accessline 335
"jin10_flash", "金十数据实时快讯", "https://www.jin10.com/flash_newest.js", ("A", "H", "U"), - Network accessline 336
"https://www.jin10.com/flash_newest.js", - Network accessline 342
DataSource( "em_kuaixun", "东财快讯 (kuaixun) · 类财联社", "https://newsapi.eastmoney.com/kuaixun/v1/getlist_102_ajaxResult_50_1_.html", - Network accessline 343
"em_kuaixun", "东财快讯 (kuaixun) · 类财联社", "https://newsapi.eastmoney.com/kuaixun/v1/getlist_102_ajaxResult_50_1_.html", ("A", "H", "U"), - Network accessline 344
"https://newsapi.eastmoney.com/kuaixun/v1/getlist_102_ajaxResult_50_1_.html", - Network accessline 350
DataSource( "em_stock_ann", "东财上市公司公告", "https://np-anotice-stock.eastmoney.com/api/security/ann", - Network accessline 351
"em_stock_ann", "东财上市公司公告", "https://np-anotice-stock.eastmoney.com/api/security/ann", ("A",), - Network accessline 352
"https://np-anotice-stock.eastmoney.com/api/security/ann", - Network accessline 358
DataSource( "qh99_inventory", "99 期货网 · 库存/现货/基差", "https://www.99qh.com/", - Network accessline 359
"qh99_inventory", "99 期货网 · 库存/现货/基差", "https://www.99qh.com/", ("A",), - Network accessline 360
"https://www.99qh.com/", - Network accessline 366
DataSource( "cfachina", "中国期货业协会", "http://www.cfachina.org/", - Network accessline 367
"cfachina", "中国期货业协会", "http://www.cfachina.org/", ("A",), - Network accessline 368
"http://www.cfachina.org/", - Network accessline 374
DataSource( "ths_news_today", "同花顺今日财经快讯", "http://news.10jqka.com.cn/today_list/", - Network accessline 375
"ths_news_today", "同花顺今日财经快讯", "http://news.10jqka.com.cn/today_list/", ("A", "H"), - Network accessline 376
"http://news.10jqka.com.cn/today_list/", - Network accessline 389
DataSource( "iwencai", "问财(同花顺 NLP 筛选)", "https://www.iwencai.com/", - Network accessline 390
"iwencai", "问财(同花顺 NLP 筛选)", "https://www.iwencai.com/", ("A",), - Network accessline 391
"https://www.iwencai.com/", - Network accessline 397
DataSource( "ths_f10", "同花顺 F10", "https://stockpage.10jqka.com.cn/", - Network accessline 398
"ths_f10", "同花顺 F10", "https://stockpage.10jqka.com.cn/", ("A", "H"), - Network accessline 399
"https://stockpage.10jqka.com.cn/", - Network accessline 405
DataSource( "xueqiu_f10", "雪球 F10 / 讨论", "https://xueqiu.com/", - Network accessline 406
"xueqiu_f10", "雪球 F10 / 讨论", "https://xueqiu.com/", ("A", "H", "U"), - Network accessline 407
"https://xueqiu.com/", - Network accessline 413
DataSource( "legulegu", "乐咕乐股估值历史", "https://legulegu.com/", - Network accessline 414
"legulegu", "乐咕乐股估值历史", "https://legulegu.com/", ("A",), - Network accessline 415
"https://legulegu.com/", - Network accessline 421
DataSource( "stockstar", "证券之星", "https://stock.stockstar.com/", - Network accessline 422
"stockstar", "证券之星", "https://stock.stockstar.com/", ("A",), - Network accessline 423
"https://stock.stockstar.com/", - Network accessline 429
DataSource( "futu", "富途牛牛", "https://www.futunn.com/", - Network accessline 430
"futu", "富途牛牛", "https://www.futunn.com/", ("H", "U"), - Network accessline 431
"https://www.futunn.com/", - Network accessline 437
DataSource( "yuncaijing", "云财经龙虎榜", "https://www.yuncaijing.com/", - Network accessline 438
"yuncaijing", "云财经龙虎榜", "https://www.yuncaijing.com/", ("A",), - Network accessline 439
"https://www.yuncaijing.com/", - Network accessline 451
DataSource( "sse", "上海证券交易所", "https://www.sse.com.cn/", - Network accessline 452
"sse", "上海证券交易所", "https://www.sse.com.cn/", ("A",), - Network accessline 453
"https://www.sse.com.cn/", - Network accessline 459
DataSource( "szse", "深圳证券交易所", "https://www.szse.cn/", - Network accessline 460
"szse", "深圳证券交易所", "https://www.szse.cn/", ("A",), - Network accessline 461
"https://www.szse.cn/", - Network accessline 467
DataSource( "csrc", "中国证监会", "http://www.csrc.gov.cn/", - Network accessline 468
"csrc", "中国证监会", "http://www.csrc.gov.cn/", ("A",), - Network accessline 469
"http://www.csrc.gov.cn/", - Network accessline 475
DataSource( "gov_cn", "国务院政策", "https://www.gov.cn/zhengce/", - Network accessline 476
"gov_cn", "国务院政策", "https://www.gov.cn/zhengce/", ("A", "H"), - Network accessline 477
"https://www.gov.cn/zhengce/", - Network accessline 483
DataSource( "miit", "工信部", "https://www.miit.gov.cn/", - Network accessline 484
"miit", "工信部", "https://www.miit.gov.cn/", ("A",), - Network accessline 485
"https://www.miit.gov.cn/", - Network accessline 491
DataSource( "ndrc", "发改委", "https://www.ndrc.gov.cn/", - Network accessline 492
"ndrc", "发改委", "https://www.ndrc.gov.cn/", ("A",), - Network accessline 493
"https://www.ndrc.gov.cn/", - Network accessline 499
DataSource( "samr", "市场监管总局", "https://www.samr.gov.cn/", - Network accessline 500
"samr", "市场监管总局", "https://www.samr.gov.cn/", ("A",), - Network accessline 501
"https://www.samr.gov.cn/", - Network accessline 507
DataSource( "shfe", "上海期货交易所", "https://www.shfe.com.cn/", - Network accessline 508
"shfe", "上海期货交易所", "https://www.shfe.com.cn/", ("A",), - Network accessline 509
"https://www.shfe.com.cn/", - Network accessline 515
DataSource( "dce", "大连商品交易所", "https://www.dce.com.cn/", - Network accessline 516
"dce", "大连商品交易所", "https://www.dce.com.cn/", ("A",), - Network accessline 517
"https://www.dce.com.cn/", - Network accessline 523
DataSource( "czce", "郑州商品交易所", "https://www.czce.com.cn/", - Network accessline 524
"czce", "郑州商品交易所", "https://www.czce.com.cn/", ("A",), - Network accessline 525
"https://www.czce.com.cn/", - Network accessline 531
DataSource( "100ppi", "生意社现货", "https://www.100ppi.com/", - Network accessline 532
"100ppi", "生意社现货", "https://www.100ppi.com/", ("A",), - Network accessline 533
"https://www.100ppi.com/", - Network accessline 541
DataSource( "cnstock", "中国证券网", "https://www.cnstock.com/", - Network accessline 542
"cnstock", "中国证券网", "https://www.cnstock.com/", ("A", "H"), - Network accessline 543
"https://www.cnstock.com/", - Network accessline 549
DataSource( "cs_cn", "中证网", "https://www.cs.com.cn/", - Network accessline 550
"cs_cn", "中证网", "https://www.cs.com.cn/", ("A", "H"), - Network accessline 551
"https://www.cs.com.cn/", - Network accessline 557
DataSource( "stcn", "证券时报", "https://www.stcn.com/", - Network accessline 558
"stcn", "证券时报", "https://www.stcn.com/", ("A", "H"), - Network accessline 559
"https://www.stcn.com/", - Network accessline 565
DataSource( "nbd", "每日经济新闻", "https://www.nbd.com.cn/", - Network accessline 566
"nbd", "每日经济新闻", "https://www.nbd.com.cn/", ("A", "H", "U"), - Network accessline 567
"https://www.nbd.com.cn/", - Network accessline 575
DataSource( "pbc", "中国人民银行", "http://www.pbc.gov.cn/", - Network accessline 576
"pbc", "中国人民银行", "http://www.pbc.gov.cn/", ("A", "H"), - Network accessline 577
"http://www.pbc.gov.cn/", - Network accessline 583
DataSource( "safe", "国家外汇管理局", "https://www.safe.gov.cn/", - Network accessline 584
"safe", "国家外汇管理局", "https://www.safe.gov.cn/", ("A", "H", "U"), - Network accessline 585
"https://www.safe.gov.cn/", - Network accessline 591
DataSource( "stats_gov", "国家统计局", "http://www.stats.gov.cn/", - Network accessline 592
"stats_gov", "国家统计局", "http://www.stats.gov.cn/", ("A", "H"), - Network accessline 593
"http://www.stats.gov.cn/", - Network accessline 599
DataSource( "chinamoney", "中国货币网", "https://www.chinamoney.com.cn/", - Network accessline 600
"chinamoney", "中国货币网", "https://www.chinamoney.com.cn/", ("A",), - Network accessline 601
"https://www.chinamoney.com.cn/", - Network accessline 607
DataSource( "chinabond", "中国债券信息网", "https://yield.chinabond.com.cn/", - Network accessline 608
"chinabond", "中国债券信息网", "https://yield.chinabond.com.cn/", ("A",), - Network accessline 609
"https://yield.chinabond.com.cn/", - Network accessline 617
DataSource( "ine", "上海国际能源交易中心", "https://www.ine.cn/", - Network accessline 618
"ine", "上海国际能源交易中心", "https://www.ine.cn/", ("A",), - Network accessline 619
"https://www.ine.cn/", - Network accessline 632
DataSource( "guba_em_list", "东财股吧 list 页(按股票代码)", "https://guba.eastmoney.com/list,{code}.html", - Network accessline 633
"guba_em_list", "东财股吧 list 页(按股票代码)", "https://guba.eastmoney.com/list,{code}.html", ("A", "H"), - Network accessline 634
"https://guba.eastmoney.com/list,{code}.html", - Network accessline 640
DataSource( "jisilu", "集思录", "https://www.jisilu.cn/", - Network accessline 641
"jisilu", "集思录", "https://www.jisilu.cn/", ("A",), - Network accessline 642
"https://www.jisilu.cn/", - Network accessline 648
DataSource( "fx678", "汇通财经", "https://www.fx678.com/", - Network accessline 649
"fx678", "汇通财经", "https://www.fx678.com/", ("A", "U"), - Network accessline 650
"https://www.fx678.com/", - Network accessline 656
DataSource( "cmc", "CompaniesMarketCap", "https://companiesmarketcap.com/", - Network accessline 657
"cmc", "CompaniesMarketCap", "https://companiesmarketcap.com/", ("H", "U"), - Network accessline 658
"https://companiesmarketcap.com/",
skills/deep-analysis/scripts/lib/data_sources.py
- Executable scriptline 1
Executable file - Network accessline 70
else: return {} url = f"https://qt.gtimg.cn/q={symbol}" - Network accessline 71
return {} url = f"https://qt.gtimg.cn/q={symbol}" try: - Network accessline 72
url = f"https://qt.gtimg.cn/q={symbol}" try: r = requests.get(url, timeout=8, headers={"User-Agent": "Mozilla/5.0"}) - Network accessline 73
try: r = requests.get(url, timeout=8, headers={"User-Agent": "Mozilla/5.0"}) if r.status_code != 200: - Network accessline 74
r = requests.get(url, timeout=8, headers={"User-Agent": "Mozilla/5.0"}) - Network accessline 518
try: secid = f"1.{ti.code}" if ti.full.endswith("SH") else f"0.{ti.code}" url = "https://push2.eastmoney.com/api/qt/stock/get" - Network accessline 519
secid = f"1.{ti.code}" if ti.full.endswith("SH") else f"0.{ti.code}" url = "https://push2.eastmoney.com/api/qt/stock/get" params = { - Network accessline 520
url = "https://push2.eastmoney.com/api/qt/stock/get" - Network accessline 524
"ut": "fa5fd1943c7b386f172d6893dbfba10b", } r = requests.get(url, params=params, timeout=8, headers={"User-Agent": "Mozilla/5.0"}) - Network accessline 525
} r = requests.get(url, params=params, timeout=8, headers={"User-Agent": "Mozilla/5.0"}) data = (r.json() or {}).get("data") or {} - Network accessline 526
r = requests.get(url, params=params, timeout=8, headers={"User-Agent": "Mozilla/5.0"}) - Network accessline 538
try: prefix = "sh" if ti.full.endswith("SH") else "sz" url = f"http://qt.gtimg.cn/q={prefix}{ti.code}" - Network accessline 539
prefix = "sh" if ti.full.endswith("SH") else "sz" url = f"http://qt.gtimg.cn/q={prefix}{ti.code}" r = requests.get(url, timeout=10, headers={"User-Agent": "Mozilla/5.0"}) - Network accessline 540
url = f"http://qt.gtimg.cn/q={prefix}{ti.code}" - Network accessline 541
r = requests.get(url, timeout=10, headers={"User-Agent": "Mozilla/5.0"}) - Network accessline 594
try: prefix = "sh" if ti.full.endswith("SH") else "sz" url = f"http://hq.sinajs.cn/list={prefix}{ti.code}" - Network accessline 595
prefix = "sh" if ti.full.endswith("SH") else "sz" url = f"http://hq.sinajs.cn/list={prefix}{ti.code}" r = requests.get(url, timeout=8, headers={"User-Agent": "Mozilla/5.0", "Referer": "https://finance.sina.com.cn"}) - Network accessline 596
url = f"http://hq.sinajs.cn/list={prefix}{ti.code}" r = requests.get(url, timeout=8, headers={"User-Agent": "Mozilla/5.0", "Referer": "https://finance.sina.com.cn"}) text = r.text - Network accessline 597
r = requests.get(url, timeout=8, headers={"User-Agent": "Mozilla/5.0", "Referer": "https://finance.sina.com.cn"}) - Network accessline 976
try: secid = f"1.{code}" if ti.full.endswith("SH") else f"0.{code}" url = "https://push2his.eastmoney.com/api/qt/stock/kline/get" - Network accessline 977
secid = f"1.{code}" if ti.full.endswith("SH") else f"0.{code}" url = "https://push2his.eastmoney.com/api/qt/stock/kline/get" params = { - Network accessline 978
url = "https://push2his.eastmoney.com/api/qt/stock/kline/get" - Network accessline 982
"klt": "101", "fqt": "1" if adjust == "qfq" else "0", "lmt": "500", } r = requests.get(url, params=params, timeout=12, headers={"User-Agent": "Mozilla/5.0"}) - Network accessline 983
} r = requests.get(url, params=params, timeout=12, headers={"User-Agent": "Mozilla/5.0"}) data = r.json().get("data") or {} - Network accessline 984
r = requests.get(url, params=params, timeout=12, headers={"User-Agent": "Mozilla/5.0"}) - Network accessline 1003
try: sina_sym = ("sh" if ti.full.endswith("SH") else "sz") + code url = "https://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData" - Network accessline 1004
sina_sym = ("sh" if ti.full.endswith("SH") else "sz") + code url = "https://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData" params = {"symbol": sina_sym, "scale": "240", "ma": "no - Network accessline 1005
url = "https://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData" params = {"symbol": sina_sym, "scale": "240", "ma": "no", "datalen": "500"} r = requests.get(url, params=params, tim - Network accessline 1006
params = {"symbol": sina_sym, "scale": "240", "ma": "no", "datalen": "500"} r = requests.get(url, params=params, timeout=12, headers={"User-Agent": "Mozilla/5.0"}) data = r.json() if r.text and r.text != "null" else - Network accessline 1007
r = requests.get(url, params=params, timeout=12, headers={"User-Agent": "Mozilla/5.0"}) - Network accessline 1023
try: tx_sym = ("sh" if ti.full.endswith("SH") else "sz") + code url = "https://web.ifzq.gtimg.cn/appstock/app/fqkline/get" - Network accessline 1024
tx_sym = ("sh" if ti.full.endswith("SH") else "sz") + code url = "https://web.ifzq.gtimg.cn/appstock/app/fqkline/get" params = {"param": f"{tx_sym},day,,,500,qfq"} - Network accessline 1025
url = "https://web.ifzq.gtimg.cn/appstock/app/fqkline/get" params = {"param": f"{tx_sym},day,,,500,qfq"} r = requests.get(url, params=params, timeout=12, headers={"User-Agent": "Mozilla/5.0"}) - Network accessline 1026
params = {"param": f"{tx_sym},day,,,500,qfq"} r = requests.get(url, params=params, timeout=12, headers={"User-Agent": "Mozilla/5.0"}) payload = r.json().get("data", {}).get(tx_sym, {}) - Network accessline 1027
r = requests.get(url, params=params, timeout=12, headers={"User-Agent": "Mozilla/5.0"}) - Network accessline 1138
if not requests: return [] url = f"https://query1.finance.yahoo.com/v8/finance/chart/{symbol}?interval=1d&range={range_}" - Network accessline 1139
return [] url = f"https://query1.finance.yahoo.com/v8/finance/chart/{symbol}?interval=1d&range={range_}" headers = { - Network accessline 1140
url = f"https://query1.finance.yahoo.com/v8/finance/chart/{symbol}?interval=1d&range={range_}" - Network accessline 1142
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "Accept": "application/json,text/plain,*/*", "Referer": "https://finance.yahoo.com/", - Network accessline 1143
"Accept": "application/json,text/plain,*/*", "Referer": "https://finance.yahoo.com/", } - Network accessline 1144
"Referer": "https://finance.yahoo.com/", - Network accessline 1147
try: r = requests.get(url, headers=headers, timeout=15) - Network accessline 1148
r = requests.get(url, headers=headers, timeout=15) - Network accessline 1150
import time as _time _time.sleep(2) r = requests.get(url, headers=headers, timeout=15) - Network accessline 1151
_time.sleep(2) r = requests.get(url, headers=headers, timeout=15) if r.status_code != 200: - Network accessline 1152
r = requests.get(url, headers=headers, timeout=15) - Network accessline 1209
if requests: try: url = f"https://stooq.com/q/d/l/?s={symbol.lower()}.us&i=d" - Network accessline 1210
try: url = f"https://stooq.com/q/d/l/?s={symbol.lower()}.us&i=d" r = requests.get(url, timeout=12) - Network accessline 1211
url = f"https://stooq.com/q/d/l/?s={symbol.lower()}.us&i=d" r = requests.get(url, timeout=12) lines = r.text.strip().splitlines() - Network accessline 1212
r = requests.get(url, timeout=12) - Network accessline 1405
return {} try: url = "https://datacenter-web.eastmoney.com/api/data/v1/get" - Network accessline 1406
try: url = "https://datacenter-web.eastmoney.com/api/data/v1/get" params = { - Network accessline 1407
url = "https://datacenter-web.eastmoney.com/api/data/v1/get" - Network accessline 1417
"filter": f'(SECURITY_CODE="{ti.code}")(INTERVAL_TYPE="1")', } response = requests.get( - Network accessline 1418
} response = requests.get( url, - Network accessline 1419
response = requests.get( - Network accessline 1423
headers={ "User-Agent": "Mozilla/5.0", "Referer": f"https://data.eastmoney.com/hsgt/StockHdStatistics/{ti.code}.html", - Network accessline 1424
"User-Agent": "Mozilla/5.0", "Referer": f"https://data.eastmoney.com/hsgt/StockHdStatistics/{ti.code}.html", }, - Network accessline 1425
"Referer": f"https://data.eastmoney.com/hsgt/StockHdStatistics/{ti.code}.html", - Access to secretsline 1487
[Credential-related source omitted] - Network accessline 1537
): try: df = fetch() - Network accessline 1538
try: df = fetch() if df is None or df.empty: - Network accessline 1539
df = fetch()
skills/deep-analysis/scripts/lib/deep_analysis_methods.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/event_integrity.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/feature_evidence.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/fin_models.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/fund_holdings_runner.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/global_peers.py
- Executable scriptline 1
Executable file - Network accessline 211
_BASE = "https://query2.finance.yahoo.com" - Network accessline 215
def __init__(self, session=None, yf_module=None, timeout: float = 12.0): self.session = session or requests.Session() - Network accessline 216
self.session = session or requests.Session() - Network accessline 335
_BASE = "https://query1.finance.yahoo.com" - Network accessline 338
def __init__(self, session=None, timeout: float = 12.0): self.session = session or requests.Session() - Network accessline 339
self.session = session or requests.Session()
skills/deep-analysis/scripts/lib/hk_data_sources.py
- Executable scriptline 1
Executable file - Network accessline 194
for listing in ("activestock", "inactivestock"): r = requests.get( - Network accessline 195
r = requests.get( - Network accessline 196
f"https://www1.hkexnews.hk/ncms/script/eds/{listing}_sehk_c.json", - Network accessline 232
continue for link in row.select(".doc-link a[href]"): url = urljoin("https://www1.hkexnews.hk", link["href"]) - Network accessline 233
for link in row.select(".doc-link a[href]"): url = urljoin("https://www1.hkexnews.hk", link["href"]) parsed = urlparse(url) - Network accessline 234
url = urljoin("https://www1.hkexnews.hk", link["href"]) - Network accessline 259
if stock_id is None: return [] r = requests.get( - Network accessline 260
return [] r = requests.get( "https://www1.hkexnews.hk/search/titlesearch.xhtml", - Network accessline 261
r = requests.get( - Network accessline 262
"https://www1.hkexnews.hk/search/titlesearch.xhtml",
skills/deep-analysis/scripts/lib/hottrend.py
- Executable scriptline 1
Executable file - Access to secretsline 31
[Credential-related source omitted] - Network accessline 125
headers.update(extra_headers) try: r = requests.get(url, headers=headers, timeout=HTTP_TIMEOUT) - Network accessline 126
try: r = requests.get(url, headers=headers, timeout=HTTP_TIMEOUT) if r.status_code != 200: - Network accessline 127
r = requests.get(url, headers=headers, timeout=HTTP_TIMEOUT) - Network accessline 138
"""微博热搜 · https://weibo.com/ajax/side/hotSearch""" - Network accessline 139
data = _http_json("https://weibo.com/ajax/side/hotSearch", ua=UA_MAC) - Network accessline 148
out.append(HotItem( rank=i, title=word, url=f"https://s.weibo.com/weibo?q={word}", - Network accessline 149
rank=i, title=word, url=f"https://s.weibo.com/weibo?q={word}", hot_score=int(it.get("num", 0) or 0), - Network accessline 150
url=f"https://s.weibo.com/weibo?q={word}", - Network accessline 159
"""知乎热榜 · https://www.zhihu.com/api/v3/feed/topstory/hot-list-web""" - Network accessline 160
data = _http_json( "https://www.zhihu.com/api/v3/feed/topstory/hot-list-web?limit=50&desktop=true", - Network accessline 161
"https://www.zhihu.com/api/v3/feed/topstory/hot-list-web?limit=50&desktop=true", - Network accessline 183
"""百度热搜 · https://top.baidu.com/api/board?platform=wise&tab=realtime""" - Network accessline 184
data = _http_json( "https://top.baidu.com/api/board?platform=wise&tab=realtime", - Network accessline 185
"https://top.baidu.com/api/board?platform=wise&tab=realtime", - Network accessline 198
out.append(HotItem( rank=i, title=word, url=it.get("url", "") or f"https://www.baidu.com/s?wd={word}", - Network accessline 199
rank=i, title=word, url=it.get("url", "") or f"https://www.baidu.com/s?wd={word}", hot_score=int(it.get("hotScore", 0) or 0), - Network accessline 200
url=it.get("url", "") or f"https://www.baidu.com/s?wd={word}", - Network accessline 208
"""抖音热点 · https://www.douyin.com/aweme/v1/web/hot/search/list/""" - Network accessline 210
data = _http_json( "https://www.douyin.com/aweme/v1/web/hot/search/list/", - Network accessline 211
"https://www.douyin.com/aweme/v1/web/hot/search/list/", - Network accessline 222
out.append(HotItem( rank=i, title=word, url=f"https://www.douyin.com/search/{word}", - Network accessline 223
rank=i, title=word, url=f"https://www.douyin.com/search/{word}", hot_score=int(it.get("hot_value", 0) or 0), - Network accessline 224
url=f"https://www.douyin.com/search/{word}", - Network accessline 232
"""头条热榜 · https://www.toutiao.com/hot-event/hot-board/""" - Network accessline 233
data = _http_json( "https://www.toutiao.com/hot-event/hot-board/?origin=toutiao_pc", - Network accessline 234
"https://www.toutiao.com/hot-event/hot-board/?origin=toutiao_pc", - Network accessline 245
out.append(HotItem( rank=i, title=title, url=f"https://www.toutiao.com/trending/{cid}/" if cid else "", - Network accessline 246
rank=i, title=title, url=f"https://www.toutiao.com/trending/{cid}/" if cid else "", hot_score=int(it.get("HotValue", 0) or 0), - Network accessline 247
url=f"https://www.toutiao.com/trending/{cid}/" if cid else "", - Network accessline 256
"""B 站热搜 · https://s.search.bilibili.com/main/hotword?limit=50""" - Network accessline 257
data = _http_json( "https://s.search.bilibili.com/main/hotword?limit=50", - Network accessline 258
"https://s.search.bilibili.com/main/hotword?limit=50", - Network accessline 268
out.append(HotItem( rank=i, title=keyword, url=f"https://search.bilibili.com/all?keyword={keyword}", - Network accessline 269
rank=i, title=keyword, url=f"https://search.bilibili.com/all?keyword={keyword}", hot_score=int(it.get("heat_score", 0) or 0), - Network accessline 270
url=f"https://search.bilibili.com/all?keyword={keyword}",
skills/deep-analysis/scripts/lib/i18n.py
skills/deep-analysis/scripts/lib/industry_mapping.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/investor_criteria.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/investor_db.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/investor_evaluator.py
skills/deep-analysis/scripts/lib/investor_knowledge.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/investor_personas.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/investor_profile.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/junk_filter.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/lhb_evidence.py
- Executable scriptline 1
Executable file - Network accessline 7
end = datetime.now().strftime('%Y-%m-%d') start = (datetime.now() - timedelta(days=days)).strftime('%Y-%m-%d') url = 'https://datacenter-web.eastmoney.com/api/data/v1/get' - Network accessline 8
start = (datetime.now() - timedelta(days=days)).strftime('%Y-%m-%d') url = 'https://datacenter-web.eastmoney.com/api/data/v1/get' params = {'reportName': 'RPT_DAILYBILLBOARD_DETAILSNEW', 'columns': 'ALL', - Network accessline 9
url = 'https://datacenter-web.eastmoney.com/api/data/v1/get' - Network accessline 20
while True: params['pageNumber'] = page response = requests.get(url, params=params, timeout=20) - Network accessline 21
params['pageNumber'] = page response = requests.get(url, params=params, timeout=20) response.raise_for_status() - Network accessline 22
response = requests.get(url, params=params, timeout=20)
skills/deep-analysis/scripts/lib/market_router.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/mx_api.py
- Executable scriptline 1
Executable file - Network accessline 3
This is an OFFICIAL, authenticated data source with far better stability than scraping `push2.eastmoney.com` (which is commonly blocked in 2026 Mainland networks). Requires a free API key from https://dl.dfcfs.com/m/itc4 exposed as - Network accessline 4
scraping `push2.eastmoney.com` (which is commonly blocked in 2026 Mainland networks). Requires a free API key from https://dl.dfcfs.com/m/itc4 exposed as the env var `MX_APIKEY`. - Network accessline 5
networks). Requires a free API key from https://dl.dfcfs.com/m/itc4 exposed as - Network accessline 37
BASE = "https://mkapi2.dfcfs.com/finskillshub/api/claw" - Access to secretsline 44
[Credential-related source omitted] - Access to secretsline 48
[Credential-related source omitted] - Network accessline 50
for i in range(attempts): try: r = requests.post(url, headers=headers, json=body, timeout=timeout) - Network accessline 51
try: r = requests.post(url, headers=headers, json=body, timeout=timeout) if r.status_code != 200: - Network accessline 52
r = requests.post(url, headers=headers, json=body, timeout=timeout) - Access to secretsline 70
[Credential-related source omitted] - Access to secretsline 71
[Credential-related source omitted] - Access to secretsline 72
[Credential-related source omitted] - Access to secretsline 82
[Credential-related source omitted] - Access to secretsline 92
[Credential-related source omitted]
skills/deep-analysis/scripts/lib/name_matcher.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/net_timeout_guard.py
skills/deep-analysis/scripts/lib/network_preflight.py
- Executable scriptline 1
Executable file - Network accessline 13
prof = get_network_profile() # 跑预检 · 返 NetworkProfile dataclass if prof.overseas_ok: url = "https://query1.finance.yahoo.com/..." # 境外源 OK - Network accessline 14
if prof.overseas_ok: url = "https://query1.finance.yahoo.com/..." # 境外源 OK else: - Network accessline 15
url = "https://query1.finance.yahoo.com/..." # 境外源 OK - Network accessline 16
else: url = "https://xueqiu.com/..." # 降级到国内 """ - Network accessline 17
url = "https://xueqiu.com/..." # 降级到国内 - Network accessline 103
t0 = time.time() try: sock = socket.create_connection((domain, port), timeout=timeout) - Network accessline 104
try: sock = socket.create_connection((domain, port), timeout=timeout) sock.close() - Network accessline 105
sock = socket.create_connection((domain, port), timeout=timeout) - Access to secretsline 129
[Credential-related source omitted] - Network accessline 157
for port, name in _LOCAL_PROXY_PORTS: try: sock = socket.create_connection(("127.0.0.1", port), timeout=0.3) - Network accessline 158
try: sock = socket.create_connection(("127.0.0.1", port), timeout=0.3) sock.close() - Network accessline 159
sock = socket.create_connection(("127.0.0.1", port), timeout=0.3) - Network accessline 170
f"⚠ 检测到本地代理运行({names})但 env 未设 HTTPS_PROXY · " f"脚本默认不走代理 · 若海外源不通请:\n" f" export HTTPS_PROXY=http://127.0.0.1:{detected[0]['port']} && export HTTP_PROXY=http://127.0.0.1:{detected[0]['port']}" - Network accessline 171
f"脚本默认不走代理 · 若海外源不通请:\n" f" export HTTPS_PROXY=http://127.0.0.1:{detected[0]['port']} && export HTTP_PROXY=http://127.0.0.1:{detected[0]['port']}" ) - Network accessline 172
f" export HTTPS_PROXY=http://127.0.0.1:{detected[0]['port']} && export HTTP_PROXY=http://127.0.0.1:{detected[0]['port']}" - Network accessline 225
" 1. 确认 VPN 能访问海外(浏览器访问 finance.yahoo.com 测试)\n" " 2. 中国大陆不需要海外源就能分析 A 股 · 此项可忽略\n" " 3. 若必须:开 Clash 全局模式 + export HTTPS_PROXY=http://127.0.0.1:7890" - Network accessline 226
" 2. 中国大陆不需要海外源就能分析 A 股 · 此项可忽略\n" " 3. 若必须:开 Clash 全局模式 + export HTTPS_PROXY=http://127.0.0.1:7890" ), - Network accessline 227
" 3. 若必须:开 Clash 全局模式 + export HTTPS_PROXY=http://127.0.0.1:7890"
skills/deep-analysis/scripts/lib/news_providers.py
- Executable scriptline 1
Executable file - Access to secretsline 26
[Credential-related source omitted] - Network accessline 79
def _http_get(url: str, timeout: int = HTTP_TIMEOUT) -> str | None: try: r = requests.get(url, headers={"User-Agent": UA_PC}, timeout=timeout) - Network accessline 80
try: r = requests.get(url, headers={"User-Agent": UA_PC}, timeout=timeout) if r.status_code != 200: - Network accessline 81
r = requests.get(url, headers={"User-Agent": UA_PC}, timeout=timeout) - Network accessline 95
if cached is not None: return [NewsItem(**x) for x in cached[:limit]] txt = _http_get("https://www.jin10.com/flash_newest.js", timeout=12) - Network accessline 96
return [NewsItem(**x) for x in cached[:limit]] txt = _http_get("https://www.jin10.com/flash_newest.js", timeout=12) if not txt: - Network accessline 97
txt = _http_get("https://www.jin10.com/flash_newest.js", timeout=12) - Network accessline 121
title=title.strip()[:200], body=body.strip(), url="https://www.jin10.com/", - Network accessline 122
body=body.strip(), url="https://www.jin10.com/", publish_time=row.get("time", ""), - Network accessline 123
url="https://www.jin10.com/", - Network accessline 134
return [NewsItem(**x) for x in cached[:limit]] url = ( "https://newsapi.eastmoney.com/kuaixun/v1/getlist_102_ajaxResult_50_1_.html" - Network accessline 135
url = ( "https://newsapi.eastmoney.com/kuaixun/v1/getlist_102_ajaxResult_50_1_.html" ) - Network accessline 136
"https://newsapi.eastmoney.com/kuaixun/v1/getlist_102_ajaxResult_50_1_.html" - Network accessline 171
return [NewsItem(**x) for x in cached[:limit]] url = ( "https://np-anotice-stock.eastmoney.com/api/security/ann" - Network accessline 172
url = ( "https://np-anotice-stock.eastmoney.com/api/security/ann" f"?sr=-1&page_size={limit}&page_index=1&ann_type=A&client_source=web" - Network accessline 173
"https://np-anotice-stock.eastmoney.com/api/security/ann" - Network accessline 195
title=title.strip()[:200], body=row.get("art_code", ""), url="https://np-anotice-stock.eastmoney.com/", - Network accessline 196
body=row.get("art_code", ""), url="https://np-anotice-stock.eastmoney.com/", publish_time=row.get("notice_date", "") or row.get("display_time", ""), - Network accessline 197
url="https://np-anotice-stock.eastmoney.com/", - Network accessline 207
if cached is not None: return [NewsItem(**x) for x in cached[:limit]] txt = _http_get("http://news.10jqka.com.cn/today_list/", timeout=12) - Network accessline 208
return [NewsItem(**x) for x in cached[:limit]] txt = _http_get("http://news.10jqka.com.cn/today_list/", timeout=12) if not txt: - Network accessline 209
txt = _http_get("http://news.10jqka.com.cn/today_list/", timeout=12) - Network accessline 222
source="ths_news_today", title=title[:200], url="http://news.10jqka.com.cn/today_list/", - Network accessline 223
title=title[:200], url="http://news.10jqka.com.cn/today_list/", )) - Network accessline 224
url="http://news.10jqka.com.cn/today_list/",
skills/deep-analysis/scripts/lib/panel_evidence.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/panel_status.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/personas.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/MIGRATION.md
- Network accessline 97
"data": {"name": "中密控股", "price": 36.52, "market_cap": "76.3亿"} }) r = BasicFetcher().fetch("300470.SZ") - Network accessline 98
}) r = BasicFetcher().fetch("300470.SZ") assert r.dim_key == "0_basic" - Network accessline 99
r = BasicFetcher().fetch("300470.SZ") - Network accessline 114
# 新 from lib.pipeline.fetchers.basic import BasicFetcher raw_data["0_basic"] = BasicFetcher().fetch(ticker).to_dict() - Network accessline 116
raw_data["0_basic"] = BasicFetcher().fetch(ticker).to_dict()
skills/deep-analysis/scripts/lib/pipeline/__init__.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/base_fetcher.py
skills/deep-analysis/scripts/lib/pipeline/collect.py
- Executable scriptline 1
Executable file - Access to secretsline 37
[Credential-related source omitted] - Access to secretsline 55
[Credential-related source omitted] - Access to secretsline 68
[Credential-related source omitted] - Network accessline 106
_fetch_with_context(fetcher, ticker, raw_context) if raw_context is not None else fetcher.fetch(ticker) - Network accessline 107
if raw_context is not None else fetcher.fetch(ticker) ) - Network accessline 108
else fetcher.fetch(ticker)
skills/deep-analysis/scripts/lib/pipeline/compare.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/fetchers/__init__.py
- Executable scriptline 1
Executable file - Network accessline 10
from lib.pipeline.fetchers import get_fetcher f = get_fetcher("0_basic") result = f.fetch(ticker_info) # → DimResult - Network accessline 11
f = get_fetcher("0_basic") result = f.fetch(ticker_info) # → DimResult """ - Network accessline 12
result = f.fetch(ticker_info) # → DimResult
skills/deep-analysis/scripts/lib/pipeline/fetchers/registry.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/preflight_helpers.py
- Executable scriptline 1
Executable file - Access to secretsline 51
[Credential-related source omitted] - Access to secretsline 58
[Credential-related source omitted] - Access to secretsline 59
[Credential-related source omitted] - Access to secretsline 68
[Credential-related source omitted] - Access to secretsline 69
[Credential-related source omitted]
skills/deep-analysis/scripts/lib/pipeline/process_runner.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/__init__.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/base.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/basic_header.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/capital_flow.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/chain.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/contests.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/events.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/financials.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/fund.py
- Executable scriptline 1
Executable file - Network accessline 219
stars = "⭐" * max(1, min(5, int((100 - peer_rank) / 20) + 1)) fund_code = m.get("fund_code", "") fund_url = m.get("fund_url") or f"https://fund.eastmoney.com/{fund_code}.html" - Network accessline 221
fund_url = m.get("fund_url") or f"https://fund.eastmoney.com/{fund_code}.html" - Network accessline 245
avatar = m.get("avatar") or "" position_pct = m.get("position_pct") or 0 fund_url = m.get("fund_url") or f"https://fund.eastmoney.com/{fund_code}.html" - Network accessline 247
fund_url = m.get("fund_url") or f"https://fund.eastmoney.com/{fund_code}.html"
skills/deep-analysis/scripts/lib/pipeline/renderer/futures.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/governance.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/industry.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/kline.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/lhb.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/macro.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/materials.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/moat.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/peers.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/policy.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/registry.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/research.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/sentiment.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/trap.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/renderer/valuation.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/run.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/schema.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/score.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/score_fns.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/synthesize.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/pipeline/validators.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/playwright_fallback.py
- Executable scriptline 1
Executable file - Network accessline 39
_PYPI_MIRRORS = ( ("清华", "https://pypi.tuna.tsinghua.edu.cn/simple"), - Network accessline 40
("清华", "https://pypi.tuna.tsinghua.edu.cn/simple"), - Network accessline 41
("阿里云", "https://mirrors.aliyun.com/pypi/simple/"), - Network accessline 42
("中科大", "https://pypi.mirrors.ustc.edu.cn/simple/"), - Access to secretsline 65
[Credential-related source omitted] - Network accessline 259
url = f"https://xueqiu.com/S/{xq_sym}" - Network accessline 288
code = ticker.split(".")[0] url = f"https://emweb.securities.eastmoney.com/PC_HSF10/BusinessAnalysis/Index?type=web&code={code}" - Network accessline 289
url = f"https://emweb.securities.eastmoney.com/PC_HSF10/BusinessAnalysis/Index?type=web&code={code}" - Network accessline 302
code = ticker.split(".")[0] url = f"http://www.cninfo.com.cn/new/disclosure/stock?stockCode={code}" - Network accessline 303
url = f"http://www.cninfo.com.cn/new/disclosure/stock?stockCode={code}" - Network accessline 318
elif code.startswith(("0", "3")): xq_sym = f"SZ{code}" else: xq_sym = code url = f"https://xueqiu.com/S/{xq_sym}/POST" - Network accessline 319
else: xq_sym = code url = f"https://xueqiu.com/S/{xq_sym}/POST" html = fetch_url(url, timeout=15) - Network accessline 320
url = f"https://xueqiu.com/S/{xq_sym}/POST" - Network accessline 331
url = "https://www.stats.gov.cn/sj/sjjd/" - Network accessline 349
import urllib.parse q = urllib.parse.quote(f"{industry} 行业景气度 增速 市场规模 2026") url = f"https://www.baidu.com/s?wd={q}" - Network accessline 350
q = urllib.parse.quote(f"{industry} 行业景气度 增速 市场规模 2026") url = f"https://www.baidu.com/s?wd={q}" html = fetch_url(url, timeout=15) - Network accessline 351
url = f"https://www.baidu.com/s?wd={q}" - Network accessline 372
return None import urllib.parse url = f"https://baike.baidu.com/item/{urllib.parse.quote(name)}" - Network accessline 373
import urllib.parse url = f"https://baike.baidu.com/item/{urllib.parse.quote(name)}" html = fetch_url(url, timeout=15) - Network accessline 374
url = f"https://baike.baidu.com/item/{urllib.parse.quote(name)}" - Network accessline 400
url = "http://www.csrc.gov.cn/csrc/c100028/common_list.shtml" - Network accessline 421
q = urllib.parse.quote(f"{name} 老师 推荐") url = f"https://www.xiaohongshu.com/search_result?keyword={q}" - Network accessline 422
url = f"https://www.xiaohongshu.com/search_result?keyword={q}" - Network accessline 439
url = "https://xueqiu.com/cube/rank/list" - Access to secretsline 615
[Credential-related source omitted] - Access to secretsline 631
[Credential-related source omitted]
skills/deep-analysis/scripts/lib/portfolio_runner.py
skills/deep-analysis/scripts/lib/providers/__init__.py
skills/deep-analysis/scripts/lib/providers/__main__.py
- Executable scriptline 1
Executable file - Network accessline 35
if not any(h[n].get("available") for n in ("tushare",)): print(" · Tushare (A 股最稳官方源) 未启用:") print(" 1. https://tushare.pro 注册 → 复制 token") - Network accessline 36
[Credential-related source omitted] - Network accessline 37
print(" 1. https://tushare.pro 注册 → 复制 token") - Access to secretsline 38
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted]
skills/deep-analysis/scripts/lib/providers/akshare_provider.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/providers/baostock_provider.py
skills/deep-analysis/scripts/lib/providers/direct_http_provider.py
- Executable scriptline 1
Executable file - Network accessline 71
url = f"http://qt.gtimg.cn/q={qt_code}" try: r = requests.get(url, headers={"User-Agent": _UA}, timeout=8) - Network accessline 72
try: r = requests.get(url, headers={"User-Agent": _UA}, timeout=8) r.encoding = "gbk" - Network accessline 73
r = requests.get(url, headers={"User-Agent": _UA}, timeout=8) - Network accessline 124
url = f"http://hq.sinajs.cn/list={sina_code}" try: r = requests.get(url, headers={ - Network accessline 125
try: r = requests.get(url, headers={ "User-Agent": _UA, - Network accessline 126
r = requests.get(url, headers={ - Network accessline 127
"User-Agent": _UA, "Referer": "http://finance.sina.com.cn", }, timeout=8) - Network accessline 128
"Referer": "http://finance.sina.com.cn", - Network accessline 193
code5 = code.zfill(5).lstrip("0") or "0" # etnet 不要前导 0 url = f"https://www.etnet.com.hk/www/tc/stocks/realtime/quote.php?code={code5}" - Network accessline 194
url = f"https://www.etnet.com.hk/www/tc/stocks/realtime/quote.php?code={code5}" try: r = requests.get(url, headers={"User-Agent": _UA}, timeout=10) - Network accessline 195
try: r = requests.get(url, headers={"User-Agent": _UA}, timeout=10) except Exception as e: - Network accessline 196
r = requests.get(url, headers={"User-Agent": _UA}, timeout=10)
skills/deep-analysis/scripts/lib/providers/efinance_provider.py
skills/deep-analysis/scripts/lib/providers/tushare_provider.py
- Executable scriptline 1
Executable file - Network accessline 3
Tushare Pro (https://tushare.pro) 是 A 股最专业的官方 API 之一: - Network accessline 10
配置: 1. 访问 https://tushare.pro 注册 - Network accessline 11
1. 访问 https://tushare.pro 注册 - Access to secretsline 13
[Credential-related source omitted] - Access to secretsline 38
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted]
skills/deep-analysis/scripts/lib/quant_signal.py
skills/deep-analysis/scripts/lib/report/__init__.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/report/dim_viz.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/report/global_peers.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/report/institutional.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/report/panel_cards.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/report/security.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/report/segmental.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/report/special_cards.py
- Executable scriptline 1
Executable file - Network accessline 87
similarity = s.get("similarity", "") reason = s.get("reason", "") url = safe_url(s.get("url", f"https://xueqiu.com/S/{code}" if code else "#")) - Network accessline 88
reason = s.get("reason", "") url = safe_url(s.get("url", f"https://xueqiu.com/S/{code}" if code else "#")) similar_pills += f'''<a href="{url}" target="_blank" rel="noopener" class="similar-stock-pill"> - Network accessline 89
url = safe_url(s.get("url", f"https://xueqiu.com/S/{code}" if code else "#")) - Network accessline 137
"peer_rank_pct": 5, # top % "nav_history": [1.0, 1.1, ...], # 5Y NAV sparkline "fund_url": "https://...", - Network accessline 138
"nav_history": [1.0, 1.1, ...], # 5Y NAV sparkline "fund_url": "https://...", }, - Network accessline 139
"fund_url": "https://...", - Network accessline 209
fund_url = safe_url(m.get("fund_url", f'https://fund.eastmoney.com/{m.get("fund_code", "")}.html')) - Network accessline 349
fund_url = safe_url(m.get("fund_url", f"https://fund.eastmoney.com/{fund_code}.html"))
skills/deep-analysis/scripts/lib/report/svg_primitives.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/research_workflow.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/seat_db.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/segmental_model.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/self_review.py
skills/deep-analysis/scripts/lib/stock_features.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/stock_style.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/tier1/__init__.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/tier1/ai_readiness.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/tier1/earnings_preview.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/tier1/model_update.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/tier1/rebalance.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/tier1/returns_attrib.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/update_check.py
- Executable scriptline 1
Executable file - Network accessline 98
return None try: r = requests.get( - Network accessline 99
try: r = requests.get( f"https://api.github.com/repos/{GITHUB_REPO}/releases/latest", - Network accessline 100
r = requests.get( - Network accessline 101
f"https://api.github.com/repos/{GITHUB_REPO}/releases/latest", - Access to secretsline 120
[Credential-related source omitted] - Network accessline 170
latest=latest, notes=notes, url=rel.get("html_url") or f"https://github.com/{GITHUB_REPO}/releases/tag/v{latest}", - Network accessline 171
notes=notes, url=rel.get("html_url") or f"https://github.com/{GITHUB_REPO}/releases/tag/v{latest}", ) - Network accessline 172
url=rel.get("html_url") or f"https://github.com/{GITHUB_REPO}/releases/tag/v{latest}",
skills/deep-analysis/scripts/lib/valuation_fields.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/lib/versus_runner.py
skills/deep-analysis/scripts/lib/web_search.py
skills/deep-analysis/scripts/lib/xueqiu_browser.py
- Executable scriptline 1
Executable file - Network accessline 29
PROFILE_DIR = Path.home() / ".uzi-skill" / "playwright-xueqiu" COOKIE_FILE = PROFILE_DIR / "cookies.json" LOGIN_URL = "https://xueqiu.com/" - Network accessline 31
LOGIN_URL = "https://xueqiu.com/" - Network accessline 34
LOGIN_TEST_URL = "https://xueqiu.com/query/v1/search/cube/stock.json?q=SH600519&count=1&page=1" - Access to secretsline 39
[Credential-related source omitted] - Access to secretsline 63
[Credential-related source omitted] - Network accessline 157
url = f"https://xueqiu.com/query/v1/search/cube/stock.json?q={xq_symbol}&count={limit}&page=1" - Network accessline 181
"total_gain": c.get("total_gain"), "annualized_gain_rate": c.get("annualized_gain_rate"), "url": f"https://xueqiu.com/P/{c.get('symbol')}" if c.get("symbol") else None, - Network accessline 182
"annualized_gain_rate": c.get("annualized_gain_rate"), "url": f"https://xueqiu.com/P/{c.get('symbol')}" if c.get("symbol") else None, "stocks_count": c.get("stocks_count"), - Network accessline 183
"url": f"https://xueqiu.com/P/{c.get('symbol')}" if c.get("symbol") else None, - Network accessline 193
策略: 1. 用 xq_symbol 转换(600519 → SH600519, 300308 → SZ300308, 00700 → HK00700) 2. 打开 https://xueqiu.com/S/{sym}/F10 F10 页面(含"公司概况"/"行业对比") - Network accessline 194
1. 用 xq_symbol 转换(600519 → SH600519, 300308 → SZ300308, 00700 → HK00700) 2. 打开 https://xueqiu.com/S/{sym}/F10 F10 页面(含"公司概况"/"行业对比") 3. 从页面 HTML 用 regex 粗提取同板块/同行业股票 name + code - Network accessline 195
2. 打开 https://xueqiu.com/S/{sym}/F10 F10 页面(含"公司概况"/"行业对比") - Network accessline 218
url = f"https://xueqiu.com/S/{xq_sym}" - Access to secretsline 266
[Credential-related source omitted] - Access to secretsline 284
[Credential-related source omitted]
skills/deep-analysis/scripts/preview_with_mock.py
- Executable scriptline 1
Executable file - Network accessline 192
"tgb_mentions": "12 篇讨论", "ths_simu": "查询失败 (需登录)", "xq_cubes_list": [ {"name": "科技成长先锋", "owner": "老王看科技", "total_gain": "+182.4%", "url": "https://xueqiu.com/P/ZH123456"}, - Network accessline 193
"xq_cubes_list": [ {"name": "科技成长先锋", "owner": "老王看科技", "total_gain": "+182.4%", "url": "https://xueqiu.com/P/ZH123456"}, {"name": "苹果产业链精选", "owner": "苹果链猎人", "total_gain": "+156.7%", "url": "https://xueqiu. - Network accessline 194
{"name": "科技成长先锋", "owner": "老王看科技", "total_gain": "+182.4%", "url": "https://xueqiu.com/P/ZH123456"}, - Network accessline 195
{"name": "苹果产业链精选", "owner": "苹果链猎人", "total_gain": "+156.7%", "url": "https://xueqiu.com/P/ZH123457"}, - Network accessline 196
{"name": "光学十年", "owner": "光电观察家", "total_gain": "+143.2%", "url": "https://xueqiu.com/P/ZH123458"}, - Network accessline 197
{"name": "高增长白马", "owner": "长期主义者", "total_gain": "+98.5%", "url": "https://xueqiu.com/P/ZH123459"}, - Network accessline 198
{"name": "AR+AI 硬件", "owner": "XR玩家007", "total_gain": "+87.3%", "url": "https://xueqiu.com/P/ZH123460"}, - Network accessline 199
{"name": "稳健成长 2026", "owner": "价值老张", "total_gain": "+72.1%", "url": "https://xueqiu.com/P/ZH123461"}, - Network accessline 200
{"name": "中小盘黑马", "owner": "赛道选手", "total_gain": "+65.8%", "url": "https://xueqiu.com/P/ZH123462"}, - Network accessline 201
{"name": "长线持有组合", "owner": "慢就是快", "total_gain": "+58.4%", "url": "https://xueqiu.com/P/ZH123463"}, - Network accessline 202
{"name": "消费电子链", "owner": "果链研究员", "total_gain": "+45.2%", "url": "https://xueqiu.com/P/ZH123464"}, - Network accessline 203
{"name": "创业板精选", "owner": "创业板老司机", "total_gain": "+38.6%", "url": "https://xueqiu.com/P/ZH123465"}, - Network accessline 204
{"name": "价值投资实盘", "owner": "段粉俱乐部", "total_gain": "+31.2%", "url": "https://xueqiu.com/P/ZH123466"}, - Network accessline 205
{"name": "科技龙头组合", "owner": "龙头战士", "total_gain": "+28.7%", "url": "https://xueqiu.com/P/ZH123467"}, - Network accessline 206
{"name": "稳健配置", "owner": "慢牛先生", "total_gain": "+22.4%", "url": "https://xueqiu.com/P/ZH123468"}, - Network accessline 207
{"name": "AI 算力 2.0", "owner": "AI 专注", "total_gain": "+18.9%", "url": "https://xueqiu.com/P/ZH123469"}, - Network accessline 208
{"name": "成长股猎手", "owner": "成长猎手", "total_gain": "+12.3%", "url": "https://xueqiu.com/P/ZH123470"}, - Network accessline 209
], "tgb_list": [ {"title": "水晶光电近期龙虎榜解读,章盟主再次加仓", "url": "https://www.taoguba.com.cn/Article/1234567"}, - Network accessline 210
"tgb_list": [ {"title": "水晶光电近期龙虎榜解读,章盟主再次加仓", "url": "https://www.taoguba.com.cn/Article/1234567"}, {"title": "002273 技术形态分析 - 突破平台整理中", "url": "https://www.taoguba.com.cn/Article/1234568"}, - Network accessline 211
{"title": "水晶光电近期龙虎榜解读,章盟主再次加仓", "url": "https://www.taoguba.com.cn/Article/1234567"}, - Network accessline 212
{"title": "002273 技术形态分析 - 突破平台整理中", "url": "https://www.taoguba.com.cn/Article/1234568"}, - Network accessline 213
{"title": "苹果产业链二供逻辑是否成立?", "url": "https://www.taoguba.com.cn/Article/1234569"}, - Network accessline 214
{"title": "水晶光电 Q2 业绩预告解读", "url": "https://www.taoguba.com.cn/Article/1234570"}, - Network accessline 215
{"title": "【实盘分享】002273 持仓 30%", "url": "https://www.taoguba.com.cn/Article/1234571"}, - Network accessline 216
{"title": "AR 眼镜渗透率测算 - 水晶光电受益几何", "url": "https://www.taoguba.com.cn/Article/1234572"}, - Network accessline 217
{"title": "北向资金连续买入,这个信号要重视", "url": "https://www.taoguba.com.cn/Article/1234573"}, - Network accessline 218
{"title": "水晶光电 vs 蓝特光学 对比研究", "url": "https://www.taoguba.com.cn/Article/1234574"}, - Network accessline 434
"similar_stocks": [ {"name": "蓝特光学", "code": "SH688127", "similarity": "92%", "reason": "同为苹果产业链光学薄膜供应商,业务几乎重合", "url": "https://xueqiu.com/S/SH688127"}, - Network accessline 435
{"name": "蓝特光学", "code": "SH688127", "similarity": "92%", "reason": "同为苹果产业链光学薄膜供应商,业务几乎重合", "url": "https://xueqiu.com/S/SH688127"}, {"name": "舜宇光学", "code": "HK02382", "similarity": "85%", "reason": "全球光学龙头,业务范围更广 - Network accessline 436
"url": "https://xueqiu.com/S/SH688127"}, - Network accessline 437
{"name": "舜宇光学", "code": "HK02382", "similarity": "85%", "reason": "全球光学龙头,业务范围更广但估值有参考性", "url": "https://xueqiu.com/S/HK02382"}, {"name": "永新光学", "code": "SH603297", "similarity": "76%", "reason": "光学元器件精密加工,客户结构有 - Network accessline 438
"url": "https://xueqiu.com/S/HK02382"}, - Network accessline 439
{"name": "永新光学", "code": "SH603297", "similarity": "76%", "reason": "光学元器件精密加工,客户结构有部分重合", "url": "https://xueqiu.com/S/SH603297"}, {"name": "联创电子", "code": "SZ002036", "similarity": "68%", "reason": "光学镜头同行,车载与 VR - Network accessline 440
"url": "https://xueqiu.com/S/SH603297"}, - Network accessline 441
{"name": "联创电子", "code": "SZ002036", "similarity": "68%", "reason": "光学镜头同行,车载与 VR 方向有交集", "url": "https://xueqiu.com/S/SZ002036"}, ], - Network accessline 442
"url": "https://xueqiu.com/S/SZ002036"}, - Network accessline 456
"return_5y": 156.7, "annualized_5y": 20.5, "max_drawdown": -28.3, "sharpe": 1.42, "peer_rank_pct": 5, "nav_history": [1.0, 1.08, 1.12, 1.25, 1.42, 1.65, 1.58, 1.72, 1.88, 2.05, 2.18, 2.35, 2.52, 2.41, 2.57], "fund_ur - Network accessline 457
"nav_history": [1.0, 1.08, 1.12, 1.25, 1.42, 1.65, 1.58, 1.72, 1.88, 2.05, 2.18, 2.35, 2.52, 2.41, 2.57], "fund_url": "https://fund.eastmoney.com/005827.html", }, - Network accessline 458
"fund_url": "https://fund.eastmoney.com/005827.html", - Network accessline 463
"return_5y": 124.3, "annualized_5y": 17.5, "max_drawdown": -22.1, "sharpe": 1.31, "peer_rank_pct": 8, "nav_history": [1.0, 1.05, 1.12, 1.20, 1.32, 1.48, 1.55, 1.68, 1.78, 1.92, 2.05, 2.15, 2.24, 2.18, 2.24], "fund_ur - Network accessline 464
"nav_history": [1.0, 1.05, 1.12, 1.20, 1.32, 1.48, 1.55, 1.68, 1.78, 1.92, 2.05, 2.15, 2.24, 2.18, 2.24], "fund_url": "https://fund.eastmoney.com/163406.html", }, - Network accessline 465
"fund_url": "https://fund.eastmoney.com/163406.html", - Network accessline 470
"return_5y": 98.6, "annualized_5y": 14.7, "max_drawdown": -25.8, "sharpe": 1.12, "peer_rank_pct": 15, "nav_history": [1.0, 1.04, 1.10, 1.18, 1.26, 1.34, 1.42, 1.52, 1.61, 1.68, 1.76, 1.84, 1.92, 1.96, 1.99], "fund_ur - Network accessline 471
"nav_history": [1.0, 1.04, 1.10, 1.18, 1.26, 1.34, 1.42, 1.52, 1.61, 1.68, 1.76, 1.84, 1.92, 1.96, 1.99], "fund_url": "https://fund.eastmoney.com/161005.html", }, - Network accessline 472
"fund_url": "https://fund.eastmoney.com/161005.html", - Network accessline 477
"return_5y": 142.8, "annualized_5y": 19.4, "max_drawdown": -30.5, "sharpe": 1.28, "peer_rank_pct": 7, "nav_history": [1.0, 1.06, 1.14, 1.22, 1.34, 1.48, 1.58, 1.72, 1.85, 2.02, 2.15, 2.28, 2.38, 2.32, 2.43], "fund_ur - Network accessline 478
"nav_history": [1.0, 1.06, 1.14, 1.22, 1.34, 1.48, 1.58, 1.72, 1.85, 2.02, 2.15, 2.28, 2.38, 2.32, 2.43], "fund_url": "https://fund.eastmoney.com/007119.html", }, - Network accessline 479
"fund_url": "https://fund.eastmoney.com/007119.html", - Network accessline 484
"return_5y": 88.4, "annualized_5y": 13.6, "max_drawdown": -35.2, "sharpe": 0.98, "peer_rank_pct": 22, "nav_history": [1.0, 1.08, 1.18, 1.15, 1.22, 1.32, 1.48, 1.55, 1.65, 1.72, 1.68, 1.75, 1.82, 1.88, 1.88], "fund_ur - Network accessline 485
"nav_history": [1.0, 1.08, 1.18, 1.15, 1.22, 1.32, 1.48, 1.55, 1.65, 1.72, 1.68, 1.75, 1.82, 1.88, 1.88], "fund_url": "https://fund.eastmoney.com/260108.html", }, - Network accessline 486
"fund_url": "https://fund.eastmoney.com/260108.html", - Network accessline 491
"return_5y": 112.5, "annualized_5y": 16.3, "max_drawdown": -24.8, "sharpe": 1.18, "peer_rank_pct": 12, "nav_history": [1.0, 1.04, 1.12, 1.22, 1.32, 1.45, 1.52, 1.63, 1.72, 1.82, 1.92, 2.00, 2.05, 2.08, 2.12], "fund_u - Network accessline 492
"nav_history": [1.0, 1.04, 1.12, 1.22, 1.32, 1.45, 1.52, 1.63, 1.72, 1.82, 1.92, 2.00, 2.05, 2.08, 2.12], "fund_url": "https://fund.eastmoney.com/000979.html", }, - Network accessline 493
"fund_url": "https://fund.eastmoney.com/000979.html",
skills/deep-analysis/scripts/prewarm_cache.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 16
用户侧使用: curl -L https://github.com/wbh604/UZI-Skill/releases/download/v2.10.2/prewarm-v2.10.tar.gz | tar xz - Network accessline 17
curl -L https://github.com/wbh604/UZI-Skill/releases/download/v2.10.2/prewarm-v2.10.tar.gz | tar xz - Access to secretsline 21
[Credential-related source omitted]
skills/deep-analysis/scripts/render_panel_web.py
- Executable scriptline 1
Executable file - Possible obfuscationline 100
:root{--ink:#14213a;--muted:#657187;--line:#dce4ed;--bg:#f3f6fa}*{box-sizing:border-box;overflow-wrap:anywhere}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 system-ui,-apple-system,"PingFang SC",sans-serif}header{backgr
skills/deep-analysis/scripts/render_share_card.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/render_war_report.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/review_stage_output.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/deep-analysis/scripts/run_real_test.py
- Executable scriptline 1
Executable file - Access to secretsline 90
[Credential-related source omitted] - Access to secretsline 92
[Credential-related source omitted] - Dangerous shell operationline 96
# 用户想重试可 `rm ~/.uzi-skill/_minirackercrash.sentinel` 或 UZI_FORCE_MINI_RACER=1 - Dangerous shell operationline 103
f" ℹ<U+FE0F> 想重试 · `rm {_MINI_RACER_SENTINEL}` 或 `UZI_FORCE_MINI_RACER=1`", - Access to secretsline 184
[Credential-related source omitted] - Access to secretsline 497
[Credential-related source omitted] - Access to secretsline 899
[Credential-related source omitted]
skills/deep-analysis/scripts/screen.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/deep-analysis/scripts/tests/pipeline/__init__.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/pipeline/test_all_renderers.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/pipeline/test_base_fetcher.py
- Executable scriptline 1
Executable file - Network accessline 29
f = BuggyFetcher() r = f.fetch("300470.SZ") - Network accessline 30
r = f.fetch("300470.SZ") - Network accessline 49
r = TestFetcher().fetch("300470.SZ") - Network accessline 76
r = FundLike().fetch("300470.SZ") - Network accessline 93
r = WithZero().fetch("x")
skills/deep-analysis/scripts/tests/pipeline/test_collect.py
skills/deep-analysis/scripts/tests/pipeline/test_compare.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/pipeline/test_fetcher_registry.py
- Executable scriptline 1
Executable file - Network accessline 47
import fetch_basic monkeypatch.setattr(fetch_basic, "main", lambda t: {"data": {}}) r = f.fetch("300470.SZ") - Network accessline 48
monkeypatch.setattr(fetch_basic, "main", lambda t: {"data": {}}) r = f.fetch("300470.SZ") assert r.dim_key == "0_basic" - Network accessline 49
r = f.fetch("300470.SZ") - Network accessline 60
import fetch_financials monkeypatch.setattr(fetch_financials, "main", lambda t: (_ for _ in ()).throw(RuntimeError("SSL fail"))) r = f.fetch("300470.SZ") - Network accessline 61
monkeypatch.setattr(fetch_financials, "main", lambda t: (_ for _ in ()).throw(RuntimeError("SSL fail"))) r = f.fetch("300470.SZ") assert r.quality == Quality.ERROR - Network accessline 62
r = f.fetch("300470.SZ") - Network accessline 76
"error": "upstream failed", }) result = get_fetcher("0_basic").fetch("300470.SZ") - Network accessline 77
}) result = get_fetcher("0_basic").fetch("300470.SZ") assert result.source == "upstream:real" - Network accessline 78
result = get_fetcher("0_basic").fetch("300470.SZ") - Network accessline 93
} }) r = f.fetch("300470.SZ") - Network accessline 94
}) r = f.fetch("300470.SZ") assert "fund_managers" in r.top_level_fields - Network accessline 95
r = f.fetch("300470.SZ")
skills/deep-analysis/scripts/tests/pipeline/test_fund_renderer.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/pipeline/test_process_runner.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/pipeline/test_renderer_registry.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/pipeline/test_run_pipeline.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/pipeline/test_run_py_integration.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/pipeline/test_schema.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/pipeline/test_validators.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_agent_review_freshness.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_announcement_identity.py
- Executable scriptline 1
Executable file - Network accessline 97
from fetch_events import _web_search_events with patch('fetch_events.search_trusted', return_value=[ {'title': '其他公司清盘', 'url': 'https://example.com/wrong'}, - Network accessline 98
with patch('fetch_events.search_trusted', return_value=[ {'title': '其他公司清盘', 'url': 'https://example.com/wrong'}, {'title': '腾讯控股回购公告', 'url': 'https://example.com/right'}, - Network accessline 99
{'title': '其他公司清盘', 'url': 'https://example.com/wrong'}, - Network accessline 100
{'title': '腾讯控股回购公告', 'url': 'https://example.com/right'},
skills/deep-analysis/scripts/tests/test_audit_regressions.py
- Executable scriptline 1
Executable file - Network accessline 162
assert evaluate_serenity(stock(), {}, [headline]).signal == "neutral" fact = dict(headline, business_fact_verified=True, business_fact="production", url="https://example.com/filing", source="fixture") - Network accessline 163
fact = dict(headline, business_fact_verified=True, business_fact="production", url="https://example.com/filing", source="fixture") assert evaluate_serenity(stock(), {}, [fact]).signal == "bullish" - Network accessline 164
url="https://example.com/filing", source="fixture") - Network accessline 183
def test_bad_url_does_not_crash_renderer(): from lib.report.security import safe_url assert safe_url("https://[invalid") == "#" - Network accessline 185
assert safe_url("https://[invalid") == "#"
skills/deep-analysis/scripts/tests/test_basic_name_fallback.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/deep-analysis/scripts/tests/test_daily_screen.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_daily_screen_sources.py
- Executable scriptline 1
Executable file - Network accessline 31
def news(): return [{"kind": "event", "grade": "C", "title": "测试股份公告", "company_specific": True, "source": "fixture:news", "url": "https://example.com/notice", - Network accessline 32
return [{"kind": "event", "grade": "C", "title": "测试股份公告", "company_specific": True, "source": "fixture:news", "url": "https://example.com/notice", "published_at": (NOW - timedelta(hours=1)).isoformat()}] - Network accessline 33
"source": "fixture:news", "url": "https://example.com/notice", - Network accessline 217
"event_timeline": ["2026-09-04 · 展示摘要"], "recent_news": [{ "title": "测试股份:业务公告", "date": "2026-09-04 10:00:00", "url": "https://example.com/news", "source": "fixture", - Network accessline 218
"title": "测试股份:业务公告", "date": "2026-09-04 10:00:00", "url": "https://example.com/news", "source": "fixture", }], - Network accessline 219
"url": "https://example.com/news", "source": "fixture", - Network accessline 224
assert not gaps assert evidence[0]["company_specific"] is True assert evidence[0]["url"] == "https://example.com/news" - Network accessline 225
assert evidence[0]["company_specific"] is True assert evidence[0]["url"] == "https://example.com/news" assert evidence[0]["published_at"] == "2026-09-04 10:00:00" - Network accessline 226
assert evidence[0]["url"] == "https://example.com/news"
skills/deep-analysis/scripts/tests/test_feature_evidence_and_holdings.py
skills/deep-analysis/scripts/tests/test_global_peer_comparison.py
- Executable scriptline 1
Executable file - Network accessline 222
assert discovered[0]["market"] == "KR" assert enriched["periods"]["2024-12-31"]["revenue"] == 3000 assert session.calls[0][0].startswith("https://query2.finance.yahoo.com/") - Network accessline 223
assert enriched["periods"]["2024-12-31"]["revenue"] == 3000 assert session.calls[0][0].startswith("https://query2.finance.yahoo.com/") assert session.calls[0][1]["timeout"] <= 15 - Network accessline 224
assert session.calls[0][0].startswith("https://query2.finance.yahoo.com/") - Network accessline 437
class FakeSession: def get(self, url, **kwargs): assert url.startswith("https://query1.finance.yahoo.com/") - Network accessline 438
def get(self, url, **kwargs): assert url.startswith("https://query1.finance.yahoo.com/") assert kwargs["timeout"] <= 15 - Network accessline 439
assert url.startswith("https://query1.finance.yahoo.com/")
skills/deep-analysis/scripts/tests/test_html_escape_boundary.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_issue100_101_review_integrity.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_issue73_74_robustness.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_issue76_hermes_trigger_docs.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_issue87_em_direct_and_comps.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_issue90_us_financials_ttm.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_lhb_date_format_fix.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_loss_making_stock_recovery.py
skills/deep-analysis/scripts/tests/test_market_status.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_mx_coverage_fallback.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_no_regressions.py
- Executable scriptline 1
Executable file - Access to secretsline 693
[Credential-related source omitted] - Access to secretsline 706
[Credential-related source omitted] - Access to secretsline 732
[Credential-related source omitted] - Access to secretsline 733
[Credential-related source omitted] - Access to secretsline 736
[Credential-related source omitted] - Access to secretsline 739
[Credential-related source omitted] - Access to secretsline 740
[Credential-related source omitted] - Access to secretsline 799
[Credential-related source omitted] - Access to secretsline 807
[Credential-related source omitted] - Access to secretsline 828
[Credential-related source omitted] - Access to secretsline 832
[Credential-related source omitted] - Access to secretsline 865
[Credential-related source omitted]
skills/deep-analysis/scripts/tests/test_panel_evidence_status.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_panel_model_gates.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_panel_web.py
- Executable scriptline 1
Executable file - Network accessline 12
'abstention_category': 'market_not_applicable', 'reasoning': '<script>alert(1)</script>', 'sources': ['bad', 'good']}], 'signal_distribution': {'skip': 1}}, 'raw': {}, 'snapshot': {'sources': {'bad': 'javascript:alert(1)', - Network accessline 14
'raw': {}, 'snapshot': {'sources': {'bad': 'javascript:alert(1)', 'good': 'https://example.com/report'}}} - Network accessline 21
assert '<script>alert(1)</script>' not in page assert 'javascript:alert(1)' not in page assert 'https://example.com/report' in page - Network accessline 22
assert 'javascript:alert(1)' not in page assert 'https://example.com/report' in page assert '市场不适用' in page and 'None' not in page - Network accessline 23
assert 'https://example.com/report' in page - Network accessline 51
def test_credential_url_is_not_allowed(): assert safe_url('https://username:password@example.com/') is None - Network accessline 52
assert safe_url('https://username:password@example.com/') is None
skills/deep-analysis/scripts/tests/test_pr75_pipeline_market_metadata.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_pr88_missing_data_truthfulness.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_pr93_template_rendering.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_pr_integration_regressions.py
- Executable scriptline 1
Executable file - Access to secretsline 51
[Credential-related source omitted] - Network accessline 177
with pytest.raises(ValueError, match="same issuer"): render_page([unknown, {**unknown, "ticker": "MSFT"}]) assert safe_url("https://[invalid") is None - Network accessline 179
assert safe_url("https://[invalid") is None
skills/deep-analysis/scripts/tests/test_providers_chain.py
skills/deep-analysis/scripts/tests/test_serenity_rules.py
skills/deep-analysis/scripts/tests/test_short_mandate_consensus.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_tier1_ai_readiness.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_tier1_earnings_preview.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_tier1_model_update.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_tier1_rebalance.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_tier1_returns.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v2_10_4_fixes.py
- Executable scriptline 1
Executable file - Access to secretsline 35
[Credential-related source omitted] - Access to secretsline 41
[Credential-related source omitted] - Access to secretsline 60
[Credential-related source omitted] - Access to secretsline 94
[Credential-related source omitted] - Access to secretsline 122
[Credential-related source omitted] - Access to secretsline 188
[Credential-related source omitted] - Access to secretsline 286
[Credential-related source omitted] - Access to secretsline 299
[Credential-related source omitted]
skills/deep-analysis/scripts/tests/test_v2_11_scoring_calibration.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v2_12_1_data_fixes.py
skills/deep-analysis/scripts/tests/test_v2_12_hottrend.py
- Executable scriptline 1
Executable file - Network accessline 72
"target": { "title": "茅台股价为什么跌", "link": {"url": "https://zhihu.com/q/1"}, - Network accessline 73
"title": "茅台股价为什么跌", "link": {"url": "https://zhihu.com/q/1"}, "metrics_area": {"text": "1000 万热度"}, - Network accessline 74
"link": {"url": "https://zhihu.com/q/1"}, - Network accessline 82
assert len(items) == 1 assert items[0].title == "茅台股价为什么跌" assert items[0].url == "https://zhihu.com/q/1" - Network accessline 83
assert items[0].title == "茅台股价为什么跌" assert items[0].url == "https://zhihu.com/q/1" assert items[0].extra == "1000 万热度" - Network accessline 84
assert items[0].url == "https://zhihu.com/q/1" - Network accessline 92
{ "content": [ {"word": "比亚迪涨停", "hotScore": 5000, "url": "https://b.co/1"}, - Network accessline 93
"content": [ {"word": "比亚迪涨停", "hotScore": 5000, "url": "https://b.co/1"}, {"word": "宁德时代", "hotScore": 4500, "url": "https://b.co/2"}, - Network accessline 94
{"word": "比亚迪涨停", "hotScore": 5000, "url": "https://b.co/1"}, - Network accessline 95
{"word": "宁德时代", "hotScore": 4500, "url": "https://b.co/2"}, - Network accessline 273
def test_hot_item_to_dict_roundtrip(): it = HotItem(rank=3, title="test", url="https://x.com", hot_score=100, - Network accessline 274
it = HotItem(rank=3, title="test", url="https://x.com", hot_score=100,
skills/deep-analysis/scripts/tests/test_v2_13_3_investor_rules.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v2_13_4_new_sources.py
skills/deep-analysis/scripts/tests/test_v2_13_5_preflight_adaptive.py
skills/deep-analysis/scripts/tests/test_v2_13_6_news_futures.py
skills/deep-analysis/scripts/tests/test_v2_13_7_wire_new_sources.py
- Executable scriptline 1
Executable file - Network accessline 62
from lib import news_providers as np fake_js = 'var ajaxResult={"LivesList":[{"title":"东财快讯","digest":"摘要","url_mobile":"http://x","showtime":"2026-04-19"}]}' - Network accessline 63
fake_js = 'var ajaxResult={"LivesList":[{"title":"东财快讯","digest":"摘要","url_mobile":"http://x","showtime":"2026-04-19"}]}'
skills/deep-analysis/scripts/tests/test_v2_13_playwright_strategy.py
- Executable scriptline 1
Executable file - Access to secretsline 26
[Credential-related source omitted] - Access to secretsline 102
[Credential-related source omitted] - Access to secretsline 109
[Credential-related source omitted] - Access to secretsline 116
[Credential-related source omitted] - Access to secretsline 117
[Credential-related source omitted] - Access to secretsline 125
[Credential-related source omitted] - Access to secretsline 204
[Credential-related source omitted] - Access to secretsline 219
[Credential-related source omitted] - Access to secretsline 220
[Credential-related source omitted] - Access to secretsline 264
[Credential-related source omitted] - Access to secretsline 284
[Credential-related source omitted] - Access to secretsline 358
[Credential-related source omitted] - Access to secretsline 394
[Credential-related source omitted] - Access to secretsline 395
[Credential-related source omitted] - Access to secretsline 427
[Credential-related source omitted] - Access to secretsline 435
[Credential-related source omitted]
skills/deep-analysis/scripts/tests/test_v2_14_0_update_check.py
- Executable scriptline 1
Executable file - Access to secretsline 45
[Credential-related source omitted] - Access to secretsline 50
[Credential-related source omitted] - Network accessline 66
"tag_name": "v2.14.0", "body": "## v2.14.0\nauto update check" + "x" * 1000, "html_url": "https://example/release", - Network accessline 67
"body": "## v2.14.0\nauto update check" + "x" * 1000, "html_url": "https://example/release", } - Network accessline 68
"html_url": "https://example/release", - Network accessline 167
def test_format_prompt_contains_all_options(): from lib.update_check import UpdateInfo, format_prompt info = UpdateInfo(current="2.13.7", latest="2.14.0", notes="blah", url="http://x") - Network accessline 168
from lib.update_check import UpdateInfo, format_prompt info = UpdateInfo(current="2.13.7", latest="2.14.0", notes="blah", url="http://x") txt = format_prompt(info) - Network accessline 169
info = UpdateInfo(current="2.13.7", latest="2.14.0", notes="blah", url="http://x")
skills/deep-analysis/scripts/tests/test_v2_15_0_persona_layer.py
- Executable scriptline 1
Executable file - Access to secretsline 114
[Credential-related source omitted] - Access to secretsline 128
[Credential-related source omitted] - Access to secretsline 132
[Credential-related source omitted] - Access to secretsline 138
[Credential-related source omitted] - Access to secretsline 142
[Credential-related source omitted]
skills/deep-analysis/scripts/tests/test_v2_15_1_fund_lite_rendering.py
- Executable scriptline 1
Executable file - Network accessline 140
"title": "贵州茅台:拟与茅台集团共同出资10亿元成立科学与技术研究院", "body": "贵州茅台表示,技术创新在公司发展历程中始终扮演关键角色...", "url": "https://nbd.com.cn/x" - Network accessline 141
"body": "贵州茅台表示,技术创新在公司发展历程中始终扮演关键角色...", "url": "https://nbd.com.cn/x" } - Network accessline 142
"url": "https://nbd.com.cn/x" - Network accessline 152
"title": "中密控股发布 2025 年报 · 机械密封件龙头", "body": "中密控股在核电密封件市场份额领先...", "url": "https://x.com/y" - Network accessline 153
"body": "中密控股在核电密封件市场份额领先...", "url": "https://x.com/y" } - Network accessline 154
"url": "https://x.com/y" - Network accessline 164
"title": "A 股行情日报:创业板指数上涨 2%", "body": "今日大盘继续震荡...", "url": "https://x.com/y" - Network accessline 165
"body": "今日大盘继续震荡...", "url": "https://x.com/y" } - Network accessline 166
"url": "https://x.com/y" - Network accessline 177
"title": "贵州茅台 2025Q3 业绩超预期", "body": "贵州茅台表示...", "url": "https://x.com/y" - Network accessline 178
"body": "贵州茅台表示...", "url": "https://x.com/y" } - Network accessline 179
"url": "https://x.com/y"
skills/deep-analysis/scripts/tests/test_v2_15_2_network_enhance.py
skills/deep-analysis/scripts/tests/test_v2_15_3_capital_flow_cache.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v2_15_4_school_scores.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_3_2_issue_fixes.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_3_3_pr_fixes.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_3_4_minirackerguard.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_4_0_fund_holdings.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_4_1_verdict_granularity.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_4_2_baostock_fallback.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_4_3_mutual_fund_classification.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_4_4_banner_ux.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_4_5_youzi_lhb_and_lowconf.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_5_0_school_lock.py
- Executable scriptline 1
Executable file - Access to secretsline 28
[Credential-related source omitted] - Access to secretsline 34
[Credential-related source omitted] - Access to secretsline 38
[Credential-related source omitted] - Access to secretsline 44
[Credential-related source omitted] - Access to secretsline 48
[Credential-related source omitted] - Access to secretsline 65
[Credential-related source omitted] - Access to secretsline 74
[Credential-related source omitted] - Access to secretsline 80
[Credential-related source omitted]
skills/deep-analysis/scripts/tests/test_v3_6_0_phase_a_visual.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_6_0_phase_b_versus.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_6_0_phase_c_portfolio.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_6_1_install_hermes.py
skills/deep-analysis/scripts/tests/test_v3_6_2_cninfo_and_pip.py
- Executable scriptline 1
Executable file - Network accessline 43
with patch("requests.post") as mock_post: import requests mock_post.side_effect = requests.ConnectionError("simulated network down") - Network accessline 44
import requests mock_post.side_effect = requests.ConnectionError("simulated network down") rows = _cninfo_direct_api("000958") - Network accessline 45
mock_post.side_effect = requests.ConnectionError("simulated network down") - Access to secretsline 106
[Credential-related source omitted] - Access to secretsline 131
[Credential-related source omitted] - Access to secretsline 142
[Credential-related source omitted]
skills/deep-analysis/scripts/tests/test_v3_7_0_new_tech_investors.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_7_2_html_escape.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_8_0_serenity_dupont_indicators.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_8_1_audit_fixes.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_9_0_ghzw.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_9_1_toc_collapse.py
- Executable scriptline 1
Executable file
skills/deep-analysis/scripts/tests/test_v3_9_2_flow_bugfixes.py
skills/investor-panel/references/quotes-knowledge-base.md
- Network accessline 19
**原话语料**: 1. "别人贪婪时我恐惧,别人恐惧时我贪婪。" ("Be fearful when others are greedy, and be greedy when others are fearful.") — [2004 年致股东信](https://www.berkshirehathaway.com/letters/2004ltr.pdf) - Network accessline 20
1. "别人贪婪时我恐惧,别人恐惧时我贪婪。" ("Be fearful when others are greedy, and be greedy when others are fearful.") — [2004 年致股东信](https://www.berkshirehathaway.com/letters/2004ltr.pdf) - Network accessline 21
2. "用合理的价格买一家好公司,远比用便宜的价格买一家普通公司要好。" ("It's far better to buy a wonderful company at a fair price than a fair company at a wonderful price.") — [1989 年致股东信](https://www.berkshirehathaway.com/letters/1989.html) - Network accessline 22
3. "我们最喜欢的持有期是永远。" ("Our favorite holding period is forever.") — [1988 年致股东信](https://www.berkshirehathaway.com/letters/1988.html) - Network accessline 23
4. "只有在退潮时,你才知道谁在裸泳。" ("Only when the tide goes out do you discover who's been swimming naked.") — [2001 年致股东信](https://www.berkshirehathaway.com/2001ar/2001letter.html) - Network accessline 24
5. "投资的第一条规则是不要亏钱,第二条规则是不要忘记第一条。" ("Rule No. 1: Never lose money. Rule No. 2: Never forget Rule No. 1.") — [雪球专栏整理](https://xueqiu.com/1173786903/31092716) - Network accessline 34
**原话语料**: 1. "投资操作是经过深入分析,能确保本金安全并获得满意回报的操作;不符合这一标准的就是投机。" ("An investment operation is one which, upon thorough analysis, promises safety of principal and an adequate return. Operations not meeting these requirements are speculative.") — 《 - Network accessline 35
1. "投资操作是经过深入分析,能确保本金安全并获得满意回报的操作;不符合这一标准的就是投机。" ("An investment operation is one which, upon thorough analysis, promises safety of principal and an adequate return. Operations not meeting these requirements are speculative.") — 《证券分析》1934 - Network accessline 36
2. "市场短期是投票机,长期是称重机。" ("In the short run, the market is a voting machine, but in the long run it is a weighing machine.") — 《证券分析》,[雪球引用整理](https://xueqiu.com/3406051297/74413929) - Network accessline 37
3. "投资者的主要问题,甚至是他最大的敌人,很可能就是他自己。" ("The investor's chief problem—and even his worst enemy—is likely to be himself.") — 《聪明的投资者》,[Goodreads 词条](https://www.goodreads.com/quotes/120117) - Network accessline 38
4. "安全边际这四个字,是稳健投资的核心秘诀。" ("Confronted with a challenge to distill the secret of sound investment into three words, we venture the motto, MARGIN OF SAFETY.") — 《聪明的投资者》第 20 章,[Goodreads 词条](https://www.goodreads.com/quotes/120117) - Network accessline 39
5. "想象一下你和市场先生做生意,他每天都来给你报价……有时他兴高采烈,有时他惊慌失措。"(关于"市场先生"的寓言)— 《聪明的投资者》第 8 章,[雪球专栏](https://xueqiu.com/6146592061/136456321) - Network accessline 49
**原话语料**: 1. "股市充斥着那些知道一切价格但对价值一无所知的人。" ("The stock market is filled with individuals who know the price of everything, but the value of nothing.") — 《怎样选择成长股》,[Goodreads 词条](https://www.goodreads.com/author/quotes/59255.Philip_A_Fisher) - Network accessline 50
1. "股市充斥着那些知道一切价格但对价值一无所知的人。" ("The stock market is filled with individuals who know the price of everything, but the value of nothing.") — 《怎样选择成长股》,[Goodreads 词条](https://www.goodreads.com/author/quotes/59255.Philip_A_Fisher) - Network accessline 51
2. "我不想要很多好的投资,我只想要几个出色的投资。" ("I don't want a lot of good investments; I want a few outstanding ones.") — 《怎样选择成长股》,[Goodreads 词条](https://www.goodreads.com/author/quotes/59255.Philip_A_Fisher) - Network accessline 52
3. "如果购买普通股时所做的工作是正确的,那么卖出它们的时机——几乎永远不会到来。" ("If the job has been correctly done when a common stock is purchased, the time to sell it is—almost never.") — 《怎样选择成长股》,[雪球整理](https://xueqiu.com/1175857472/104812614) - Network accessline 53
4. "跟随大众做大众在做的事,往往是错误的。" ("Doing what everybody else is doing at the moment, and therefore what you have an almost irresistible urge to do, is often the wrong thing to do at all.") — 《保守型投资者夜夜安枕》,[Goodreads 词条](https://www.goodreads.com/aut - Network accessline 63
**原话语料**: 1. "反过来想,总是反过来想。" ("Invert, always invert.") — 2007 年南加州大学法学院毕业演讲,[YouTube 视频](https://www.youtube.com/watch?v=jY1eNlL6NKs) - Network accessline 64
1. "反过来想,总是反过来想。" ("Invert, always invert.") — 2007 年南加州大学法学院毕业演讲,[YouTube 视频](https://www.youtube.com/watch?v=jY1eNlL6NKs) - Network accessline 65
2. "如果我知道我会死在哪里,那我就永远不去那个地方。" ("All I want to know is where I'm going to die, so I'll never go there.") — 2007 年 USC 毕业演讲,[Farnam Street 整理](https://fs.blog/great-talks/psychology-human-misjudgment/) - Network accessline 66
3. "拿着锤子的人看什么都像钉子。" ("To a man with a hammer, every problem looks like a nail.") — 1994 年 USC 商学院演讲《关于现实思维的基本常识》,[Farnam Street](https://fs.blog/a-lesson-on-elementary-worldly-wisdom-as-it-relates-to-investment-management-business/) - Network accessline 67
4. "我这辈子遇到的聪明人,没有不每天阅读的——没有,一个都没有。" ("In my whole life, I have known no wise people who didn't read all the time—none, zero.") — 2007 年 USC 毕业演讲,[Farnam Street](https://fs.blog/2016/01/munger-operating-system/) - Network accessline 68
5. "赚大钱的秘诀不在买进卖出,而在等待。" ("The big money is not in the buying and the selling, but in the waiting.") — 《穷查理宝典》,[雪球专栏](https://xueqiu.com/2751308955/56090123) - Network accessline 78
**原话语料**: 1. "牛市在悲观中诞生,在怀疑中成长,在乐观中成熟,在狂喜中死亡。" ("Bull markets are born on pessimism, grow on skepticism, mature on optimism, and die on euphoria.") — 邓普顿十六条投资原则,[Templeton 基金会官网](https://www.templeton.org/about/sir-john/investment-principles - Network accessline 79
1. "牛市在悲观中诞生,在怀疑中成长,在乐观中成熟,在狂喜中死亡。" ("Bull markets are born on pessimism, grow on skepticism, mature on optimism, and die on euphoria.") — 邓普顿十六条投资原则,[Templeton 基金会官网](https://www.templeton.org/about/sir-john/investment-principles) - Network accessline 80
2. "购买最便宜股票的时机,就是最悲观点到来之时。" ("The time of maximum pessimism is the best time to buy, and the time of maximum optimism is the best time to sell.") — 1979 年《福布斯》访谈,[Forbes 回顾](https://www.forbes.com/sites/steveforbes/2012/07/09/sir-john-templ - Network accessline 81
3. "如果你想获得比大众更好的业绩,你的做法必须和大众不同。" ("If you want to have a better performance than the crowd, you must do things differently from the crowd.") — 《邓普顿教你逆向投资》,[Goodreads 词条](https://www.goodreads.com/author/quotes/55526.John_Templeton) - Network accessline 82
4. "'这次不一样'是投资中最昂贵的四个字。" ("The four most dangerous words in investing are: 'this time it's different.'") — [Templeton 基金会官网](https://www.templeton.org/about/sir-john/investment-principles) - Network accessline 83
5. "如果你在每个市场都看同样的股票,必然错过机会;要到大多数投资者没去的地方寻找。" ("If you search worldwide, you will find more bargains and better bargains than by studying only one nation.") — 邓普顿投资原则,[Templeton 基金会](https://www.templeton.org/about/sir-john/investment-princi - Network accessline 93
**原话语料**: 1. "价值投资在智力上是容易的,在情感上却是困难的。" ("Value investing is at its core the marriage of a contrarian streak and a calculator.") — 《安全边际》,[Goodreads 词条](https://www.goodreads.com/author/quotes/216731.Seth_A_Klarman) - Network accessline 94
1. "价值投资在智力上是容易的,在情感上却是困难的。" ("Value investing is at its core the marriage of a contrarian streak and a calculator.") — 《安全边际》,[Goodreads 词条](https://www.goodreads.com/author/quotes/216731.Seth_A_Klarman) - Network accessline 95
2. "投资者必须认识到:市场给你的不只是投资机会,还有情绪上的挑战。" ("Investors must recognize that the markets offer up not just investment opportunities but also emotional challenges.") — 《安全边际》,[Goodreads 词条](https://www.goodreads.com/author/quotes/216731.Seth_A_Klarm - Network accessline 96
3. "本垒打投资者要么中大奖,要么三振出局。相比之下,价值投资者追求的是一垒安打、二垒安打,偶尔的三垒安打,几乎不会三振出局。" ("Home run hitters strike out a lot. Value investors, by contrast, hit lots of singles and doubles, occasional triples, and almost never strike out.") — 《安全边际》,[雪球整理](https:/ - Network accessline 97
4. "大多数投资者以收益为导向;他们不关心风险。价值投资者则把避免损失放在首要位置。" ("Most investors are primarily oriented toward return, how much they can make and pay little attention to risk, how much they can lose.") — 《安全边际》,[Goodreads 词条](https://www.goodreads.com/author/ - Network accessline 98
5. "价值投资需要很大的努力、异常严格的纪律,以及长远的投资期限。" ("Value investing requires a great deal of hard work, unusually strict discipline, and a long-term investment horizon.") — 《安全边际》前言,[雪球专栏](https://xueqiu.com/3491303582/117048021) - Network accessline 110
**原话语料**: 1. "知道你拥有什么,知道你为什么拥有它。" ("Know what you own, and know why you own it.") — 《战胜华尔街》(One Up on Wall Street, Peter Lynch, 1989),[Goodreads](https://www.goodreads.com/work/quotes/773271) - Network accessline 111
1. "知道你拥有什么,知道你为什么拥有它。" ("Know what you own, and know why you own it.") — 《战胜华尔街》(One Up on Wall Street, Peter Lynch, 1989),[Goodreads](https://www.goodreads.com/work/quotes/773271) - Network accessline 112
2. "每一只股票背后都是一家公司。去搞清楚它在做什么。" ("Behind every stock is a company. Find out what it's doing.") — 《战胜华尔街》,[Goodreads](https://www.goodreads.com/work/quotes/773271) - Network accessline 113
3. "一家合理定价公司的 PE 应该等于它的成长率。如果可口可乐 PE 是 15,你会期望它每年成长约 15%。但如果 PE 低于成长率,你可能就捡到便宜货了。"(PEG 原话)— 《战胜华尔街》「著名的 PE」章节,[Goodreads](https://www.goodreads.com/work/quotes/773271) - Network accessline 114
4. "我把公司分成六大类:缓慢成长、稳健、快速成长、周期、资产、困境反转。" ("I've divided companies into six general categories: slow growers, stalwarts, fast growers, cyclicals, asset plays, and turnarounds.") — 《战胜华尔街》「猎捕十倍股」章节,[Goodreads](https://www.goodreads.com/work/qu - Network accessline 115
5. "在这行,如果你够好,十次里能对六次;你永远不会十次里对九次。" ("In this business, if you're good, you're right six times out of ten. You're never going to be right nine times out of ten.") — Peter Lynch 1994 年 National Press Club 演讲,[C-SPAN](https://www.c-span.org/v - Network accessline 125
**原话语料**: 1. "在股市赢钱的全部秘诀,是在你不对的时候亏得最少。" ("The whole secret to winning in the stock market is to lose the least amount possible when you're not right.") — 《笑傲股市》(How to Make Money in Stocks, William J. O'Neil),[Goodreads](https://www.goodrea - Network accessline 126
1. "在股市赢钱的全部秘诀,是在你不对的时候亏得最少。" ("The whole secret to winning in the stock market is to lose the least amount possible when you're not right.") — 《笑傲股市》(How to Make Money in Stocks, William J. O'Neil),[Goodreads](https://www.goodreads.com/wor - Network accessline 127
2. "只要跌破买入价 7% 或 8%,每一笔亏损都必须止损。没有例外。" ("Cut every single loss when it is 7% or 8% below your purchase price. No exceptions.") — 《笑傲股市》第 4 版「七大错误要避免」章节,[Goodreads](https://www.goodreads.com/work/quotes/1095951) - Network accessline 128
3. "多数人觉得又高又贵的,通常还会更高;多数人觉得又低又便宜的,通常还会更低。" ("What seems too high and risky to the majority generally goes higher and what seems low and cheap generally goes lower.") — 《笑傲股市》,[Goodreads](https://www.goodreads.com/work/quotes/1095951) - Network accessline 129
4. "CANSLIM 的 C,是 Current quarterly earnings per share——最近一季 EPS 同比至少要 +25%。" — 《笑傲股市》第 1 章,[William O'Neil Co.](https://www.williamoneil.com/canslim/) - Network accessline 130
5. "几乎所有投资者最常犯的错,就是在亏损还很小的时候执拗地扛住。" ("The number one mistake almost all investors make is stubbornly holding on to their losses when the losses are still small and reasonable.") — 《笑傲股市》/ IBD,[Investors.com](https://www.investors.com/how-to - Network accessline 140
**原话语料**: 1. "竞争是失败者的游戏。" ("Competition is for losers.") — Peter Thiel 于 WSJ 专栏 "Competition Is for Losers" (2014-09-12),[WSJ](https://www.wsj.com/articles/peter-thiel-competition-is-for-losers-1410535536) - Network accessline 141
1. "竞争是失败者的游戏。" ("Competition is for losers.") — Peter Thiel 于 WSJ 专栏 "Competition Is for Losers" (2014-09-12),[WSJ](https://www.wsj.com/articles/peter-thiel-competition-is-for-losers-1410535536) - Network accessline 142
2. "还没有人去做的、有价值的公司是什么?" ("What valuable company is nobody building?") — 《从零到一》(Zero to One, Peter Thiel & Blake Masters, 2014) 第 1 章,[Goodreads](https://www.goodreads.com/work/quotes/25627081) - Network accessline 143
3. "垄断是每一个成功企业的条件。" ("Monopoly is the condition of every successful business.") — 《从零到一》第 3 章,[Goodreads](https://www.goodreads.com/work/quotes/25627081) - Network accessline 144
4. "做最后一个进入者要比做第一个进入者好得多——在一个特定市场里做出最后一次重大进步,然后享受数年甚至数十年的垄断利润。" ("It's much better to be the last mover—to make the last great development in a specific market and enjoy years or even decades of monopoly profits.") — 《从零到一》第 5 章「末位优势」,[Good - Network accessline 145
5. "风险投资最大的秘密是:成功基金里最好的那笔投资,等于或超过整个基金其余部分的总和。" ("The biggest secret in venture capital is that the best investment in a successful fund equals or outperforms the entire rest of the fund combined.") — 《从零到一》第 7 章「跟着钱走」(幂律),[Goodreads](https: - Network accessline 155
**原话语料**: 1. "我们只专注于颠覆性创新……我们相信创新是增长的关键。" ("We focus solely on disruptive innovation… we believe innovation is the key to growth.") — ARK Invest "Big Ideas 2023" 年度报告,[ARK](https://www.ark-invest.com/big-ideas-2023) - Network accessline 156
1. "我们只专注于颠覆性创新……我们相信创新是增长的关键。" ("We focus solely on disruptive innovation… we believe innovation is the key to growth.") — ARK Invest "Big Ideas 2023" 年度报告,[ARK](https://www.ark-invest.com/big-ideas-2023) - Network accessline 157
2. "我们的时间视角是 5 年。我们在找那些能随着 S 曲线指数化发展而受益的公司。" ("Our time horizon is five years. We're looking for companies that will benefit from exponential growth as these technologies move up the S-curve.") — Bloomberg "Front Row" (2021),[Bloomberg](htt - Network accessline 158
3. "创新是用来解决问题的,而这个世界有一堆问题要解。" ("Innovation solves problems, and the world has a lot of problems to solve.") — ARK "In the Know" Podcast,[ARK](https://ark-invest.com/podcast/) - Network accessline 159
4. "我们认为股票市场将分化成两类——站在变化正确一侧的公司,和站在错误一侧的公司。" ("We think the equity markets are going to bifurcate into those companies and industries on the right side of change and those on the wrong side of change.") — CNBC "Halftime Report" (2021-02),[C - Network accessline 160
5. "深度学习会比互联网还大,到 2037 年会创造 30 万亿美元的市值。" ("Deep learning is going to be bigger than the internet. It's creating $30 trillion in equity market capitalization by 2037.") — ARK "Big Ideas 2023" / CNBC 访谈,[ARK](https://www.ark-invest.com/big-id - Network accessline 172
**原话语料**: 1. "我之所以富有,仅仅是因为我知道自己何时错了。" ("I'm only rich because I know when I'm wrong. I've survived by recognizing my mistakes.") — 《Soros on Soros: Staying Ahead of the Curve》(1995),[Goodreads](https://www.goodreads.com/work/quotes/1098380- - Network accessline 173
1. "我之所以富有,仅仅是因为我知道自己何时错了。" ("I'm only rich because I know when I'm wrong. I've survived by recognizing my mistakes.") — 《Soros on Soros: Staying Ahead of the Curve》(1995),[Goodreads](https://www.goodreads.com/work/quotes/1098380-soros-on-s - Network accessline 174
2. "重要的不是你判断对还是错,而是你对的时候能赚多少钱、错的时候又亏多少钱。" ("It's not whether you're right or wrong that's important, but how much money you make when you're right and how much you lose when you're wrong.") — 《金融炼金术》(The Alchemy of Finance, 1987),[Goodreads - Network accessline 175
3. "金融市场普遍处于不确定和不断流动的状态……你能预测未来这一想法,与我看市场的方式是矛盾的。" ("Financial markets generally are unpredictable... The idea that you can actually predict what's going to happen contradicts my way of looking at the market.") — 《金融炼金术》前言,[Goodreads](https - Network accessline 176
4. "当我看到一个泡沫形成时,我会冲进去买入、火上浇油。这并非不理性。" ("When I see a bubble forming, I rush in to buy, adding fuel to the fire. That is not irrational.") — Davos 2009 访谈,[Reuters](https://www.reuters.com/article/davos-soros-idUSLDE50M0FS20090123) - Network accessline 177
5. "市场价格总是错的,因为它们呈现的是对未来的偏见视角。" ("Market prices are always wrong in the sense that they present a biased view of the future.") — 《金融炼金术》第 1 章,[Goodreads](https://www.goodreads.com/work/quotes/2077181) - Network accessline 187
**原话语料**: 1. "痛苦 + 反思 = 进步。" ("Pain + Reflection = Progress.") — 《原则》(Principles: Life and Work, 2017),[Principles](https://www.principles.com/) - Network accessline 188
1. "痛苦 + 反思 = 进步。" ("Pain + Reflection = Progress.") — 《原则》(Principles: Life and Work, 2017),[Principles](https://www.principles.com/) - Network accessline 189
2. "投资的圣杯是找到 15 个或更多互不相关的良好回报流。" ("The Holy Grail of investing is finding 15 or more good, uncorrelated return streams.") — 《原则》第 3 部分,[Principles](https://www.principles.com/) - Network accessline 190
3. "靠水晶球过日子的人,注定要吃碎玻璃。" ("He who lives by the crystal ball is destined to eat ground glass.") — Bridgewater Daily Observations, 引用于《Hedge Fund Market Wizards》(2012),[Bridgewater](https://www.bridgewater.com/research-and-insights) - Network accessline 191
4. "现金是垃圾。" ("Cash is trash.") — Davos 2020 CNBC 访谈,[CNBC](https://www.cnbc.com/2020/01/21/ray-dalio-at-davos-cash-is-trash-as-everyone-is-going-to-pile-into-stocks.html) - Network accessline 192
5. "我们正处于典型长期债务周期的末端,当央行降息空间耗尽时,就必须印钞购买金融资产。" ("We are in the late stages of the long-term debt cycle when central banks' power to ease is coming to an end.") — "Paradigm Shifts" LinkedIn 长文 (2019-07-17),[LinkedIn](https://www.linkedin.com/ - Network accessline 202
**原话语料**: 1. "第一层思维说:'这是家好公司,买入股票'。第二层思维说:'这是家好公司,但人人都觉得它是伟大的公司,其实并非如此——股票被高估,卖出'。" ("First-level thinking says, 'It's a good company; let's buy the stock.' Second-level thinking says, 'It's a good company, but everyone thinks it's a great - Network accessline 203
1. "第一层思维说:'这是家好公司,买入股票'。第二层思维说:'这是家好公司,但人人都觉得它是伟大的公司,其实并非如此——股票被高估,卖出'。" ("First-level thinking says, 'It's a good company; let's buy the stock.' Second-level thinking says, 'It's a good company, but everyone thinks it's a great company, a - Network accessline 204
2. "过于超前于时代,与犯错并无区别。" ("Being too far ahead of your time is indistinguishable from being wrong.") — Oaktree memo "The Happy Medium" (2004-07-21),[Oaktree](https://www.oaktreecapital.com/insights/memo/the-happy-medium) - Network accessline 205
3. "规则一:多数事物都是周期性的。规则二:当别人忘记规则一时,最大的盈亏机会就来了。" ("Rule No. 1: Most things will prove to be cyclical. Rule No. 2: Some of the greatest opportunities for gain and loss come when other people forget Rule No. 1.") — Oaktree memo "You Can't Predic - Network accessline 206
4. "知道自己不知道什么,比知道什么更重要。" — 《投资最重要的事》,[Oaktree](https://www.oaktreecapital.com/insights/memo) - Network accessline 207
5. "聪明人一开始做的事,蠢人在最后做。" ("What the wise man does in the beginning, the fool does in the end.") — Oaktree memo "The Most Important Thing" (2003-07-01),[Oaktree](https://www.oaktreecapital.com/insights/memo/the-most-important-thing) - Network accessline 217
**原话语料**: 1. "索罗斯教会我的是:对或错并不重要,重要的是你对的时候赚了多少、错的时候亏了多少。当你有极大信念时,你必须一刀刺向要害。" ("Soros has taught me that when you have tremendous conviction on a trade, you have to go for the jugular. It takes courage to be a pig.") — Jack Schwager《The New Ma - Network accessline 218
1. "索罗斯教会我的是:对或错并不重要,重要的是你对的时候赚了多少、错的时候亏了多少。当你有极大信念时,你必须一刀刺向要害。" ("Soros has taught me that when you have tremendous conviction on a trade, you have to go for the jugular. It takes courage to be a pig.") — Jack Schwager《The New Market Wizar - Network accessline 219
2. "真正的大钱,是在你看对时重仓并持有——'猪才能赚大钱'。" ("The way to build long-term returns is through preservation of capital and home runs... when you have tremendous conviction on a trade, you have to go for the jugular.") — Lost Tree Club 演讲 (2015-01-18),[S - Network accessline 220
3. "永远不要根据估值投资。估值只能告诉你市场是否脆弱,真正让我进出的是流动性和技术面。" ("I never use valuation to time the market... what moves stocks is earnings and liquidity, and most people focus on the earnings, but liquidity moves the market.") — Real Vision 访谈 (2018),[Real - Network accessline 221
4. "30 年来我从未有过一年下跌。秘诀就是:当你错时亏少,当你对时赚多。" ("I've made a lot of mistakes, but they were all short-term mistakes. If I'm wrong, I'll just reverse my position.") — Bloomberg Markets 访谈 (2013),[Bloomberg](https://www.bloomberg.com/news/articles/2 - Network accessline 222
5. "不要看现在,要看 18 个月后的世界,然后把钱投到那里。" ("Never, ever invest in the present. You have to visualize the situation 18 months from now.") — Lost Tree Club 演讲 (2015-01-18),[Scribd](https://www.scribd.com/document/257627281/Druckenmiller-Lost-Tree-Clu - Network accessline 232
**原话语料**: 1. "我们的任务很简单:买入世界上最好的 200 家公司,做空最差的 200 家。如果最好的不跑赢最差的,那你可能应该换个行业。" ("Our mandate is to find the 200 best companies in the world and invest in them, and find the 200 worst companies in the world and go short on them.") — Forbes 访谈 - Network accessline 233
1. "我们的任务很简单:买入世界上最好的 200 家公司,做空最差的 200 家。如果最好的不跑赢最差的,那你可能应该换个行业。" ("Our mandate is to find the 200 best companies in the world and invest in them, and find the 200 worst companies in the world and go short on them.") — Forbes 访谈 (2008-09-0 - Network accessline 234
2. "好的想法 + 重点研究 + 对细节的深刻理解 = 赚钱之道。" ("Hear a good idea, analyze and research it, and if it looks like a great idea, act decisively.") — Tiger Management 投资者信,引用于 Daniel Strachman《Julian Robertson: A Tiger in the Land of Bulls and Bears》(200 - Network accessline 235
3. "在一个非理性市场里,非理性可以保持得比你预期更久——这是 1999-2000 互联网泡沫最昂贵的一课。" ("In an irrational market... logic does not count. This extraordinary market, divorced from reason, is one I do not understand and do not wish to trade in.") — Tiger Management 关基金投资者 - Network accessline 236
4. "我投的永远是骑师,不是赛马。" ("I always invested in the jockey, not the horse.") — Graham Duncan 访谈 (2008),[Graham Duncan Blog](https://grahamduncan.blog/julian-robertson/) - Network accessline 237
5. "我找年轻、饥饿、聪明、正直的人,让他们自由奔跑——这就是 Tiger Cubs 的由来。" ("I look for a person who is very bright, has great integrity, is extremely competitive, and who has a passion for what they do.") — Bloomberg TV (2012),[Bloomberg](https://www.bloomberg.com - Network accessline 249
**原话语料**: 1. "让我赚大钱的从来不是思考,而是坐着不动。" ("It never was my thinking that made the big money for me. It always was my sitting.") — 《股票作手回忆录》(Reminiscences of a Stock Operator, Edwin Lefèvre, 1923),[Goodreads](https://www.goodreads.com/work/quotes - Network accessline 250
1. "让我赚大钱的从来不是思考,而是坐着不动。" ("It never was my thinking that made the big money for me. It always was my sitting.") — 《股票作手回忆录》(Reminiscences of a Stock Operator, Edwin Lefèvre, 1923),[Goodreads](https://www.goodreads.com/work/quotes/927617) - Network accessline 251
2. "市场永远是对的,意见经常是错的。" ("The market is never wrong, but opinions often are.") — 《How to Trade in Stocks》(Jesse Livermore, 1940),[Goodreads](https://www.goodreads.com/author/quotes/216033.Jesse_Lauriston_Livermore) - Network accessline 252
3. "华尔街没有什么新鲜事。投机像山一样古老。今天在股市发生的事,以前发生过,以后还会再发生。" ("There is nothing new in Wall Street. There can't be because speculation is as old as the hills.") — 《股票作手回忆录》(1923),[Farnam Street](https://fs.blog/reminiscences-of-a-stock-operator/) - Network accessline 253
4. "只在所有因素都对你有利时才下注。没有人可以一直交易并一直赢。" ("Play the market only when all factors are in your favor. No person can play the market all the time and win.") — 《How to Trade in Stocks》(1940),[雪球整理](https://xueqiu.com/3970589568/118550193) - Network accessline 263
**原话语料**: 1. "你可以是对的,但仍然亏钱。" ("You can be right and still lose money.") — 《Trade Like a Stock Market Wizard》(2013),[Goodreads](https://www.goodreads.com/work/quotes/22929724) - Network accessline 264
1. "你可以是对的,但仍然亏钱。" ("You can be right and still lose money.") — 《Trade Like a Stock Market Wizard》(2013),[Goodreads](https://www.goodreads.com/work/quotes/22929724) - Network accessline 265
2. "风险来自不知道自己在做什么——以及无法控制你不知道的东西。" ("Risk comes from not knowing what you're doing — and from not being able to control what you don't know.") — 《Trade Like a Stock Market Wizard》(2013),[Goodreads](https://www.goodreads.com/author/quotes/65 - Network accessline 266
3. "成功交易者的目标是做出最好的交易,钱是第二位的。" ("The goal of a successful trader is to make the best trades. Money is secondary.") — @markminervini (Twitter/X),[Twitter](https://twitter.com/markminervini) - Network accessline 267
4. "不要专注赚钱,而要专注守住你已有的。" ("Don't focus on making money; focus on protecting what you have.") — 《Think & Trade Like a Champion》(2017),[Goodreads](https://www.goodreads.com/book/show/34430903-think-trade-like-a-champion) - Network accessline 277
**原话语料**: 1. "股市里没有'不可能'或'做不到'。一周内,股票可以做一件事;下一周,又可以做完全相反的事。" ("There is no such thing as can't or impossible in the stock market.") — 《How I Made $2,000,000 in the Stock Market》(Nicolas Darvas, 1960),[Goodreads](https://www.goodreads.com/wo - Network accessline 278
1. "股市里没有'不可能'或'做不到'。一周内,股票可以做一件事;下一周,又可以做完全相反的事。" ("There is no such thing as can't or impossible in the stock market.") — 《How I Made $2,000,000 in the Stock Market》(Nicolas Darvas, 1960),[Goodreads](https://www.goodreads.com/work/quotes/ - Network accessline 279
2. "我在股市里没有自尊。犯错我会立刻承认并迅速退出。" ("I have no ego in the stock market. If I make a mistake I admit it immediately and get out fast.") — 《How I Made $2,000,000 in the Stock Market》,[archive.org 原书](https://archive.org/details/how-i-made-2-000-00 - Network accessline 280
3. "我要做的是只看那些走得大胆、动能强、最好流通盘有限的股票。" ("I knew now that what I had to do was: to look only at bold-moving, dynamic stocks, preferably with a limited number of shares.") — 《How I Made $2,000,000 in the Stock Market》,[archive.org](https://archiv - Network accessline 281
4. "我发现:只在股票向上运动时买入才值得。谁愿意为一只停滞的股票付钱?" ("I have found that it pays to enter a stock only when it is on the move upwards. Why pay for a stagnant stock?") — 《How I Made $2,000,000》,[雪球箱体讨论](https://xueqiu.com/5395815372/79091197) - Network accessline 291
**原话语料**: 1. "时间是决定市场走势最重要的因素;通过研究历史价格记录,你可以向自己证明历史会重演。" ("Time is the most important factor in determining market movements and by studying past price records you will be able to prove to yourself history does repeat itself.") — 《45 Years - Network accessline 292
1. "时间是决定市场走势最重要的因素;通过研究历史价格记录,你可以向自己证明历史会重演。" ("Time is the most important factor in determining market movements and by studying past price records you will be able to prove to yourself history does repeat itself.") — 《45 Years in Wall St - Network accessline 293
2. "时间到了,价格就会反转。" ("When time is up, price will reverse.") — 归于《The Basis of My Forecasting Method》(1935),[Sacred Science](https://www.sacredscience.com/gann/) - Network accessline 294
3. "一切事物的存在都基于精确的比例与完美的关系。自然界没有偶然。" ("Everything in existence is based on exact proportion and perfect relationship. There is no chance in nature.") — 《Truth of the Stock Tape》(1923),[archive.org](https://archive.org/details/truthofstocktap - Network accessline 295
4. "知识像金钱一样,只有被运用才能增长。" ("Knowledge, like money, must be put to use in order to increase.") — 《45 Years in Wall Street》(1949),[Goodreads](https://www.goodreads.com/author/show/80715.W_D_Gann) - Network accessline 307
**原话语料**: 1. "我们不覆盖模型。如果你覆盖模型,就会一片混乱。" ("We don't override the models. If you override the models, you'll have a mess.") — MIT 访谈,引用于 Gregory Zuckerman《The Man Who Solved the Market》(2019),[Goodreads](https://www.goodreads.com/work/quotes/6 - Network accessline 308
1. "我们不覆盖模型。如果你覆盖模型,就会一片混乱。" ("We don't override the models. If you override the models, you'll have a mess.") — MIT 访谈,引用于 Gregory Zuckerman《The Man Who Solved the Market》(2019),[Goodreads](https://www.goodreads.com/work/quotes/66686988) - Network accessline 309
2. "科学家带进这场游戏里的优势,与其说是他们的数学或计算能力,不如说是他们科学地思考的能力。" ("The advantage scientists bring into the game is less their mathematical or computational skills than their ability to think scientifically.") — Numberphile / MIT 访谈,[YouTube](https://www.y - Network accessline 310
3. "过去的表现是预测未来成功的最佳指标……让电脑去找模式和预测方法。" ("Past performance is the best predictor of success… patterns, ways to predict — let the computers find them.") — TED 2015 对谈 Chris Anderson,[TED](https://www.ted.com/talks/jim_simons_the_mathematician_ - Network accessline 311
4. "运气很大程度上造就了我'天才'的名声。我早上走进办公室不是问'我今天聪明吗?',而是问'我今天幸运吗?'" ("Luck is largely responsible for my reputation for genius.") — MIT / Stony Brook 演讲,引用于《The Man Who Solved the Market》(2019),[华尔街见闻](https://wallstreetcn.com/articles/3577913) - Network accessline 321
**原话语料**: 1. "第一原则是不要欺骗自己——而你恰恰是最容易欺骗的那个人。"(索普常引 Feynman,并作为自传主旨) ("The first principle is that you must not fool yourself — and you are the easiest person to fool.") — 《A Man for All Markets》(2017),[Goodreads](https://www.goodreads.com/wor - Network accessline 322
1. "第一原则是不要欺骗自己——而你恰恰是最容易欺骗的那个人。"(索普常引 Feynman,并作为自传主旨) ("The first principle is that you must not fool yourself — and you are the easiest person to fool.") — 《A Man for All Markets》(2017),[Goodreads](https://www.goodreads.com/work/quotes/4 - Network accessline 323
2. "投资是所有游戏中最棒的一个,比国际象棋、大富翁、桥牌都更具挑战性。" ("Investing is the greatest game of all.") — 《A Man for All Markets》(2017),[Goodreads](https://www.goodreads.com/author/quotes/7056303.Edward_O_Thorp) - Network accessline 324
3. "要击败庄家,就数牌;要击败市场,就找错误定价并用凯利公式控制仓位。"(对《Beat the Dealer》/《Beat the Market》核心思想的释义)— [archive.org Beat the Dealer](https://archive.org/details/beatdealer00thor) - Network accessline 325
4. "别被大幅盈利的狂喜或亏损的绝望牵着走。专注于你 edge 的逻辑。" ("Don't get caught up in the euphoria of big gains or the despair of losses. Focus on the logic of your edge.") — 《A Man for All Markets》(2017),[Farnam Street](https://fs.blog/knowledge-project/edward- - Network accessline 335
**原话语料**: 1. "我们在找聪明、有创造力、热爱自己工作的人——那种能从多个角度切入问题的人。" ("We look for smart, creative people who are passionate about what they do — people who can approach problems from multiple angles.") — D.E. Shaw 官网 Careers / Fortune 人物报道,[D.E. Shaw](htt - Network accessline 336
1. "我们在找聪明、有创造力、热爱自己工作的人——那种能从多个角度切入问题的人。" ("We look for smart, creative people who are passionate about what they do — people who can approach problems from multiple angles.") — D.E. Shaw 官网 Careers / Fortune 人物报道,[D.E. Shaw](https://www.d - Network accessline 337
2. "公司成立的前提是:一小群天才般的人,运用复杂的数学和计算技术,能在市场中找到无效性。" ("The firm was founded on the premise that a small group of extraordinarily talented people, using sophisticated mathematical and computational techniques, could find inefficiencies in the mar - Network accessline 338
3. "我不把自己看作华尔街人。我是碰巧在金融业工作的计算机科学家。" ("I don't think of myself as a Wall Street person. I think of myself as a computer scientist who happens to be working in finance.") — NY Times 访谈 1996,[NY Times](https://www.nytimes.com/1996/03/10/busine - Network accessline 350
**原话语料**: 1. "本分 + 平常心" — [微信读书](https://weread.qq.com/web/bookDetail/3dd323e0813ab8b2fg0196ef) - Network accessline 351
1. "本分 + 平常心" — [微信读书](https://weread.qq.com/web/bookDetail/3dd323e0813ab8b2fg0196ef) - Network accessline 352
2. "Stop Doing List:有些事不做比做对的事更重要" — [界面](https://www.jiemian.com/article/2513409.html) - Network accessline 353
3. "做对的事情,把事情做对" — [腾讯新闻](https://news.qq.com/rain/a/20250502A01RJN00) - Network accessline 354
4. "借了要还,再借不难;但'再借不难'本身就是私心,放下它才是真本分" — [etf.group](http://etf.group/lib/article/534873.html) - Network accessline 355
5. "看十年想不明白的公司我不买" — [知乎](https://zhuanlan.zhihu.com/p/498129247) - Network accessline 363
1. "相比于不断跟踪企业经营的波动寻找机会,发现并一直持有几家具有长期逻辑的优秀公司似乎更为简单有效" — 2012 基金经理手记 / [知乎](https://zhuanlan.zhihu.com/p/310360136) - Network accessline 364
2. "本金亏损是股票投资的最大风险,必须在足够安全边际的保护下买入" — [efunds](https://www.efunds.com.cn/manager/539.shtml) - Network accessline 365
3. "做时间的朋友" — [南都](https://m.mp.oeeee.com/a/BAAFRD000020210129428935.html) - Network accessline 373
1. "假定自己在信息、理解、精力、情绪、人脉等所有方面都处于市场最差水平" — [howbuy](http://m.howbuy.com/news/detail.htm?id=2901816) - Network accessline 374
2. "我只能依靠时间、赔率与常识" — [知乎](https://zhuanlan.zhihu.com/p/442447120) - Network accessline 375
3. "寻找共识,依靠常识,接受自己的不完美" — [chnfund](https://app-web.chnfund.com/yhrw/gdft/202009/t20200923_2382354.html) - Network accessline 376
4. "在混沌时不敢果断给结论" — [新浪财经](https://finance.sina.cn/tech/csj/2023-08-08/detail-imzfnnsy1824387.d.html) - Network accessline 377
5. "强者失心时,弱者反而捕捉到机会" — [36氪](https://36kr.com/p/2202467165219976) - Network accessline 385
1. "中国市场效率比较低,所以在这个市场里面研究有很高的超额回报" — [格隆汇](https://m.gelonghui.com/p/148560) - Network accessline 386
2. "驱动市场向前的根本力量是企业的价值创造" — [高毅资产](https://www.gyasset.com/p/site/investTeamNewsArticle?id=7&type=6) - Network accessline 387
3. "投资回报主要来源于公司本身的价值创造,而不是与交易对手的博弈" — [21 经济](https://m.21jingji.com/article/20171126/herald/a6843495623831844183f7995003d6f4.html) - Network accessline 388
4. "投资的赛场比拼的是学习能力" — [凤凰财经](https://finance.ifeng.com/a/20150112/13422625_0.shtml) - Network accessline 389
5. "找到一桩好的生意、合适的人管理、恰当的价格" — [zhongguosou](http://www.zhongguosou.com/blog/post/1752.html) - Network accessline 397
1. "从较为长期的时间维度来看,疫情的影响终将逐步消退是个高概率的事情" — 2020 1Q 季报 / [界面](https://m.jiemian.com/article/4444155.html) - Network accessline 398
2. "恐慌情绪带来的估值折价是选股的较好时机" — [澎湃](https://m.thepaper.cn/newsDetail_forward_15954270) - Network accessline 399
3. "长期且重仓精选个股" — [知乎](https://zhuanlan.zhihu.com/p/337056519) - Network accessline 408
1. "白酒现在的估值跟几年前比确实涨得非常多了" — 2020 末采访 / [知乎](https://zhuanlan.zhihu.com/p/628703459) - Network accessline 424
**原话 / 公开观察**: 1. "超预期就买买买,低于预期就卖卖卖" — [东财](https://caifuhao.eastmoney.com/news/20260326214701855899350) - Network accessline 425
1. "超预期就买买买,低于预期就卖卖卖" — [东财](https://caifuhao.eastmoney.com/news/20260326214701855899350) - Network accessline 426
2. "专做困境反转,不做高位接力" — [复盘网](https://www.fupanwang.com/youzi_info/99.html) - Network accessline 427
3. 国晟科技 4 元建仓 → 11 连板 → 浮盈超 2 倍 — [知乎](https://zhuanlan.zhihu.com/p/1982005533687961036) - Network accessline 428
4. "鑫多多去哪,哪里就是热门" — [新浪](https://www.sina.cn/news/detail/5281461968047430.html) - Network accessline 429
5. 多次因疑似"先建仓→吹票→散户接盘→出货"被封号 — [东财](https://caifuhao.eastmoney.com/news/20260407173601151320670) - Network accessline 437
1. "二板定龙头,一板能看出来个毛" — [xiarj](https://www.xiarj.com/878.html) - Network accessline 438
2. "只做龙头,只做主升,只做惯性。不做反抽,不做波动" — [知乎](https://zhuanlan.zhihu.com/p/655244627) - Network accessline 439
3. "有新题材,坚决抛弃旧题材。只有新题材,才有凝聚市场里最敏锐最犀利的那股资金" — [xiarj](https://www.xiarj.com/28791.html) - Network accessline 440
4. "短期交易,不讲价值,不讲技术,只讲故事" — [淘股吧](https://m.tgb.cn/a/1ykHzjBoz0T) - Network accessline 441
5. "这股资金,以亿为单位,所到之处,只有涨停" — [360doc](http://www.360doc.com/content/24/0814/10/9857449_1131334655.shtml) - Network accessline 449
1. "下降通道中赚钱是偶然的,亏钱是必然的" — [知乎](https://zhuanlan.zhihu.com/p/358678134) - Network accessline 450
2. "炒股一定要炒龙头股,有板块效应的最好" — [xiarj](https://www.xiarj.com/9379.html) - Network accessline 451
3. "永远跟随市场主流走,主流板块龙头,资金易形成合力" — [九阳公社](https://www.jiuyangongshe.com/a/2yuuhp4cv8f) - Network accessline 452
4. "耐心+顺势而为+知行合一" — [xiarj](https://www.xiarj.com/22240.html) - Network accessline 453
5. "不会空仓的人永远不会战斗;不会止损的人,死路一条" — [知乎](https://zhuanlan.zhihu.com/p/377735134) - Network accessline 454
6. "炒股修心,盈亏皆属正常" — [东财](https://caifuhao.eastmoney.com/news/20250612234627937377380) - Network accessline 462
1. "得散户心者得天下。人气所向,牛股所在" — [知乎](https://zhuanlan.zhihu.com/p/638212212) - Network accessline 463
2. "牛股不是资金堆起来的,是情绪、人气的产物" — [csdn](https://blog.csdn.net/weixin_42708267/article/details/81582601) - Network accessline 464
3. "高手买入龙头,超级高手卖出龙头" — [知乎](https://zhuanlan.zhihu.com/p/1962550554061435054) - Network accessline 465
4. "别人贪婪时我更贪婪,别人恐慌时我更恐慌" — [csdn](https://blog.csdn.net/qq_43869822/article/details/148024646) - Network accessline 466
5. "敢于大盘低位空仓,敢于大盘高位满仓;心中无顶底,操作自随心" — [淘股吧](https://m.tgb.cn/a/2lyZPQKoSdO) - Network accessline 474
1. "只有系统的方法才能战胜人性的善变" — [jiemiaobi](https://www.jiemiaobi.com/archives/25407) - Network accessline 475
2. "把系统和纪律当成人生信仰" — [xiarj](https://www.xiarj.com/5577.html) - Network accessline 476
3. "执行模式一定要简单" — [360doc](http://www.360doc.com/content/19/1111/22/36715000_872515787.shtml) - Network accessline 484
1. "昔日炒股不识解放南,纵称英雄也枉然;今日后浪不识溧阳路,龙头战法白忙碌" — [淘股吧](https://m.tgb.cn/a/1VyvdBpx9qK) - Network accessline 485
2. "只有不断重复使用才会熟能生巧" — [知乎](https://zhuanlan.zhihu.com/p/1942579638703493890) - Network accessline 486
3. "无招胜有招的境界,必须先把基本招式学会,然后把固定格式和思维全部忘掉" — [知乎](https://zhuanlan.zhihu.com/p/638212212) - Network accessline 494
1. "做股票没有捷径,路还得自己去蹚出来" — [雪球](https://xueqiu.com/2867038677/248292108) - Network accessline 495
2. "超短最重要的就是跟随情绪和主线" — [九阳公社](https://www.jiuyangongshe.com/a/6w7hdt76pc) - Network accessline 496
3. "我做股票是爱好,我是一个非常自信的人" — [知乎](https://zhuanlan.zhihu.com/p/538239348) - Network accessline 497
4. 中交地产反核按钮 8600 万杀入 — [雪球](https://xueqiu.com/4161364907/253118507) - Network accessline 498
5. "亏出来的经验才是自己的" — [csdn](https://blog.csdn.net/A1138474382/article/details/144073779) - Network accessline 506
1. "我18岁的时候定下目标,所有人都笑我。那又怎样,我都实现了,而且提前三年" — [知乎](https://zhuanlan.zhihu.com/p/385851182) - Network accessline 507
2. "25岁赚 1000 万、28 岁赚 3000 万、30 岁赚 1 亿,连我妈都笑我吹牛" — [csdn](https://blog.csdn.net/A1138474382/article/details/144497953) - Network accessline 508
3. "龙头股就是我选股王冠上的明珠" — [xiarj](https://www.xiarj.com/21829.html) - Network accessline 516
1. "围着主线做,多研究龙头、研究涨停" — [157110](https://www.157110.cn/duanxian/815.html) - Network accessline 517
2. "刚入市不要想着赚钱,要想着悟道" — [157110](https://www.157110.cn/pdf/3618.html) - Network accessline 518
3. "稳定盈利前尽量少投入资金多投入精力" — [知乎](https://zhuanlan.zhihu.com/p/517601290) - Network accessline 519
4. "熊市比的不是快而是稳" — [新浪博客](https://blog.sina.com.cn/s/blog_bc57951a0102vj35.html) - Network accessline 527
1. "股票基本上就是个势,把握好市场涨跌的势头能解决大部分问题" — [csdn](https://blog.csdn.net/u014496893/article/details/138978814) - Network accessline 528
2. "交易要简单而纯粹" — [知乎](https://zhuanlan.zhihu.com/p/23855574629) - Network accessline 529
3. "从几万到几亿的人,都在市场里泡了10年以上。对的路要坚持,错的路要停止" — [豆瓣](https://www.douban.com/note/760144358/) - Network accessline 530
4. "大盘、热点主线、个股、情绪、节奏、心态、舒适买点" 七维体系 — [每经](https://www.nbd.com.cn/articles/2019-07-09/1352328.html) - Network accessline 538
1. "做龙头要眼到、手到、心到" — [知乎](https://zhuanlan.zhihu.com/p/571265889) - Network accessline 539
2. "真正龙头都有渡劫期,等的是确定性" — [知乎](https://www.zhihu.com/question/469316092/answer/2226674828) - Network accessline 540
3. "只看龙头,少看弱转强的杂毛" — [知乎](https://zhuanlan.zhihu.com/p/517601290) - Network accessline 548
1. "技术是花三个月就能学完的东西,但决定你能否长久生存下去的,是你的觉悟" — [知乎](https://zhuanlan.zhihu.com/p/22740714980) - Network accessline 549
2. 2025 年瑞芯微单日净买入 4.26 亿元 — [腾讯](https://news.qq.com/rain/a/20250210A04FY300) - Network accessline 557
1. "大回撤都是满仓一只股导致的" — [知乎](https://zhuanlan.zhihu.com/p/14061399373) - Network accessline 558
2. "做错及时止损,不要天天满仓干" — [360doc](http://www.360doc.com/content/23/0529/19/11685912_1082626610.shtml) - Network accessline 559
3. "慢就是快,重点是稳中求进" — [九阳公社](https://www.jiuyangongshe.com/a/27axf1pxau) - Network accessline 560
4. "超预期就买买买,低于预期就卖卖卖" — [九阳公社](https://www.jiuyangongshe.com/a/27g2wlz5qp) - Network accessline 561
5. "越到行情后期越要往龙头上转移,做跟风杂毛会被市场淘汰" — [55188](https://www.55188.com/thread-10464171-1-1.html) - Network accessline 569
1. "被视作反向指标,游资出货时的主要接盘席位" — [东财](https://caifuhao.eastmoney.com/news/20250510191734028283430) - Network accessline 570
2. 2025 上半年龙虎榜霸榜前四,年成交 732 亿 — [东财](https://caifuhao2.eastmoney.com/news/20250701165334126755420) - Network accessline 578
1. "打首板是指股票强势涨停后,次日具有冲高动力产生溢价" — [知乎](https://zhuanlan.zhihu.com/p/517601290) - Network accessline 579
2. "一年出手 30 次足以翻倍" — [360doc](http://www.360doc.com/content/24/1104/07/11685912_1138431768.shtml) - Network accessline 580
3. "9 点 25 分快速查看涨幅榜,涨幅 9% 以上做好买进准备" — [55188](https://www.55188.com/thread-25822737-1-1.html) - Network accessline 581
4. "打连板只打上午十点半之前的,必须是放量板" — [xiarj](https://www.xiarj.com/25321.html) - Network accessline 582
5. "打板一定是打板块里最强的,绝对的前排" — [xiarj](https://www.xiarj.com/25436.html) - Network accessline 583
6. "大盘下跌期间所有操作方法全部放弃,空仓等待" — [10huang](http://www.10huang.cn/zhangting/53874.html) - Network accessline 591
1. "坚决回避交易不活跃的股票,我只操作强势的股票" — [xiarj](https://www.xiarj.com/1089.html) - Network accessline 592
2. "涨停的股票第二天不能追买——头天 20 个涨停次日只有 3-4 个能连板,80% 冲高回落" — [xiarj](https://www.xiarj.com/1131.html) - Network accessline 593
3. "在没有稳定盈利的情况下职业炒股,恰恰是最能提高自己的" — [知乎](https://zhuanlan.zhihu.com/p/670758364) - Network accessline 594
4. "干一件事情就要专注地把它做好,所谓心无旁骛" — [东财](https://caifuhao.eastmoney.com/news/20241027202826670294150) - Network accessline 595
5. "熊市出英雄" — [csdn](https://blog.csdn.net/u014496893/article/details/138850258) - Network accessline 619
**原话语料** (X @aleabitoreddit · 自报业绩无独立审计,仅作口吻语料): 1. "Everyone thought I was crazy when I gave $AXTI a $150 PT from $12-15. All the doubters suddenly disappeared? Reason my YTD is over 600%+ is because I identify the biggest chokepoints in h - Network accessline 620
1. "Everyone thought I was crazy when I gave $AXTI a $150 PT from $12-15. All the doubters suddenly disappeared? Reason my YTD is over 600%+ is because I identify the biggest chokepoints in hyperscaler supply chains before anyone else. Then - Network accessline 621
2. "Bottleneck within a Bottleneck: Indium Phosphide. $AXTI | $SMTOY is a duopoly. They control 60%+ of the world's InP substrates." — X @aleabitoreddit,[semiconstocks Tracker](https://semiconstocks.com/) - Network accessline 622
3. "It's always when you're earliest to something that you get the most criticism / doubt." — X @aleabitoreddit,[PANews](https://www.panewslab.com/en/articles/019e7d30-5a0b-7721-8dfb-ff74096ba255) - Network accessline 623
4. "Did you remember my $AXTI InP substrate bottleneck call last year anon? IntelliEPI CEO (Q1 2026 ER): 'The InP substrate shortage is a bottleneck for the entire AI infrastructure.'" — X @aleabitoreddit,[capitalblueprint Substack](https:/
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 6 facts
- Contacts hermes-agent.nousresearch.com, which SKILL.md, the README and the plugin manifest do not mentioninstall-hermes.sh:68High confidence
- Contacts bootstrap.pypa.io, which SKILL.md, the README and the plugin manifest do not mentioninstall-hermes.sh:150High confidence
- Contacts mirrors.aliyun.com, which SKILL.md, the README and the plugin manifest do not mentionrun.py:151High confidence
- Contacts pypi.douban.com, which SKILL.md, the README and the plugin manifest do not mentionrun.py:153High confidence
- Contacts mirrors.aliyun.com, which SKILL.md, the README and the plugin manifest do not mentionsetup.sh:46High confidence
- Contacts mirrors.aliyun.com, which SKILL.md, the README and the plugin manifest do not mentiondeep-analysis/run.py:119High confidence
Signal confidence: 494 facts
- Network access in code of documentation.codex/INSTALL.md:8Low confidence
- Network access in prose of documentation.codex/INSTALL.md:59Low confidence
- Network access in code of documentation.opencode/INSTALL.md:6Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueAGENTS.md:184Low confidence
- Network access in code of documentationAGENTS.md:291Low confidence
- Network access in code of documentationAGENTS.md:292Low confidence
- Network access in code of documentationAGENTS.md:293Low confidence
- Network access in code of documentationAGENTS.md:296Low confidence
- Network access in code of documentationAGENTS.md:297Low confidence
- Network access in code of documentationAGENTS.md:299Low confidence
- Network access in code of documentationAGENTS.md:300Low confidence
- Network access in prose of documentationAGENTS.md:315Low confidence
- Network access in prose of documentationAGENTS.md:316Low confidence
- Network access in prose of documentationAGENTS.md:317Low confidence
- Network access in prose of documentationAGENTS.md:318Low confidence
- Network access in prose of documentationAGENTS.md:319Low confidence
- Network access in code of documentationAGENTS.md:333Low confidence
- Network access in code of documentationAGENTS.md:334Low confidence
- Network access in code of documentationAGENTS.md:335Low confidence
- Network access in code of documentationAGENTS.md:336Low confidence
- Network access in code of documentationAGENTS.md:337Low confidence
- Network access in code of documentationAGENTS.md:338Low confidence
- Network access in code of documentationAGENTS.md:339Low confidence
- Network access in code of documentationAGENTS.md:340Low confidence
- Network access in code of documentationAGENTS.md:341Low confidence
- Network access in code of documentationAGENTS.md:343Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueCODEX.md:106Low confidence
- Network access in prose of documentationCODE_OF_CONDUCT.md:19Low confidence
- Network access in code of documentationGEMINI.md:6Low confidence
- Network access in prose of documentationINSTALL-HERMES.md:3Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueINSTALL-HERMES.md:5Low confidence
- Dangerous shell operation in code of documentationINSTALL-HERMES.md:12Low confidence
- Network access in code of documentationINSTALL-HERMES.md:12Low confidence
- Dangerous shell operation in code of documentationINSTALL-HERMES.md:36Low confidence
- Network access in code of documentationINSTALL-HERMES.md:38Low confidence
- Network access in code of documentationINSTALL-HERMES.md:39Low confidence
- Network access in prose of documentationINSTALL-HERMES.md:63Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueINSTALL-HERMES.md:63Low confidence
- Network access in prose of documentationINSTALL-HERMES.md:64Low confidence
- Dangerous shell operation in prose of documentationINSTALL-HERMES.md:65Low confidence
- Network access in prose of documentationINSTALL-HERMES.md:65Low confidence
- Network access in code of documentationINSTALL-HERMES.md:95Low confidence
- Network access in prose of documentationINSTALL-HERMES.md:177Low confidence
- Network access in prose of documentationINSTALL-HERMES.md:178Low confidence
- Network access in prose of documentationREADME.md:1Low confidence
- Network access in prose of documentationREADME.md:3Low confidence
- Network access in prose of documentationREADME.md:4Low confidence
- Network access in prose of documentationREADME.md:14Low confidence
- Network access in prose of documentationREADME.md:15Low confidence
- Network access in prose of documentationREADME.md:16Low confidence
and 444 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Native | Manifest gemini-extension.json | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Native | Path .opencode/INSTALL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/wbh604-uzi-skill/)