Core Philosophy
News alone has no value; news × your knowledge base = valuable insight.
Any app can search news, but only WPS Notes knows what the user cares about, what projects they are working on, what meetings they have attended, and what ideas they have recorded. The core capabilities of this Skill:
- Save news/information into WPS Notes (precipitate as knowledge assets)
- In the user'sentire note libraryretrieve related content (work notes, meeting records, project documents, etc.)
- Connect news with the user's existing knowledge to producepersonalized insight
Two Workflows
| Workflow | Trigger Scenario | Output |
|---|---|---|
| A — News Collection | "Find news" "hot topic summary" "news briefing" | Daily briefing note |
| B — News Interpretation | The user encounters any specific news/information | Note archive + personalized in-depth analysis |
Decision rules:
- The user encountersspecific news(sends a link, mentions a topic, pastes the body text, discusses a news event) → B
- The user requestsbatch search, or a briefing summary → A
- When ambiguous, default to B
Not applicable to: regular reading, writing, and editing of notes (use the wps-note Skill), saving non-news content, and pure knowledge Q&A.
Workflow A: News Collection
Batch search → deduplicate and filter → write into briefing note.
Steps
- Construct search terms: include at least topic words + time-sensitive words, use
site:to limit sources, 2-4 query groups. See template in query-recipes.md。 - Normalize and deduplicate: remove
utm_*and other tracking parameters, deduplicate by URL, avoid duplicate writes. - Locate target note: title format
新闻简报 YYYY-MM-DD, search first then create. - Write content: refresh the outline to get
block_id, useedit_block(op=insert)to append<h2>title +<p><a>link +<p>summary. - Sync:
sync_note, report the number of inserted items.
Workflow B: News Interpretation (Core)
This is the core differentiating capability of this Skill. Triggered when the user encounters any news.
B1. Obtain News Content
| Input Type | Acquisition Method |
|---|---|
| Has URL | web_fetch fetch the full text; on failure fall back to web_search |
| Has topic but no link | web_search search → select the best 1-2 articles → web_fetch fetch |
| Directly paste body text | Use directly, extract title and source |
Clean content: remove non-body content such as navigation bars, ads, and comment sections.
B2. Save to WPS Notes
Use the article title as the note title. Write the title and metadata in one go,the body must be written in multiple batches。
One-time write — create note + metadata:
create_note(title=文章标题)
get_note_outline → 获取锚点 block_id
edit_block(op=insert) 写入元信息:
<h1>文章标题</h1>
<p><tag>#新闻</tag> <tag>#新闻//领域标签</tag></p>
<highlightBlock emoji="🔗" highlightBlockBackgroundColor="#E6EEFA" highlightBlockBorderColor="#98C1FF">
<p><strong>来源:</strong><a href="原文URL">来源名称</a></p>
<p><strong>发布时间:</strong>YYYY-MM-DD</p>
</highlightBlock>
<h2>正文</h2>
Append in batches — write the body in segments:
Write the body in batches by paragraph, using the value returned by the previous insert each time as the last_block_id anchor:
edit_block(op=insert, anchor_id=last_block_id, position=after)
→ 写入 3-5 个 <p> 段落
→ 拿到新的 last_block_id
edit_block(op=insert, anchor_id=新的last_block_id, position=after)
→ 写入下一批 3-5 个 <p> 段落
→ 重复直到正文写完
Key rules:
- Metadata such as title, tags, and source can be written in one go.
- The body must not be written in one go, it must be appended in batches, 3-5
<p>paragraphs per batch. - For consecutive inserts, directly use the returned
last_block_idas the anchor, no need to refresh the outline each time. - After the last batch is written, call
sync_noteto sync.
Tag strategy: always add #新闻, and add secondary tags based on content such as #新闻//AI、#新闻//金融, 1-3 per article.
B3. Search the user's knowledge base (key step)
Core differentiator: don't just search news, search all of the user's notes.
Extract 3-5 keywords and search acrossthe entire note libraryin multiple dimensions:
- Full-text search by keyword (company names, technology names, industry names, people's names)
- Search historical news by domain tags
- Search recent notes by time range
Work notes, meeting records, and project documents are all valuable related sources. For detailed search strategies, see knowledge-search-strategy.md。
B4. Read related notes
get_note_outlinepreview the structure and judge relevance- For highly relevant notes, use
read_note/read_sectionto read, up to 5 articles - Focus on extracting the user's personal views, decisions, and plans
B5. Produce personalized insights
It is not a news summary, but "what this news means to me."
Answer structure:
- News highlights — summarize in 2-3 sentences
- Relevance to you — cite the user's notes: "You mentioned in [note title]...", and point out the potential impact on current work
- Deep insights — trend judgment, comparative analysis, action recommendations
- Further reading — recommend related notes in the note library worth rereading
Requirement: if removing the user's note associations makes the answer mediocre, that is what shows the insight was done right. If there are no related notes, state so honestly and provide a general analysis.
Examples
Example 1: The user sends a link
The user says: "Help me look at this https://36kr.com/p/xxx news about OpenAI funding"
Actions:
web_fetchfetch the full text → extract the title "OpenAI receives 110 billion USD in funding"create_note→edit_blockwrite metadata and tags → append body paragraphs in batches →sync_notesearch_notes(keyword="OpenAI")+search_notes(keyword="AI 融资")+search_notes(keyword="大模型")search the knowledge base- Find that the user has an "AI Strategy Planning" note and a "Competitor Analysis" document →
read_noteread - Output: news highlights + "You mentioned in 'AI Strategy Planning' that you are watching OpenAI's API pricing strategy; this funding may accelerate the pace of its price cuts" + action recommendations
Result: the news has been saved to notes, and the user receives personalized in-depth analysis.
Example 2: User chats about a news topic
User says: "How has DeepSeek been doing lately?"
Action:
web_search("DeepSeek 最新动态 2026")→ Find the most authoritative report →web_fetchfetch- Save to notes, tag with
#新闻//AItags search_notes(keyword="DeepSeek")+search_notes(keyword="开源模型")Search the knowledge base- Discover that the user previously saved a news article titled "DeepSeek-V3 Release" → Compare timelines
- Output: Latest updates + "Comparing with the DeepSeek-V3 report you previously saved..." + Trend analysis
Result: The news has been saved to notes, and the user sees the development trajectory of the event.
Example 3: Batch search briefing
User says: "Help me search for today's AI news"
Action:
- Construct 2-3 sets of search queries, fetch the latest AI news
- Deduplicate and filter out 5-8 high-value items
- Create/locate the "News Briefing 2026-03-12" note
- Write the categorized briefing (with links and summaries)
- Sync notes
Result: The AI news briefing for the day has been written to notes.
MCP Invocation Patterns
Workflow A
- Search tool to get news → 2.
search_notes/create_noteLocate note → 3.get_note_outline→ 4.edit_block(op="insert")→ 5.sync_note
Workflow B
web_fetch/web_searchGet news → 2.create_note→ 3.edit_block(op="insert")Write metadata → 4. In batchesedit_block(op="insert")Append body text (3-5 paragraphs each time, usinglast_block_idas anchor) → 5.sync_note→ 6. Multiple sets ofsearch_notesSearch knowledge base → 7.read_note/read_sectionRead associations → 8. Output insight
Always follow: Locate → Read/Refresh → Write.
Exception Handling
| Error Scenario | Handling Method |
|---|---|
EDITOR_NOT_READY / FRONTEND_TIMEOUT |
Wait briefly and retry |
BLOCK_NOT_FOUND |
get_note_outline Refresh and retry |
DOCUMENT_READ_ONLY |
Stop writing, inform the user |
| Search results empty (A) | Report "no new items", do not write empty content |
| News fetch failed (B) | Fallback with link web_search; if no link, expand search; if still none, inform the user |
| No knowledge base associations (B) | Save normally, provide general analysis, note that "analysis will become more precise as notes accumulate" |
| Article too long | Write in segments; focus analysis on key paragraphs |
Resources
- query-recipes.md: Query templates and source filtering strategies for news search
- knowledge-search-strategy.md: Detailed strategies and examples for knowledge base retrieval