Initial commit

This commit is contained in:
2026-07-05 17:59:02 +08:00
commit 11ea2ddb9a
18 changed files with 5549 additions and 0 deletions
+100
View File
@@ -0,0 +1,100 @@
version: 1
name: Daily News for Markyan04 Delivery Configuration
timezone: Asia/Shanghai
recipient:
email: markyan04@163.com
display_name: Hongyu Yan
archive:
directory: newspaper
write_before_send: true
mark_sent_after_success: true
formats:
- markdown
- html
- metadata_json
naming:
markdown: "{YYYY}-{MM}-{DD}-daily-news-for-markyan04.md"
html: "{YYYY}-{MM}-{DD}-daily-news-for-markyan04.html"
metadata_json: "{YYYY}-{MM}-{DD}-daily-news-for-markyan04.meta.json"
metadata_fields:
- date
- subject
- recipient
- generated_at
- sent_at
- delivery_status
- source_item_count
- filtered_recent_source_item_count
- source_error_count
- source_errors
- source_items
- content_hash
email:
transport: smtp
subject_format_ref: config/newspaper.yaml:title_format
body:
primary_format: html
include_plain_text_fallback: true
smtp:
host_env: NEWSPAPER_SMTP_HOST
port_env: NEWSPAPER_SMTP_PORT
username_env: NEWSPAPER_SMTP_USERNAME
password_env: NEWSPAPER_SMTP_PASSWORD
from_email_env: NEWSPAPER_FROM_EMAIL
from_name_env: NEWSPAPER_FROM_NAME
security_env: NEWSPAPER_SMTP_SECURITY
supported_security:
- ssl
- starttls
timeout_seconds: 30
secrets_policy:
never_commit_credentials: true
require_env_vars: true
allow_dotenv_for_local_dev: true
dotenv_file: .env
dotenv_should_be_gitignored: true
delivery_policy:
send_only_after_successful_generation: true
do_not_send_if_required_sections_missing: true
do_not_send_if_news_items_lack_sources: true
max_send_attempts: 3
retry_backoff_seconds:
- 60
- 300
failure_behavior:
- keep_archived_draft
- write_failure_metadata
- do_not_mark_sent
automation:
preferred_time_local: "08:00"
preferred_runner: docker_compose_scheduler
timezone: Asia/Shanghai
docker_compose_scheduler:
schedule_local: "08:00"
note: "Run the scheduler service on the Debian server with docker compose. It loops and runs once per local day."
required_secrets:
- DEEPSEEK_API_KEY
- DEEPSEEK_BASE_URL
- DEEPSEEK_MODEL
- NEWSPAPER_SMTP_HOST
- NEWSPAPER_SMTP_PORT
- NEWSPAPER_SMTP_USERNAME
- NEWSPAPER_SMTP_PASSWORD
- NEWSPAPER_FROM_EMAIL
- NEWSPAPER_FROM_NAME
- NEWSPAPER_SMTP_SECURITY
debian_host_cron:
cron_local: "0 8 * * *"
command: "cd /srv/apps/newspaper && docker compose run --rm newspaper hongyu-daily run"
note: "Use this instead of the scheduler service if you prefer host-level cron."
sender_notes:
- "The recipient is fixed as markyan04@163.com."
- "The sender account is intentionally not fixed here. Use any SMTP-capable mailbox or transactional email provider."
- "If a 163 mailbox is used as the sender, enable SMTP/IMAP service in the mailbox settings and use an authorization code rather than the normal login password."
- "Keep provider-specific SMTP host and port in environment variables, not in committed code."
+211
View File
@@ -0,0 +1,211 @@
title_format: "Daily News for Markyan04 | YYYY - MM - DD"
language: zh-CN
timezone: Asia/Shanghai
target_reading_minutes: 8-12
sources_config: config/sources.yaml
delivery_config: config/delivery.yaml
archive_dir: newspaper
output_language_policy:
newspaper_body: Chinese
preserve_common_english_terms: true
examples:
- RAG
- agent
- vibe coding
- LLMOps
- MCP
- eBPF
- KYC / AML
freshness_policy:
daily_collection_required: true
do_not_use_model_memory_as_news_source: true
news_items_require_source_url: true
news_items_require_date_or_collected_at: true
default_recent_window_hours: 72
prefer_recent_window_hours: 24
allow_evergreen_background_when_labeled: true
no_fresh_item_behavior: state_no_high_signal_update
sections:
summary:
weight: 0.05
title: 今日汇总
general_news:
weight: 0.15
title: 传统新闻
ai:
weight: 0.35
title: AI领域
software_engineering:
weight: 0.15
title: 传统软工
security_performance:
weight: 0.12
title: 安全与性能工程
github:
weight: 0.10
title: GitHub / 开源项目跟踪
finance:
weight: 0.08
title: 金融领域
general_news:
target_items_per_issue:
min: 3
max: 5
priority_topics:
- international_politics
- us_china_relations
- china_hong_kong_policy
- russia_ukraine_war
- asia_pacific
- macroeconomy
- market_regulation
- financial_regulation
style:
- summarize_events_before_interpretation
- prefer_primary_or_established_newsroom_sources
- include_source_metadata_under_title
ai:
discovery_map_not_daily_quota: true
target_items_per_issue:
min: 5
max: 8
freshness_rules:
min_recent_items_when_available: 4
recent_window_hours: 72
max_evergreen_or_background_items: 2
include_fresh_discovery_slot: true
do_not_repackage_old_concepts_as_today_news: true
priority_topics:
- large_language_models
- ai_coding_tools
- coding_agents
- vibe_coding
- agent_frameworks
- model_context_protocol
- multi_agent_systems
- llmops
- evaluation
- evaluation_harness
- agent_harness
- context_engineering
- observability
- guardrails
- inference_optimization
- rag
- graphrag
- long_context
- memory_systems
- multimodal_ai
- open_source_models
- ai_security
- new_ai_terms
- high_value_papers_and_technical_reports
item_template:
- what_happened
- context
- concrete_update
- possible_impact
- source
- published_or_collected_at
software_engineering:
priority_topics:
- backend_architecture
- spring_boot
- fastapi
- api_design
- frontend_engineering
- vue
- typescript
- databases
- postgresql
- mysql
- caching
- docker
- ci_cd
- observability
- testing
- incident_reviews
- maintainability
security_performance:
priority_topics:
- cve
- nvd
- cisa_kev
- vendor_advisories
- exploited_in_the_wild
- supply_chain_security
- gfw_measurement
- network_censorship_research
- linux_performance
- ebpf
- perf
- flamegraph
- android_performance
- systrace
- perfetto
- database_performance
safety_constraints:
- do_not_provide_censorship_evasion_tutorials
- do_not_provide_operational_bypass_guidance
github:
track_user_projects: false
priority_topics:
- ai_agents
- coding_agents
- llm_infrastructure
- rag_tools
- evaluation_tools
- developer_tools
- security_tools
- performance_tools
- fintech_infrastructure
selection_criteria:
- recent_star_growth
- active_commits_or_releases
- practical_use_case
- technical_learning_value
exclude:
- low_quality_prompt_collections
- thin_wrappers
- marketing_demos
- abandoned_repositories
finance:
not_investment_advice: true
priority_topics:
- interest_rates
- bonds
- yield_curve
- etf
- liquidity
- market_makers
- clearing
- settlement
- payments
- risk_control
- anti_fraud
- kyc_aml
- open_banking
- stablecoins
- tokenization
- ai_in_finance
- financial_regulation
negative_constraints:
- no_daily_action_checklist
- no_internship_or_job_section
- no_english_writing_section
- no_separate_research_section
- no_phd_or_mphil_content
- no_supervisor_matching
- no_cold_email_content
- no_user_project_github_tracking
- no_personalized_investment_advice
+875
View File
@@ -0,0 +1,875 @@
version: 1
name: Daily News for Markyan04 Source Configuration
language: zh-CN
timezone: Asia/Shanghai
purpose:
- Provide stable source rules for Daily News for Markyan04.
- Separate timely news from evergreen explanation.
- Make every newspaper item answer the basic journalistic questions when applicable.
- Prefer primary sources and fresh collection over model memory.
journalism_contract:
news_questions:
who: "谁发布、谁受影响、谁参与"
what: "发生了什么具体变化"
when: "发布日期、更新时间、事件发生时间或采集时间"
where: "发生在哪个机构、产品、地区、生态或仓库"
why: "事件的背景、影响范围和后续观察点"
how: "证据、机制、技术路径、影响方式或复现条件"
required_fields_for_news_like_items:
- title
- content_class
- section
- source_name
- source_url
- source_tier
- published_at_or_updated_at
- collected_at
- who
- what
- when
- where
- context_and_impact
- how_or_evidence
required_fields_for_background_items:
- title
- content_class
- section
- trigger_reason
- source_name
- source_url
- explanation
- relation_to_section_topic
background_items:
allowed: true
max_per_issue: 3
rule: "Background explanations are allowed only when they help understand a fresh item or a recurring important concept."
label: "背景理解"
content_classes:
breaking_news:
time_sensitive: true
freshness_window_hours: 24
requires_news_questions: true
official_release:
time_sensitive: true
freshness_window_hours: 72
requires_news_questions: true
technical_report:
time_sensitive: true
freshness_window_hours: 168
requires_news_questions: true
paper:
time_sensitive: true
freshness_window_hours: 168
requires_news_questions: true
belongs_under_section: ai
vulnerability:
time_sensitive: true
freshness_window_hours: 72
requires_news_questions: true
github_project_signal:
time_sensitive: true
freshness_window_hours: 72
requires_growth_signal: true
requires_news_questions: true
explainer:
time_sensitive: false
requires_trigger_reason: true
requires_news_questions: false
concept_note:
time_sensitive: false
requires_trigger_reason: true
requires_news_questions: false
source_tiers:
official_primary:
description: "Official pages, official blogs, official docs, official APIs, university pages, regulator pages."
default_weight: 1.0
technical_primary:
description: "Project repos, release notes, engineering blogs, model cards, arXiv papers, benchmark pages."
default_weight: 0.9
reputable_secondary:
description: "High-quality technical newsletters, established security research, respected independent experts."
default_weight: 0.75
community_signal:
description: "GitHub Trending, Hacker News, social discovery pages. Use for discovery, then verify with primary source."
default_weight: 0.55
background_reference:
description: "Evergreen docs and explainers. Use only as background, not as today's news."
default_weight: 0.4
collection_policy:
daily_collection_required: true
prefer_recent_window_hours: 24
default_recent_window_hours: 72
collect_before_generate: true
no_model_memory_as_news_source: true
store_raw_items: true
store_normalized_items: true
store_snapshots_for_change_only_sources: true
deduplicate_by:
- canonical_url
- normalized_title
- source_item_id
if_source_unavailable:
- retry_once
- use_fallback_url_if_configured
- mark_source_error
- do_not_invent_item
if_no_fresh_high_signal_item:
behavior: "state_no_high_signal_update"
text: "今日未发现高信号更新。"
ranking_policy:
score_fields:
source_tier: 0.25
freshness: 0.20
relevance_to_sections: 0.25
novelty: 0.15
technical_depth: 0.10
practical_value: 0.05
demote:
- no_source_url
- no_publication_or_collection_time
- repost_without_primary_source
- generic_commentary
- marketing_without_technical_detail
- low_quality_ai_listicle
promote:
- primary_source
- official_release_with_technical_detail
- useful_engineering_lessons
- affects_ai_engineering_workflow
- affects_general_news_or_financial_regulation
- active_exploitation_or_urgent_patch
- fast_github_growth_with_real_utility
sections:
summary:
source_strategy: "Use selected high-score items from all sections."
max_items: 5
general_news:
source_strategy: "Use established newsrooms plus official regulators for international politics, China/Hong Kong policy, war, and market regulation."
recent_window_hours: 72
target_items_per_issue:
min: 3
max: 5
allowed_item_classes:
- breaking_news
- official_release
- technical_report
priority_topics:
- us_china_relations
- russia_ukraine_war
- china_hong_kong_policy
- financial_regulation
- macroeconomy
- asia_pacific
sources:
- id: bbc_world
name: "BBC World"
kind: rss
source_tier: reputable_secondary
url: "https://www.bbc.com/news/world"
feed_url: "https://feeds.bbci.co.uk/news/world/rss.xml"
access_status: seed
tags: [general_news, world, politics]
- id: bbc_business
name: "BBC Business"
kind: rss
source_tier: reputable_secondary
url: "https://www.bbc.com/news/business"
feed_url: "https://feeds.bbci.co.uk/news/business/rss.xml"
access_status: seed
tags: [general_news, business, economy]
- id: guardian_world
name: "The Guardian World"
kind: rss
source_tier: reputable_secondary
url: "https://www.theguardian.com/world"
feed_url: "https://www.theguardian.com/world/rss"
access_status: seed
tags: [general_news, world, politics]
- id: guardian_us_news
name: "The Guardian US News"
kind: rss
source_tier: reputable_secondary
url: "https://www.theguardian.com/us-news"
feed_url: "https://www.theguardian.com/us-news/rss"
access_status: seed
tags: [general_news, US, politics, Trump]
- id: aljazeera_all
name: "Al Jazeera"
kind: rss
source_tier: reputable_secondary
url: "https://www.aljazeera.com/"
feed_url: "https://www.aljazeera.com/xml/rss/all.xml"
access_status: seed
tags: [general_news, world, war, middle_east]
- id: nytimes_world
name: "The New York Times World"
kind: rss
source_tier: reputable_secondary
url: "https://www.nytimes.com/section/world"
feed_url: "https://rss.nytimes.com/services/xml/rss/nyt/World.xml"
access_status: seed
tags: [general_news, world, politics]
- id: nytimes_asia_pacific
name: "The New York Times Asia Pacific"
kind: rss
source_tier: reputable_secondary
url: "https://www.nytimes.com/section/world/asia"
feed_url: "https://rss.nytimes.com/services/xml/rss/nyt/AsiaPacific.xml"
access_status: seed
tags: [general_news, Asia, China, Hong_Kong]
- id: npr_world
name: "NPR World"
kind: rss
source_tier: reputable_secondary
url: "https://www.npr.org/sections/world/"
feed_url: "https://feeds.npr.org/1004/rss.xml"
access_status: seed
tags: [general_news, world, politics]
- id: un_news
name: "UN News"
kind: rss
source_tier: official_primary
url: "https://news.un.org/en/"
feed_url: "https://news.un.org/feed/subscribe/en/news/all/rss.xml"
access_status: seed
tags: [general_news, UN, war, humanitarian]
- id: google_news_trump_china_visit
name: "Google News Search - Trump China Visit"
kind: rss
source_tier: community_signal
url: "https://news.google.com/search?q=Trump%20China%20visit"
feed_url: "https://news.google.com/rss/search?q=Trump%20China%20visit&hl=zh-CN&gl=US&ceid=US:zh-Hans"
access_status: seed
tags: [general_news, US_China, Trump, discovery]
- id: google_news_russia_ukraine
name: "Google News Search - Russia Ukraine War"
kind: rss
source_tier: community_signal
url: "https://news.google.com/search?q=Russia%20Ukraine%20war"
feed_url: "https://news.google.com/rss/search?q=Russia%20Ukraine%20war&hl=zh-CN&gl=US&ceid=US:zh-Hans"
access_status: seed
tags: [general_news, Russia, Ukraine, war, discovery]
- id: google_news_csrc_hk_brokers
name: "Google News Search - CSRC Hong Kong Brokers"
kind: rss
source_tier: community_signal
url: "https://news.google.com/search?q=CSRC%20Hong%20Kong%20brokers"
feed_url: "https://news.google.com/rss/search?q=CSRC%20Hong%20Kong%20brokers%20OR%20%E4%B8%AD%E5%9B%BD%E8%AF%81%E7%9B%91%E4%BC%9A%20%E9%A6%99%E6%B8%AF%E5%88%B8%E5%95%86&hl=zh-CN&gl=HK&ceid=HK:zh-Hans"
access_status: seed
tags: [general_news, China, Hong_Kong, securities, regulation, discovery]
- id: china_csrc_news
name: "China Securities Regulatory Commission"
kind: official_html
source_tier: official_primary
url: "http://www.csrc.gov.cn/csrc/c100028/common_list.shtml"
access_status: seed
tags: [general_news, China, securities, regulation]
- id: hong_kong_sfc_news
name: "Hong Kong SFC News"
kind: official_html
source_tier: official_primary
url: "https://www.sfc.hk/en/News-and-announcements/News"
access_status: seed
tags: [general_news, Hong_Kong, securities, regulation]
- id: china_mfa_news
name: "China MFA News"
kind: official_html
source_tier: official_primary
url: "https://www.mfa.gov.cn/eng/xw/"
access_status: seed
tags: [general_news, China, diplomacy, US_China]
ai:
source_strategy: "Broad fresh scan, then selective reporting. Topic list is a discovery map, not a quota."
target_items_per_issue:
min: 5
max: 8
min_recent_items_when_available: 4
recent_window_hours: 72
max_background_items: 2
include_fresh_discovery_slot: true
allowed_item_classes:
- breaking_news
- official_release
- technical_report
- paper
- github_project_signal
- explainer
- concept_note
sources:
- id: openai_news
name: "OpenAI News"
kind: rss
source_tier: official_primary
url: "https://openai.com/news/"
feed_url: "https://openai.com/news/rss.xml"
access_status: verified_2026_07_04
tags: [AI, LLM, agents, models, product]
- id: anthropic_news
name: "Anthropic News"
kind: official_html
source_tier: official_primary
url: "https://www.anthropic.com/news"
access_status: verified_2026_07_04
tags: [AI, LLM, Claude, agents, safety]
- id: google_deepmind_blog
name: "Google DeepMind Blog"
kind: official_html
source_tier: official_primary
url: "https://deepmind.google/discover/blog/"
access_status: seed
tags: [AI, LLM, multimodal, research, agents]
- id: google_ai_blog
name: "Google AI Blog"
kind: official_html
source_tier: official_primary
url: "https://blog.google/technology/ai/"
access_status: seed
tags: [AI, LLM, Gemini, product, engineering]
- id: meta_ai_blog
name: "Meta AI Blog"
kind: official_html
source_tier: official_primary
url: "https://ai.meta.com/blog/"
access_status: seed
tags: [AI, Llama, open_source_models, multimodal]
- id: microsoft_ai_blog
name: "Microsoft AI Blog"
kind: official_html
source_tier: official_primary
url: "https://blogs.microsoft.com/ai/"
access_status: seed
tags: [AI, Copilot, agents, enterprise_ai]
- id: microsoft_research_blog
name: "Microsoft Research Blog"
kind: rss
source_tier: technical_primary
url: "https://www.microsoft.com/en-us/research/blog/"
feed_url: "https://www.microsoft.com/en-us/research/feed/"
access_status: seed
tags: [AI, research, agents, systems, engineering]
- id: mistral_news
name: "Mistral AI News"
kind: official_html
source_tier: official_primary
url: "https://mistral.ai/news/"
access_status: seed
tags: [AI, LLM, open_models, agents]
- id: cohere_blog
name: "Cohere Blog"
kind: official_html
source_tier: official_primary
url: "https://cohere.com/blog"
access_status: seed
tags: [AI, LLM, enterprise_ai, RAG]
- id: qwen_blog
name: "Qwen Blog"
kind: official_html
source_tier: official_primary
url: "https://qwenlm.github.io/blog/"
access_status: seed
tags: [AI, LLM, open_source_models, multimodal]
- id: huggingface_blog
name: "Hugging Face Blog"
kind: rss_or_html
source_tier: technical_primary
url: "https://huggingface.co/blog"
feed_url: "https://huggingface.co/blog/feed.xml"
access_status: slow_or_unverified_2026_07_04
tags: [AI, open_source_models, datasets, inference, tooling]
- id: aws_ml_blog
name: "AWS Machine Learning Blog"
kind: rss
source_tier: technical_primary
url: "https://aws.amazon.com/blogs/machine-learning/"
feed_url: "https://aws.amazon.com/blogs/machine-learning/feed/"
access_status: seed
tags: [AI, LLMOps, deployment, inference, cloud]
- id: nvidia_ai_blog
name: "NVIDIA Technical Blog - Generative AI"
kind: rss
source_tier: technical_primary
url: "https://developer.nvidia.com/blog/category/generative-ai/"
feed_url: "https://developer.nvidia.com/blog/category/generative-ai/feed/"
access_status: seed
tags: [AI, inference, GPU, deployment, multimodal]
- id: langchain_blog
name: "LangChain Blog"
kind: rss_or_html
source_tier: technical_primary
url: "https://blog.langchain.com/"
feed_url: "https://blog.langchain.com/rss/"
access_status: seed
tags: [AI, agents, RAG, LLMOps, evaluation]
- id: llamaindex_blog
name: "LlamaIndex Blog"
kind: official_html
source_tier: technical_primary
url: "https://www.llamaindex.ai/blog"
access_status: seed
tags: [AI, RAG, agents, data_frameworks]
- id: vllm_blog
name: "vLLM Blog"
kind: official_html
source_tier: technical_primary
url: "https://blog.vllm.ai/"
access_status: seed
tags: [AI, inference, serving, open_source_models]
- id: ollama_blog
name: "Ollama Blog"
kind: official_html
source_tier: technical_primary
url: "https://ollama.com/blog"
access_status: seed
tags: [AI, local_models, developer_tools, open_source_models]
- id: vercel_ai_blog
name: "Vercel AI Blog"
kind: official_html
source_tier: technical_primary
url: "https://vercel.com/blog/category/ai"
access_status: seed
tags: [AI, frontend_ai, ai_sdk, agents, engineering]
- id: cursor_changelog
name: "Cursor Changelog"
kind: official_html
source_tier: technical_primary
url: "https://cursor.com/changelog"
access_status: seed
tags: [AI, coding_agent, vibe_coding, developer_tools]
- id: arxiv_cs_cl
name: "arXiv cs.CL"
kind: rss
source_tier: technical_primary
url: "https://arxiv.org/list/cs.CL/recent"
feed_url: "https://export.arxiv.org/rss/cs.CL"
access_status: seed
tags: [AI, NLP, LLM, papers]
- id: arxiv_cs_ai
name: "arXiv cs.AI"
kind: rss
source_tier: technical_primary
url: "https://arxiv.org/list/cs.AI/recent"
feed_url: "https://export.arxiv.org/rss/cs.AI"
access_status: seed
tags: [AI, agents, reasoning, papers]
- id: arxiv_cs_lg
name: "arXiv cs.LG"
kind: rss
source_tier: technical_primary
url: "https://arxiv.org/list/cs.LG/recent"
feed_url: "https://export.arxiv.org/rss/cs.LG"
access_status: seed
tags: [AI, machine_learning, papers]
- id: simon_willison
name: "Simon Willison"
kind: atom
source_tier: reputable_secondary
url: "https://simonwillison.net/"
feed_url: "https://simonwillison.net/atom/everything/"
access_status: verified_2026_07_04
tags: [AI, LLM, tools, agents, engineering]
- id: latent_space
name: "Latent Space"
kind: rss
source_tier: reputable_secondary
url: "https://www.latent.space/"
feed_url: "https://www.latent.space/feed"
access_status: seed
tags: [AI, LLM, agents, industry_analysis]
- id: deeplearning_ai_the_batch
name: "The Batch by DeepLearning.AI"
kind: rss_or_html
source_tier: reputable_secondary
url: "https://www.deeplearning.ai/the-batch/"
access_status: seed
tags: [AI, weekly_news, explainers]
software_engineering:
source_strategy: "Prefer engineering blogs, release notes, incident reviews, and deep technical writeups."
recent_window_hours: 168
allowed_item_classes:
- official_release
- technical_report
- explainer
- concept_note
sources:
- id: github_engineering
name: "GitHub Engineering"
kind: rss
source_tier: technical_primary
url: "https://github.blog/engineering/"
feed_url: "https://github.blog/engineering/feed/"
access_status: seed
tags: [software_engineering, developer_tools, scaling, devops]
- id: cloudflare_blog
name: "Cloudflare Blog"
kind: rss
source_tier: technical_primary
url: "https://blog.cloudflare.com/"
feed_url: "https://blog.cloudflare.com/rss/"
access_status: verified_2026_07_04
tags: [software_engineering, networking, security, performance]
- id: netflix_techblog
name: "Netflix TechBlog"
kind: rss
source_tier: technical_primary
url: "https://netflixtechblog.com/"
feed_url: "https://netflixtechblog.com/feed"
access_status: seed
tags: [software_engineering, distributed_systems, reliability]
- id: uber_engineering
name: "Uber Engineering"
kind: rss_or_html
source_tier: technical_primary
url: "https://www.uber.com/blog/engineering/"
access_status: seed
tags: [software_engineering, backend, data, platform]
- id: stripe_engineering
name: "Stripe Engineering"
kind: rss_or_html
source_tier: technical_primary
url: "https://stripe.com/blog/engineering"
access_status: seed
tags: [software_engineering, fintech, infrastructure, reliability]
- id: martin_fowler
name: "Martin Fowler"
kind: atom
source_tier: reputable_secondary
url: "https://martinfowler.com/"
feed_url: "https://martinfowler.com/feed.atom"
access_status: seed
tags: [software_design, architecture, refactoring]
- id: acm_queue
name: "ACM Queue"
kind: rss
source_tier: reputable_secondary
url: "https://queue.acm.org/"
feed_url: "https://queue.acm.org/rss/feeds/queuecontent.xml"
access_status: seed
tags: [software_engineering, systems, architecture]
- id: spring_blog
name: "Spring Blog"
kind: atom
source_tier: technical_primary
url: "https://spring.io/blog"
feed_url: "https://spring.io/blog.atom"
access_status: seed
tags: [software_engineering, Java, Spring_Boot, backend]
- id: vue_blog
name: "Vue Blog"
kind: rss_or_html
source_tier: technical_primary
url: "https://blog.vuejs.org/"
feed_url: "https://blog.vuejs.org/feed.rss"
access_status: seed
tags: [software_engineering, Vue, frontend, TypeScript]
- id: postgresql_news
name: "PostgreSQL News"
kind: rss
source_tier: official_primary
url: "https://www.postgresql.org/about/news/"
feed_url: "https://www.postgresql.org/about/news/rss/"
access_status: seed
tags: [software_engineering, database, PostgreSQL]
security_performance:
source_strategy: "Prioritize official advisories for urgent risk and deep technical sources for learning."
recent_window_hours: 72
allowed_item_classes:
- vulnerability
- breaking_news
- official_release
- technical_report
- explainer
- concept_note
safety_constraints:
- do_not_provide_censorship_evasion_tutorials
- do_not_provide_operational_bypass_guidance
sources:
- id: cisa_kev
name: "CISA Known Exploited Vulnerabilities Catalog"
kind: json
source_tier: official_primary
url: "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json"
access_status: verified_2026_07_04
tags: [security, CVE, exploited_in_the_wild, urgent_patch]
- id: cisa_advisories
name: "CISA Cybersecurity Advisories"
kind: rss_or_html
source_tier: official_primary
url: "https://www.cisa.gov/news-events/cybersecurity-advisories"
feed_url: "https://www.cisa.gov/cybersecurity-advisories/all.xml"
access_status: seed
tags: [security, advisories, vulnerability]
- id: nvd_cve_api
name: "NVD CVE API"
kind: api
source_tier: official_primary
url: "https://services.nvd.nist.gov/rest/json/cves/2.0"
access_status: seed
tags: [security, CVE, vulnerability]
- id: github_advisory_api
name: "GitHub Security Advisory API"
kind: api
source_tier: official_primary
url: "https://api.github.com/advisories"
access_status: seed
tags: [security, supply_chain, dependencies]
- id: google_project_zero
name: "Google Project Zero"
kind: rss
source_tier: technical_primary
url: "https://googleprojectzero.blogspot.com/"
feed_url: "https://googleprojectzero.blogspot.com/feeds/posts/default"
access_status: seed
tags: [security, vulnerability_research, browser, OS]
- id: trail_of_bits_blog
name: "Trail of Bits Blog"
kind: rss
source_tier: technical_primary
url: "https://blog.trailofbits.com/"
feed_url: "https://blog.trailofbits.com/feed/"
access_status: seed
tags: [security, supply_chain, code_audit, vulnerability_research]
- id: portswigger_research
name: "PortSwigger Research"
kind: rss_or_html
source_tier: technical_primary
url: "https://portswigger.net/research"
feed_url: "https://portswigger.net/research/rss"
access_status: seed
tags: [security, web_security, vulnerability_research]
- id: ooni_blog
name: "OONI Blog"
kind: rss_or_html
source_tier: technical_primary
url: "https://ooni.org/blog/"
feed_url: "https://ooni.org/index.xml"
access_status: seed
tags: [GFW, network_measurement, censorship_research]
- id: citizen_lab
name: "Citizen Lab"
kind: rss
source_tier: reputable_secondary
url: "https://citizenlab.ca/"
feed_url: "https://citizenlab.ca/feed/"
access_status: seed
tags: [GFW, censorship_research, surveillance, security]
- id: censored_planet
name: "Censored Planet Publications"
kind: official_html
source_tier: technical_primary
url: "https://censoredplanet.org/publications"
access_status: seed
tags: [GFW, network_measurement, censorship_research]
- id: lwn_headlines
name: "LWN Headlines"
kind: rss
source_tier: reputable_secondary
url: "https://lwn.net/"
feed_url: "https://lwn.net/headlines/rss"
access_status: verified_2026_07_04
tags: [Linux, kernel, performance, systems]
- id: brendan_gregg
name: "Brendan Gregg"
kind: rss_or_html
source_tier: technical_primary
url: "https://www.brendangregg.com/blog/"
feed_url: "https://www.brendangregg.com/blog/rss.xml"
access_status: seed
tags: [Linux, performance, eBPF, FlameGraph, observability]
- id: ebpf_blog
name: "eBPF.io Blog"
kind: rss_or_html
source_tier: technical_primary
url: "https://ebpf.io/blog/"
access_status: seed
tags: [Linux, eBPF, observability, performance]
github:
source_strategy: "Use community signals for discovery, then verify project value on GitHub repo, releases, commits, and issues."
recent_window_hours: 72
track_user_projects: false
allowed_item_classes:
- github_project_signal
- technical_report
source_rules:
require_repo_url: true
require_growth_or_activity_signal: true
require_project_summary: true
do_not_select_prompt_collections_without_engineering_value: true
sources:
- id: github_trending_daily
name: "GitHub Trending Daily"
kind: html
source_tier: community_signal
url: "https://github.com/trending?since=daily"
access_status: seed
tags: [GitHub, open_source, discovery]
- id: github_trending_weekly
name: "GitHub Trending Weekly"
kind: html
source_tier: community_signal
url: "https://github.com/trending?since=weekly"
access_status: seed
tags: [GitHub, open_source, discovery]
- id: github_trending_python
name: "GitHub Trending Python"
kind: html
source_tier: community_signal
url: "https://github.com/trending/python?since=weekly"
access_status: seed
tags: [GitHub, Python, AI, tools]
- id: github_trending_typescript
name: "GitHub Trending TypeScript"
kind: html
source_tier: community_signal
url: "https://github.com/trending/typescript?since=weekly"
access_status: seed
tags: [GitHub, TypeScript, AI, developer_tools]
- id: github_search_api_ai_agents
name: "GitHub Search API - AI Agents"
kind: api
source_tier: community_signal
url: "https://api.github.com/search/repositories"
query_template: "agents ai stars:>200 pushed:>{date_minus_30d}"
access_status: seed
tags: [GitHub, AI, agents, discovery]
- id: github_search_api_llm_infra
name: "GitHub Search API - LLM Infrastructure"
kind: api
source_tier: community_signal
url: "https://api.github.com/search/repositories"
query_template: "llm inference stars:>200 pushed:>{date_minus_30d}"
access_status: seed
tags: [GitHub, LLM, inference, infrastructure]
- id: github_search_api_security_tools
name: "GitHub Search API - Security Tools"
kind: api
source_tier: community_signal
url: "https://api.github.com/search/repositories"
query_template: "security tool stars:>500 pushed:>{date_minus_30d}"
access_status: seed
tags: [GitHub, security, tools]
finance:
source_strategy: "Use official regulators and central banks first. Use fintech media only as discovery, not as investment advice."
recent_window_hours: 168
allowed_item_classes:
- breaking_news
- official_release
- technical_report
- explainer
- concept_note
not_investment_advice: true
sources:
- id: hkma_press_releases
name: "Hong Kong Monetary Authority Press Releases"
kind: official_html
source_tier: official_primary
url: "https://www.hkma.gov.hk/eng/news-and-media/press-releases/"
access_status: verified_2026_07_04
tags: [finance, fintech, Hong_Kong, banking, regulation]
- id: mas_news
name: "Monetary Authority of Singapore News"
kind: official_html
source_tier: official_primary
url: "https://www.mas.gov.sg/news"
access_status: verified_2026_07_04
tags: [finance, fintech, Singapore, banking, regulation]
- id: federal_reserve_press
name: "Federal Reserve Press Releases"
kind: rss
source_tier: official_primary
url: "https://www.federalreserve.gov/newsevents/pressreleases.htm"
feed_url: "https://www.federalreserve.gov/feeds/press_all.xml"
access_status: verified_2026_07_04
tags: [finance, rates, banking, regulation, macro]
- id: bis_press
name: "Bank for International Settlements Press Releases"
kind: official_html
source_tier: official_primary
url: "https://www.bis.org/press/pressrels.htm"
access_status: verified_2026_07_04
tags: [finance, central_banks, payments, regulation]
- id: bis_innovation_hub
name: "BIS Innovation Hub"
kind: official_html
source_tier: official_primary
url: "https://www.bis.org/about/bisih/"
access_status: seed
tags: [finance, fintech, CBDC, tokenization, payments]
- id: sec_news
name: "SEC Newsroom"
kind: official_html
source_tier: official_primary
url: "https://www.sec.gov/newsroom"
access_status: protected_or_dynamic_2026_07_04
tags: [finance, securities, regulation, fintech]
- id: finextra
name: "Finextra"
kind: rss_or_html
source_tier: reputable_secondary
url: "https://www.finextra.com/"
access_status: seed
tags: [finance, fintech, payments, banking]
- id: chainalysis_blog
name: "Chainalysis Blog"
kind: rss_or_html
source_tier: reputable_secondary
url: "https://www.chainalysis.com/blog/"
access_status: seed
tags: [finance, crypto, compliance, AML, stablecoins]
global_search_queries:
general_news:
- "\"Trump\" \"China visit\" OR \"特朗普\" \"访华\""
- "\"Russia Ukraine war\" \"latest\" OR \"俄乌战争\""
- "\"CSRC\" \"Hong Kong brokers\" OR \"中国证监会\" \"香港券商\""
- "\"US China\" \"tariff\" OR \"中美关系\" \"关税\""
- "\"Hong Kong\" \"securities regulator\" OR \"香港\" \"证券监管\""
ai:
- "\"AI agent\" OR \"coding agent\" OR \"vibe coding\""
- "\"agent harness\" OR \"evaluation harness\" OR \"context engineering\""
- "\"LLMOps\" OR \"model routing\" OR \"prompt caching\" OR \"agent evaluation\""
- "\"MCP\" \"agent\" \"release\""
- "\"RAG\" \"evaluation\" OR \"GraphRAG\""
- "\"computer use\" \"agent\" \"AI\""
software_engineering:
- "\"incident review\" \"engineering\""
- "\"PostgreSQL\" \"performance\" \"release\""
- "\"Spring Boot\" \"release\""
- "\"Vue\" \"TypeScript\" \"release\""
security_performance:
- "\"CVE\" \"exploited in the wild\""
- "\"CISA KEV\" \"added\""
- "\"eBPF\" \"performance\""
- "\"Linux perf\" \"FlameGraph\""
- "\"network censorship measurement\" OR \"GFW measurement\""
github:
- "\"GitHub\" \"AI agent\" \"stars\""
- "\"open source\" \"LLM infrastructure\""
- "\"RAG\" \"GitHub\" \"release\""
finance:
- "\"fintech\" \"HKMA\""
- "\"fintech\" \"MAS\""
- "\"stablecoin\" \"regulation\""
- "\"tokenization\" \"BIS\""
output_rules:
cite_every_news_item: true
cite_background_items: true
show_dates_for_news_items: true
source_label_format: "{source_name}, {published_at_or_updated_at}"
stale_item_policy: "Do not include stale news unless explicitly labeled as background."
primary_source_verification_for_secondary_items: "Required when item makes factual claims about releases, vulnerabilities, market regulation, or official policy."
metadata_placement: "Put source, date, and link directly under each item title."
prose_style: "Write paragraphs. Do not use formulaic labels such as 为何重要, 学习启示, 对你来说, 来源, 时间 as sectioned bullets inside the body."