TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기资讯汇集:X 图文收录、中文翻译、Markdown 阅读、主题分类与企业微信推送,基于 Cloudflare Workers + D1。
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
由人精选、AI 协助整理的团队私有知识库。 把你在 X 上发现的好内容分享进来,整理原文、图片和译文, 让团队在同一个地方阅读、查找和积累。 做这个项目,起因是一个观察:在 X 上,能看到不少开发者、研究者和创业者直接交流技术进展、实践经验和自己的判断。有些讨论还没有变成正式文章,却已经值得团队关注。 但一个人看到了,不代表整个团队都能读到。 把链接发进群里,伙伴可能打不开,也可能没有时间读完外文。手动复制、翻译、整理图片很费事;经过几轮转述,原作者的表达也容易走样。 information-hub 想做的,是让“一个人看到”变成“整个团队读到”:在 X 里点一下分享,原文、图片和中文译文被完整保存,按天归档、按主题整理;谁分享的、什么时候分享的,一目了然。 运行在你自己的 Cloudflare 账号里(Workers + D1),不需要服务器。需要 Node.js ≥ 22.13。 克隆 https://github.com/Satyuki1/information-hub ,按仓库里的 AGENTS.md 把它部署到我的 Cloudflare。README 전문 보기 ↗
From X. For your group.
把 X 上的好内容,带给你的团队。
把你在 X 上发现的好内容分享进来,整理原文、图片和译文,让团队在同一个地方阅读、查找和积累。
快速部署 · iPhone 快捷指令 · AI 接入(MCP) · 后台配置 · 运维
做这个项目,起因是一个观察:在 X 上,能看到不少开发者、研究者和创业者直接交流技术进展、实践经验和自己的判断。有些讨论还没有变成正式文章,却已经值得团队关注。
但一个人看到了,不代表整个团队都能读到。
把链接发进群里,伙伴可能打不开,也可能没有时间读完外文。手动复制、翻译、整理图片很费事;经过几轮转述,原作者的表达也容易走样。
X to Group 的名字来自一条直接的路径:X 是信源,Group 是你想分享给的人。
它让“一个人看到”变成“整个团队读到”:在 X 里点一下分享,取得的原文、图片和中文译文被一起保存,按天归档、按主题整理;谁分享的、什么时候分享的,一目了然。
| 📱 专属快捷指令 | iPhone 上在 X 里点分享即可收录。每人一个连接地址,分享自动记在本人名下。附图文教程。 |
| 🌐 原文与译文并存 | 通过 TwitterAPI.io / X 官方 API / 公开预览获取原文、长文章和图片,大模型生成中文全文译文、摘要和主题分类,支持双语对照与 Markdown 下载。 |
| 📡 订阅关键账号 | 后台订阅 X 账号,定时抓取新帖并自动翻译;新订阅只导入最新几条,避免刷屏。 |
| 🎯 定向分析 | 写下团队关注方向,每条资讯额外生成分析要点和 0–100 相关度,可用于排序和推送过滤。 |
| 📰 AI 每日日报 | 每天汇总要点、分主题速览、趋势洞察与跟进建议,只引用站内资讯;可定时或手动生成。 |
| 🔔 飞书 / 企业微信推送 | 群机器人推送新资讯与日报(飞书支持签名校验),并可归档到飞书知识库,一天一篇文档。 |
| 🧠 多模型可切换 | DeepSeek、OpenAI、Claude、通义千问、Kimi、智谱、豆包、硅基流动,或任意 OpenAI 兼容接口,后台一键切换。 |
| 🎨 X 信息流 | 统一采用 X 布局:电脑端三栏、手机端单列信息流,统一白色简约界面。 |
| 🔐 账号与安全 | 首次部署设置超级管理员;免密登录链接;20 个一次性密码恢复码;运维重置命令;密钥加密存储、不回显。 |
| 🤖 AI 友好 | AGENTS.md + 部署 skill + 一条命令部署,AI 编程助手在完成 Cloudflare 授权后可执行部署;MCP 接入,让 AI 助手直接搜索和阅读资讯库。 |
保留熟悉的 X 信息流,围绕团队阅读调整交互。品牌、快捷指令、文档和归档统一使用 X to Group。
| 个人快捷指令 | 模型与 X 数据渠道 |
|---|---|
| 飞书归档 | 内容导出 |
手机端
运行在你自己的 Cloudflare 账号里(Workers + D1),不需要服务器。需要 Node.js ≥ 22.15。
在 Codex、Claude Code、WorkBuddy、Cursor 等工具里说一句:
克隆 https://github.com/Satyuki1/information-hub ,按仓库里的 AGENTS.md 把它部署到我的 Cloudflare。
仓库为 AI 准备了:
AGENTS.md:项目说明、部署与验证步骤、代码地图(Codex / Cursor / WorkBuddy 等读取)。CLAUDE.md 和 .claude/skills/deploy-x-to-group:Claude Code 的部署 skill,说“部署 X to Group”即可触发。/llms.txt:部署后站点上的机器可读说明。AI 会在需要授权 Cloudflare 时请你在浏览器里点一下“允许”,这一步必须由你本人完成。
git clone https://github.com/Satyuki1/information-hub.git x-to-group
cd x-to-group
npm ci
npx wrangler login # 在浏览器中授权 Cloudflare
npm run deploy # 首次可加 -- --name=my-hub 指定名称
npm run deploy 会自动完成:
cloudflare/resources.json(不提交到 Git);DATA_ENCRYPTION_KEY,写入 Worker Secret,并备份到 work/production-security/;work/bootstrap/管理员初始化.md;无人值守环境可用 CLOUDFLARE_API_TOKEN(Workers 脚本与 D1 编辑权限)和 CLOUDFLARE_ACCOUNT_ID 代替 wrangler login。
work/bootstrap/管理员初始化.md 中的私有链接,设置账号和密码。直接打开 /setup 仍需要初始化凭证。/admin → 抓取与模型 选择大模型并填写 Key、选择 X 抓取渠道;按需开启推送、日报和定向分析。所有密钥都在网页里填写,加密保存。/admin → 成员 添加账号,或生成“免密链接”直接发给对方;成员在 /shortcut 安装快捷指令。请妥善备份
DATA_ENCRYPTION_KEY:密码校验与后台保存的所有 API Key 都依赖它,丢失或随意更换会导致无法登录、密钥失效。初始化始终要求部署者生成的私有链接。链接尚未生成、已过期或部署中断时,访客不能创建管理员;部署者可运行
npm run setup-link重新生成。
git pull && npm ci && npm run deploy
部署复用已记录的账号、Worker 和数据库,应用待执行迁移;当前迁移只做新增。读取远端资源或密钥列表失败时停止,不会把失败当作“尚未配置”。已有账号或加密配置却缺少主密钥时,需要恢复原备份。首次生成的密钥会先保存到本地,再上传。
请保留被 Git 忽略的 cloudflare/resources.json,它记录实例的资源对应关系。重新克隆后更新已有实例,应先恢复该文件。自定义域名已绑定时,可用 npm run deploy -- --origin=https://你的域名 指定公开地址。
成员登录后打开 /shortcut,点“复制连接地址并安装快捷指令”,在 iPhone 弹出的“设置此快捷指令”里粘贴一次即可。之后在 X 中点 分享 → 分享到 X to Group,几秒钟提交完成,翻译整理在后台进行。公开的图文教程在 /guide。
为什么要粘贴?iPhone 只能安装经过 Apple 签名的快捷指令,签名只能在 Mac 上完成,服务器无法为每个人单独生成。所以所有人(包括其他部署)安装同一份签名文件,粘贴的连接地址 https://你的站点/api/collect?token=ihub_… 同时带上了站点和个人口令。口令可在 /shortcut 随时重置;是否允许不带口令的匿名分享由后台“站点”设置控制。
重新签名:python3 scripts/build-shortcut.py,再在登录 Apple ID 的 Mac 上执行
shortcuts sign --mode anyone --input outputs/x-to-group-unsigned.shortcut --output "public/shortcuts/分享到 X to Group.shortcut"。
每位成员在 我的账号 → AI 接入(MCP) 生成个人令牌(ihmcp_…),即可在 AI 助手里连接资讯库。服务地址:https://你的站点/mcp(Streamable HTTP,无状态 JSON 响应,Bearer 认证)。
Claude Code
claude mcp add --transport http x-to-group https://你的站点/mcp \
--header "Authorization: Bearer ihmcp_…"
Codex(~/.codex/config.toml)
[mcp_servers.x-to-group]
url = "https://你的站点/mcp"
bearer_token_env_var = "IHUB_MCP_TOKEN"
Cursor 等支持远程 MCP 的客户端
{ "mcpServers": { "x-to-group": { "url": "https://你的站点/mcp", "headers": { "Authorization": "Bearer ihmcp_…" } } } }
| 工具 | 作用 |
|---|---|
search_articles | 按关键词搜索标题、摘要、原文、译文和定向分析,可按主题、来源、天数筛选 |
latest_articles | 最近整理完成的资讯 |
get_article | 读取全文(中文译文 / 原文 / 两者)与定向分析 |
get_daily_report / list_daily_reports | 读取某天或最新日报 / 日报列表 |
list_subscriptions | 后台订阅的 X 账号与关注点 |
ask | 服务端检索 + 站点大模型作答,附引用链接(消耗每日 AI 额度) |
share_link | 把链接或文字收录到资讯库,记在令牌所有者名下 |
另提供资源 ihub://reports/latest、ihub://articles/latest、ihub://articles/{id}、ihub://reports/{date},以及提示词 daily_briefing、topic_research。令牌只代表本人,可随时重新生成或撤销。
| 页签 | 内容 |
|---|---|
| 概览 | 收录统计、近 14 天趋势、系统状态、今日 AI / X 用量、分享排行 |
| 成员 | 添加密码成员或免密链接成员(7 天至长期有效),设为管理员、停用、生成重置链接或临时密码 |
| 订阅账号 | 添加 X 账号、每个账号的关注点、是否含回复/转帖,立即检查,暂停或删除 |
| 抓取与模型 | X 渠道(TwitterAPI.io / X 官方 API / 仅公开预览)、检查间隔、首次导入条数、每日上限;模型服务、模型名、日报模型、接口地址、最大输出、每日 AI 上限;一键测试连接 |
| 推送 | 飞书群机器人(Webhook + 签名密钥)、企业微信群机器人;推送分享 / 订阅 / 日报;订阅最低相关度;发送测试消息 |
| 日报与分析 | 定向分析开关、关注方向、范围;日报开关、生成时间、汇总前一天或当天、额外要求 |
| 站点 | 站点名称、对外访问地址(推送链接使用)、是否允许匿名分享及匿名分享人名称 |
| 飞书归档 | 飞书应用、个人授权、每日知识库文档、自动归档 |
| 操作记录 | 最近 100 条登录与管理操作(不含任何密码或密钥) |
密钥(模型 Key、X 接口、机器人地址)以 AES-256-GCM 加密存入 D1,界面只显示是否配置与末四位。早期部署通过 Wrangler Secret 设置的 DEEPSEEK_API_KEY、TWITTERAPI_IO_KEY、X_BEARER_TOKEN、WECOM_WEBHOOK_URL 仍作为后备生效。
在「管理后台 → 飞书归档」:
uncertain,不会重复写入。| 场景 | 做法 |
|---|---|
| 成员忘记密码 | 登录页“用恢复码重置”;或管理员在“成员”里生成 24 小时重置链接 |
| 超级管理员忘记密码且恢复码丢失 | npm run reset-password -- <用户名>,1 小时有效的链接写入 work/reset/<用户名>.md |
| 还没创建管理员、初始化链接过期 | npm run setup-link |
| 重新生成恢复码 | “我的账号 → 密码恢复码”,旧的全部作废 |
| 备份 | 定期导出 D1(npx wrangler d1 export <数据库名> --remote --output backup.sql),并单独保存 DATA_ENCRYPTION_KEY |
定时任务(每分钟)依次执行:订阅抓取 → 翻译整理(每次 3 条)→ 飞书归档 → 日报 → 推送 → 清理过期会话与令牌。各环节互相隔离,一个失败不影响其他。
npm ci
npm run dev:local # 构建、本地 D1 与迁移、本地专用密钥,打印初始化链接,服务 http://localhost:8787
修改代码后重新运行 npm run dev:local(npm start 提供的是构建产物)。提交前:
npx tsc --noEmit
npm test # 真实 SQLite + Web Crypto,覆盖权限、会话、配置加密、多模型、免密链接、恢复码、MCP、订阅、日报、推送等
npm run build
flowchart LR
A[iPhone 快捷指令] -->|/api/collect?token=| W
B[网页收录] --> W
M[AI 助手 · MCP] -->|/mcp| W
W[Cloudflare Worker<br>鉴权网关 + 页面] --> D[(D1 数据库)]
C[每分钟定时任务] --> X[TwitterAPI.io / X API / 公开预览]
C --> L[大模型<br>DeepSeek · OpenAI · Claude …]
C --> P[飞书 / 企业微信机器人]
C --> F[飞书知识库]
C --> D
| 目录 | 说明 |
|---|---|
cloudflare/worker.ts | 网关:鉴权、路由、安全响应头、定时任务 |
lib/ | 账号与令牌、配置中心、模型调用、X 渠道、订阅、日报、推送、飞书、MCP |
app/ | 页面:官网 welcome、教程 guide、登录/初始化/重置、X 信息流首页、阅读页、日报、快捷指令、账号、后台 |
drizzle/ | 数据库迁移 |
scripts/ | deploy、dev:local、setup-link、reset-password、快捷指令构建 |
tests/ | node:test 测试 |
安全模型与边界见 SECURITY.md。
需要哪些费用? Cloudflare 免费额度通常足够团队使用;大模型和 X 数据接口按各服务商价格计费,后台可设置每日上限。
没有 X API 能用吗? 能。选择“仅公开预览”即可读取单条帖子的可见文字;订阅账号与长文章需要 TwitterAPI.io 或 X 官方 API。
成员要注册吗? 不需要。管理员添加成员,或生成免密链接发给对方。
npm ci
npm run install:hub
选择本地 Node.js + SQLite、Cloudflare Workers + D1,或私有服务器 Docker + SQLite + Caddy。自动化安装使用 --target=local、--target=cloudflare 或 --target=server。私有服务器先设置 HUB_DOMAIN,并准备 Docker Compose、DNS 和 HTTPS 所需的 80/443 端口。
Choose local, Cloudflare, or a private server. Node.js >=22.15 is required. See the agent installation contract for prerequisites, verification and backups. Local Node data is independent of the existing Wrangler development database.
部署后访问 /docs/zh/start 或 /docs/en/start:包含个人快捷指令、模型 API Key、X 信源分组、飞书、导出和带标注的操作截图。官网及工作台都有文档入口。
管理员可编辑主题与信源分组;每位成员都有自己的收藏、快捷指令和 MCP 令牌。内容导出支持 JSON / Markdown 和日期范围,图片保留链接。它不包含凭证,也不代替完整数据库备份。