← 返回
效率工具 中文

X Grok to Obsidian

Export Grok conversations from X (x.com) via browser-network capture and convert them into Obsidian-ready Markdown files. Use when a user wants to back up Gr...
通过浏览器网络抓包导出 X(x.com)上的 Grok 对话并转换为 Obsidian 适用的 Markdown 文件,适用于用户想要备份 Grok 对话的场合。
hajekt2
效率工具 clawhub v0.1.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 741
下载
💾 21
安装
1
版本
#latest

概述

Export Grok conversations in two stages.

Stage 1 — Capture conversation JSON from X/Grok

Run the browser script in Chrome DevTools Console on https://x.com/i/grok while logged in.

Use script: scripts/export_grok_items_capture.js

Behavior:

  • Intercept only GrokConversationItemsByRestId responses (fetch + XHR)
  • Load chat history with multi-pass scrolling
  • Open each discovered conversation to trigger backend responses
  • Save one JSON file with conversation metadata + ordered item payload

Quick settings (edit at top of script before run):

  • INDEX_PASSES (default 3)
  • CAPTURE_PASSES (default 3)
  • MAX_CHATS (null = all, or number for test)

Output:

  • grok-network-capture-.json downloaded by browser

Stage 2 — Convert JSON to Obsidian Markdown

Run Python converter locally:

python3 scripts/convert_grok_capture_to_md.py \
  --input /path/to/grok-network-capture-*.json \
  --out /path/to/output-folder

Converter defaults:

  • Frontmatter fields: URL, created
  • Body starts immediately with # </code> (no blank line before header)</li><li>Turn headings: <code>## User</code> / <code>## Grok</code> (no numbering)</li><li>Turn separator: <code>---</code></li><li>Turn order: reverse API item order (API is newest-first)</li><li>Reasoning/deepsearch omitted by default</li></ul><p>Useful flags:</p><ul><li><code>--include-reasoning</code> include <code>thinking_trace</code> blocks</li><li><code>--separator "---"</code> customize turn separator</li><li><code>--overwrite</code> overwrite same-title files instead of creating <code>Title 2.md</code></li></ul><h2>Notes</h2><ul><li>Prefer several index/capture passes because X history rendering is lazy and inconsistent.</li><li>If discovered chat count is unexpectedly low, re-run Stage 1 with higher pass counts.</li><li>Keep scripts generic; avoid user-specific absolute paths.</li></ul></div> </div> </div> <div id="tab-versions" class="detail-content"> <div class="detail-section"> <h2>版本历史</h2> <p style="margin-bottom:12px;font-size:14px;color:#94a3b8;">共 1 个版本</p> <ul class="version-list"> <li> <div> <span class="version-tag">v0.1.0</span> <span style="font-size:11px;color:#5b6abf;margin-left:8px;background:#eef0ff;padding:1px 8px;border-radius:10px;">当前</span> </div> <div style="font-size:12px;color:#94a3b8;"> 2026-03-30 00:23 安全 安全 </div> </li> </ul> </div> </div> <div id="tab-security" class="detail-content"> <div class="detail-section"> <h2>安全检测</h2> <div class="sec-grid"> <div class="sec-card"> <h4>腾讯云安全 (Keen)</h4> <div class="sec-status sec-safe"> 安全,无风险 </div> <a href="https://tix.qq.com/search/skill?keyword=3ffba48e066955358e57cfbc053ef3a1" target="_blank">查看报告</a> </div> <div class="sec-card"> <h4>腾讯云安全 (Sanbu)</h4> <div class="sec-status sec-safe"> 安全,无风险 </div> <a href="https://static.cloudsec.tencent.com/html-report-v2/2026/05/25/401294_a55e17edeaa29fdb202a096e8830fe08.html?q-sign-algorithm=sha1&q-ak=AKID8JMG1bzBC1dz96qNhssfFftujT1NCoFi&q-sign-time=1781390936%3B1812926936&q-key-time=1781390936%3B1812926936&q-header-list=host&q-url-param-list=&q-signature=835452162b339f756aa604124e353f49afea826d" target="_blank">查看报告</a> </div> </div> </div> </div> <!-- Recommended Skills --> <div style="margin-top:24px;"> <h2 style="font-size:18px;font-weight:600;margin-bottom:16px;">🔗 相关推荐</h2> <div class="rec-grid"> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">productivity</span> <h3><a href="/s/nano-pdf">Nano Pdf</a></h3> <div class="rec-owner">steipete</div> <div class="rec-desc">使用nano-pdf CLI通过自然语言指令编辑PDF</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 275</span> <span style="color:#5b6abf;">📥 114,923</span> </div> </div> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">developer-tools</span> <h3><a href="/s/ua1-validator-agent">UA1 Validator Agent</a></h3> <div class="rec-owner">hajekt2</div> <div class="rec-desc">使用 ua1.dev 或 api.ua1.dev 按 PDF/UA-1 标准验证 PDF,供 AI 编程智能体(OpenClaw、Claude Code、Codex、OpenCode)调用。当智能体需要确定...</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 0</span> <span style="color:#5b6abf;">📥 1,123</span> </div> </div> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">productivity</span> <h3><a href="/s/word-docx">Word / DOCX</a></h3> <div class="rec-owner">ivangdavila</div> <div class="rec-desc">创建、检查和编辑 Microsoft Word 文档及 DOCX 文件,支持样式、编号、修订记录、表格、分节符及兼容性检查等功能。</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 440</span> <span style="color:#5b6abf;">📥 147,969</span> </div> </div> </div> </div> </div> <script> document.addEventListener('DOMContentLoaded',function(){ document.querySelectorAll('.detail-tab').forEach(function(btn){ btn.addEventListener('click',function(e){ var tab = this.getAttribute('data-tab'); document.querySelectorAll('.detail-tab').forEach(function(b){b.classList.remove('active')}); document.querySelectorAll('.detail-content').forEach(function(c){c.classList.remove('active')}); this.classList.add('active'); var el = document.getElementById('tab-'+tab); if(el) el.classList.add('active'); }); }); }); </script> <div class="footer"> <p>Skill工具集 © 2026</p> </div></body> </html>