naver-news-briefing
Use the CLI script at scripts/naver_news_briefing.py.
Onboarding
- - Treat Naver Search API credentials as mandatory before the first real use.
- Tell the user early that search/briefing/watch flows will fail until
client_id and client_secret are stored. - If the user has not completed setup yet, direct them to run:
-
python scripts/naver_news_briefing.py setup --client-id ... --client-secret ...
-
python scripts/naver_news_briefing.py check-credentials --json
- - Present setup as the first-run path, not an optional advanced step.
- When helping with installation or first use, mention that credentials are stored in
data/config.json and use DPAPI-backed secret storage on Windows when possible.
Workflow
- 1. Store credentials once before any search/brief/watch command.
-
python scripts/naver_news_briefing.py setup --client-id ... --client-secret ...
- Verify with
python scripts/naver_news_briefing.py check-credentials --json
- 2. Run a one-shot briefing.
-
python scripts/naver_news_briefing.py search "최근 3일 반도체 뉴스 브리핑 -광고"
- Add
--json for machine-readable output.
- 3. Manage persistent watch rules with optional operator metadata.
- Add:
python scripts/naver_news_briefing.py watch-add semiconductor "최근 7일 반도체 -광고" --label "반도체 감시" --tag watch --template watch-alert
- List:
python scripts/naver_news_briefing.py watch-list
- Remove:
python scripts/naver_news_briefing.py watch-remove semiconductor
- Check:
python scripts/naver_news_briefing.py watch-check semiconductor --json
- 4. Manage persistent keyword groups for recurring briefings.
- Add:
python scripts/naver_news_briefing.py group-add market-watch "최근 3일 반도체 -광고" "오늘 AI 데이터센터 -주가" --label "아침 시장" --tag 테크 --context "오전 보고용" --template morning-briefing
- List:
python scripts/naver_news_briefing.py group-list
- Inspect one group:
python scripts/naver_news_briefing.py group-list market-watch --json
- Update:
python scripts/naver_news_briefing.py group-update market-watch --add-query "배터리 공급망 -광고" --tag 공급망 --template analyst
- Remove:
python scripts/naver_news_briefing.py group-remove market-watch
- 5. Run combined briefings.
-
python scripts/naver_news_briefing.py brief-multi --group market-watch
-
python scripts/naver_news_briefing.py brief-multi --group market-watch --query "환율 뉴스" --template morning-briefing --json
- If
--template is omitted, prefer the saved group template when present.
- 6. Convert chat-style automation requests into structured plans.
- Inspect plan:
python scripts/naver_news_briefing.py plan "반도체 뉴스 1시간마다 모니터링해줘" --json
- Build an OpenClaw-friendly integration bundle:
python scripts/naver_news_briefing.py integration-plan "반도체 뉴스 1시간마다 모니터링해줘" --json
- Support practical Korean patterns such as
매일 아침 7시에 반도체랑 AI 데이터센터 뉴스 브리핑해줘 and
증권사 리포트 빼고 삼성전자 뉴스 계속 체크해줘.
- 7. Materialize plans into persistent configs.
- Watch:
python scripts/naver_news_briefing.py plan-save "반도체 뉴스 1시간마다 모니터링해줘" --as watch --name semiconductor-hourly
- Group: INLINECODE27
Behavior
- - Parse positive keywords and
-제외어 using the upstream tab-search policy. - Interpret recent-news phrases such as
오늘, 최근 3일, 최근 2주, 한달, 이번주, 지난주 as a date window and remove that phrase from the API search query. - Normalize more natural Korean sentence inputs by stripping request phrases, common 조사, duplicate tokens, and Korean exclusion phrases such as
A 말고, B 빼고, C 제외 into -제외어 tokens. - Parse practical schedule intent from Korean chat requests into
interval, daily, weekly, or manual plans. - Preserve operator-facing metadata on saved watch/group entries:
label, tags, template, schedule, operator_hints, and original request context. - Use DPAPI-backed secret storage on Windows when possible.
- Deduplicate watch notifications by
(watch_id, link) so repeated cron runs emit only newly seen items. - INLINECODE49 returns cron-friendly operator hints, recommended commands, and a storage-target recommendation (
watch vs group). - INLINECODE52 returns a more practical operator bundle: save command, run command, schedule object, cron line, OpenClaw-friendly systemEvent text, and a Korean confirmation summary.
- INLINECODE53 materializes a parsed plan into a saved
watch or group configuration without owning cron wiring itself. - INLINECODE56 returns chat-friendly combined text by default and structured JSON with
--json.
Notes
- - Read
references/upstream-notes.md before major edits. - The skill uses headline/summary metadata from the Naver Search API. It does not fetch or summarize full article bodies.
- Keep additions additive: preserve existing
search, watch-add, watch-list, watch-remove, and watch-check flows. - Public user-facing documentation lives in
README.md; keep it Korean-first and concrete.
naver-news-briefing
使用位于 scripts/navernewsbriefing.py 的 CLI 脚本。
入门引导
- - 在首次实际使用前,将 Naver 搜索 API 凭证视为必需项。
- 尽早告知用户,在存储 clientid 和 clientsecret 之前,搜索/简报/监控流程将无法运行。
- 如果用户尚未完成设置,请引导他们运行:
- python scripts/naver
newsbriefing.py setup --client-id ... --client-secret ...
- python scripts/naver
newsbriefing.py check-credentials --json
- - 将设置作为首次运行的必经步骤呈现,而非可选的进阶操作。
- 在协助安装或首次使用时,提及凭证存储在 data/config.json 中,并在 Windows 上尽可能使用 DPAPI 支持的密钥存储。
工作流程
- 1. 在任何搜索/简报/监控命令之前,先存储一次凭证。
- python scripts/naver
newsbriefing.py setup --client-id ... --client-secret ...
- 使用 python scripts/naver
newsbriefing.py check-credentials --json 进行验证。
- 2. 运行一次性简报。
- python scripts/naver
newsbriefing.py search 최근 3일 반도체 뉴스 브리핑 -광고
- 添加 --json 以获取机器可读的输出。
- 3. 管理持久化监控规则,可附带操作员元数据。
- 添加:python scripts/naver
newsbriefing.py watch-add semiconductor 최근 7일 반도체 -광고 --label 반도체 감시 --tag watch --template watch-alert
- 列出:python scripts/naver
newsbriefing.py watch-list
- 移除:python scripts/naver
newsbriefing.py watch-remove semiconductor
- 检查:python scripts/naver
newsbriefing.py watch-check semiconductor --json
- 4. 管理用于定期简报的持久化关键词组。
- 添加:python scripts/naver
newsbriefing.py group-add market-watch 최근 3일 반도체 -광고 오늘 AI 데이터센터 -주가 --label 아침 시장 --tag 테크 --context 오전 보고용 --template morning-briefing
- 列出:python scripts/naver
newsbriefing.py group-list
- 检查单个组:python scripts/naver
newsbriefing.py group-list market-watch --json
- 更新:python scripts/naver
newsbriefing.py group-update market-watch --add-query 배터리 공급망 -광고 --tag 공급망 --template analyst
- 移除:python scripts/naver
newsbriefing.py group-remove market-watch
- 5. 运行组合简报。
- python scripts/naver
newsbriefing.py brief-multi --group market-watch
- python scripts/naver
newsbriefing.py brief-multi --group market-watch --query 환율 뉴스 --template morning-briefing --json
- 如果省略 --template,则优先使用已保存的组模板(如果存在)。
- 6. 将聊天风格的自动化请求转换为结构化计划。
- 检查计划:python scripts/naver
newsbriefing.py plan 반도체 뉴스 1시간마다 모니터링해줘 --json
- 构建 OpenClaw 友好的集成包:python scripts/naver
newsbriefing.py integration-plan 반도체 뉴스 1시간마다 모니터링해줘 --json
- 支持实用的韩语模式,例如 매일 아침 7시에 반도체랑 AI 데이터센터 뉴스 브리핑해줘 和 증권사 리포트 빼고 삼성전자 뉴스 계속 체크해줘。
- 7. 将计划物化为持久化配置。
- 监控:python scripts/naver
newsbriefing.py plan-save 반도체 뉴스 1시간마다 모니터링해줘 --as watch --name semiconductor-hourly
- 组:python scripts/naver
newsbriefing.py plan-save 매일 아침 7시에 반도체랑 AI 데이터센터 뉴스 브리핑해줘 --as group --name morning-tech --label 아침 브리핑
行为
- - 使用上游标签搜索策略解析正面关键词和 -제외어。
- 将近期新闻短语(如 오늘、최근 3일、최근 2주、한달、이번주、지난주)解释为日期窗口,并从 API 搜索查询中移除该短语。
- 通过去除请求短语、常见助词、重复标记以及韩语排除短语(如 A 말고、B 빼고、C 제외)并将其规范化为 -제외어 标记,来规范化更自然的韩语句子输入。
- 从韩语聊天请求中解析实用的调度意图,转换为 interval、daily、weekly 或 manual 计划。
- 在已保存的监控/组条目上保留面向操作员的元数据:label、tags、template、schedule、operatorhints 和原始请求上下文。
- 在 Windows 上尽可能使用 DPAPI 支持的密钥存储。
- 通过 (watchid, link) 对监控通知进行去重,以便重复的 cron 运行仅输出新出现的项目。
- plan 返回 cron 友好的操作员提示、推荐命令以及存储目标建议(watch 与 group)。
- integration-plan 返回更实用的操作员包:保存命令、运行命令、调度对象、cron 行、OpenClaw 友好的 systemEvent 文本以及韩语确认摘要。
- plan-save 将解析后的计划物化为已保存的 watch 或 group 配置,本身不拥有 cron 连接。
- brief-multi 默认返回聊天友好的组合文本,使用 --json 时返回结构化 JSON。
注意事项
- - 在进行重大修改前,请阅读 references/upstream-notes.md。
- 该技能使用 Naver 搜索 API 的标题/摘要元数据。它不会获取或总结完整的文章正文。
- 保持新增内容的可加性:保留现有的 search、watch-add、watch-list、watch-remove 和 watch-check 流程。
- 面向用户的公开文档位于 README.md 中;请优先使用韩语并保持具体。