Skip to content

Repository files navigation

X Watch

使用本机 X 登录态,定时抓取关注账号并生成中文 AI 摘要。

Latest release Build status Supported platforms MIT license

界面预览 · 安装 · 从源码运行 · 配置

X Watch 通过 ego-browser 复用浏览器中的 x.com 登录态,并使用已登录的 Codex CLI 或 Grok CLI 分析最近的关注动态。管理台 默认运行在 http://127.0.0.1:17418。

界面预览

动态分析

X Watch 暖纸主题动态分析页面

执行步骤

X Watch 暖纸主题执行控制台

安装

安装脚本会自动识别 macOS 或 Linux 及 CPU 架构,下载 GitHub 最新 Release, 校验 SHA256SUMS 后将 x-watch 安装到 /usr/local/bin:

curl -fsSL https://raw.githubusercontent.com/weekitmo/ohmy-x-ai/main/install.sh | sh

默认支持 macOS Apple Silicon/Intel 和 Linux x86_64/ARM64。安装指定 tag 或使用 自定义安装目录:

curl -fsSL https://raw.githubusercontent.com/weekitmo/ohmy-x-ai/main/install.sh \
  | XWATCH_VERSION=v0.1.0 XWATCH_INSTALL_DIR="$HOME/.local/bin" sh

安装并启动 ego lite,完成 onboarding,并确保 所选 AI CLI 已登录:

ego-browser onboarding
ego-browser --version
codex --version

全局 Agent skill 不是 Go 服务的运行前置条件。需要让 Codex 或 Grok 在其他任务中 直接调用 ego-browser 时,可选安装:

npx -y skills add citrolabs/ego-lite -g

启动服务:

x-watch

从源码运行

环境要求:

  • Go 1.26+
  • Node.js ^20.19.0 或 >=22.12.0
  • pnpm 11+
  • ego-browser
  • 已登录的 Codex CLI 或 Grok CLI
git clone https://github.com/weekitmo/ohmy-x-ai.git
cd ohmy-x-ai
make build
./bin/x-watch

同时启动前端与后端开发服务:

make dev

Vite 开发地址为 http://127.0.0.1:17417,API 代理到 http://127.0.0.1:17418。

需要单独调试后端时:

make backend

配置

新 workspace 不预置任何关注账号。首次启动后,在管理台添加关注账号,并配置分组、 AI、调度和钉钉通知。账号设置保存在 workspace 的 data/state.json;已有 workspace 中的账号不会被覆盖。管理台会检测 ego-browser 状态;依赖缺失时可从右上角状态入口 查看下载和 onboarding 引导。

“全局设置”支持跟随系统、浅色、深色和暖纸主题,可选系统字体、Public Sans 或 IBM Plex Sans,并可切换浮动或内嵌菜单布局。这些外观偏好仅保存在当前浏览器中。

AI 总结提示词可在“AI 与通知 → AI 总结提示词”中自定义(可用占位符 {{lookbackHours}} 与 {{data}}),保存后立即应用于后续工作流的摘要步骤,也可一键 重置为内置默认提示词;未自定义时始终使用内置默认提示词。

浏览器抓取参数保存在 config/workflow.yaml。源码运行时,运行状态默认保存在 $HOME/.x-ai-workspace/:

$HOME/.x-ai-workspace/
  config/workflow.yaml
  data/state.json
  logs/x-watch.log

每次运行在抓取账号前都会通过 ego-browser 打开 x.com Home,确认登录态和时间线 已加载,避免匿名页面返回的帖子顺序不可靠。验证失败时任务会立即停止,并提示先在 ego-browser 中重新登录 x.com。账号页面等待后仍没有帖子列表时,工作流会刷新该 页面一次并重新等待;刷新后仍为空才结束本次账号抓取尝试。若 workflow 配置了 account_retries,后续完整重试会再次执行相同的一次刷新恢复。

抓取结束后,系统会检查 ego-browser 任务空间是否已关闭释放;发现残留空间 (含历史任务遗留)会兜底关闭,避免浏览器会话长期占用内存。管理台“工作流”蓝图已 包含“Ego 关闭复查”节点,并以 Go Runner 持久化的步骤事件高亮当前节点和连线;完成、 警告、失败、跳过和取消会保留各自状态,刷新页面后仍可查看所选任务的执行轨迹。蓝图 继续使用固定安全拓扑,节点拖拽和参数编辑不会改变 Go 后端的实际控制流。

环境变量 默认值 说明
XWATCH_ADDR 127.0.0.1:17418 HTTP 监听地址
XWATCH_WORKSPACE $HOME/.x-ai-workspace 配置、数据和日志根目录
XWATCH_DATA_DIR <workspace>/data 状态目录
XWATCH_WORKFLOW_FILE <workspace>/config/workflow.yaml 抓取配置文件
XWATCH_LOG_DIR <workspace>/logs 日志目录
XWATCH_FRONTEND_DIR 内嵌管理台 可选的外部前端覆盖目录
XWATCH_EGO_COMMAND ego-browser ego-browser 命令

运行服务的系统用户必须能够访问 ego-browser 中有效的 x.com 登录态。请勿提交 state.json,其中可能包含钉钉凭据。

检查

make check

License

MIT

About

Self-hosted X/Twitter monitoring and AI digest dashboard powered by Go, React, ego-browser, Codex, and Grok.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages