SuperAPI AI 工具集

obsidian-to-x

办公与效率

查看项目

更新于 10-15 17:03

技能介绍

obsidian-to-x 是一个面向内容发布的工具,主要用途是把内容和文章发布到 X(Twitter)。它支持常规推文(文字、图片、视频)以及 X Articles 长文(Markdown 格式),并通过使用真实 Chrome 浏览器来绕过反机器人检测。该工具与 Obsidian 有较深的集成,适合在 Obsidian 中写作并希望将当前笔记同步发布的用户。

【主要能力】

  1. 常规推文:支持文字加图片(最多 4 张),也支持文字加视频(MP4、MOV、WebM)。文字为纯文本,所有 Markdown 格式会被剥离。

  2. X Articles:支持富文本 Markdown 长文,包括粗体、斜体、标题、列表、代码块(自动提取并插入,支持多种语言)以及多张图片。该功能需要 X Premium。

  3. 引用推文:可引用一条已有推文并附带评论。

  4. Obsidian 集成:自动检测当前活动文件(通过 workspace.json 或 Obsidian CLI),并转换 Obsidian 特有语法,例如 ![[path]] 图片语法和中文 frontmatter 字段。

【使用方式】

默认行为:当用户只说“发到 X”等未指定内容时,工具会先清理 Chrome CDP 进程,再获取当前活动文件(优先使用 <current_note> 标签,其次 workspace.json,最后 Obsidian CLI),读取内容后自动判断发布类型:若 frontmatter 中“是否长文: true”则按 X Article 发布,否则按常规推文发布。

发布脚本通过 Bash 后台进程执行,日志重定向到 vault 内的 .temp/x-article-output.log,并通过轮询日志判断是否成功。

脚本目录位于 scripts/ 子目录,包括:x-post.ts(常规推文)、x-video.ts(视频推文)、x-quote.ts(引用推文)、x-article.ts(X Articles)、md-to-post.ts(Markdown 转纯文本加图片)、md-to-article.ts(Markdown 转 HTML 加图片)、publish-active.sh(一键发布当前 Obsidian 文件)。运行脚本需要解析 ${BUN_X} 运行时:若安装了 bun 则用 bun,否则用 npx -y bun,均不可用则建议安装 bun。

X Articles 标题解析:优先读取 frontmatter 的“标题”属性,为空则回退到文件名。

【前置条件】

需要 Google Chrome 或 Chromium、bun 运行时。首次运行需手动登录 X(会话会保存)。Obsidian 集成需要 jq 工具(macOS 上可通过 brew install jq 安装)。可选的环境检查脚本会检查 Chrome、Bun、辅助功能权限、剪贴板和粘贴按键,并在检查失败时给出对应修复指引。

【浏览器行为】

所有脚本会把内容填入浏览器并保持窗口打开,供用户自行复核、编辑和发布,用户手动关闭浏览器。添加 --submit 参数可自动发布(2 秒后关闭)。AI 成功检测建议不要在后台等待任务完成,而是检查日志中的成功标记,例如匹配预期图片数量的“Image upload verified”计数,或“Post composed”(预览模式)或“Browser remains open”。

【适用场景】

适合在 Obsidian 中写作、希望将当前笔记快速发布到 X 的用户,尤其是需要发布带代码块的技术文章(X Articles)或带图片的简短推文。

【限制】

常规推文为纯文本,不支持富文本、代码块和 HTML,图片最多 4 张。X Articles 需要 X Premium。视频时长限制为普通账号 140 秒、Premium 60 分钟,处理需 30-60 秒。图片临时路径默认可能在系统 /tmp 导致被 vault 权限钩子阻止,需通过 --output-dir 保持图片在 vault 内。首次运行必须手动登录。不同平台(macOS、Linux、Windows)可能涉及辅助功能权限或粘贴按键工具(如 xdotool、ydotool)。

分类:办公与效率(office)