猜你喜欢

vibe 了一个基于 cdp,聚合自己知乎/B 站/推特账号的推荐和关注流的 web 应用,开源.

CDP聚合推荐关注流Web应用-通过Chrome DevTools Protocol操控独立Chrome profile,抓取并结构化来自X/Twitter、知乎、B站的推荐流内容,并提供React阅读界面和RSS订阅功能

产品主要功能和描述: **产品名称:** Refresh **主要功能:** 1. **内容集成与消费**:通过浏览器登录态,集成并消费来自X/Twitter、知乎、B站的推荐和关注流内容。 2. **独立Chrome profile操控**:利用Chrome DevTools Protocol控制独立的Chrome profile。 3. **内容抓取与保存**:抓取平台推荐流的内容,并保存为不可变的`RefreshWindow`档案。 4. **内容归一化**:将抓取的内容归一化为`Message`、`Author`、`Account`等k8s风格资源。 5. **提供React阅读界面**:包括按源过滤、未读追踪、登录恢复、手动刷新等功能。 6. **RSS提供**:支持生成和访问RSS源。 7. **图片本地化**:将图片本地化到`data/media`目录,方便RSS阅读器回源。 **隐私边界:** - 仓库只存放应用代码,不包含运行态路径、截图、cookie、环境变量文件或真实数据样例。 **本地运行:** - 依赖:Bun、pnpm、Chrome/Chromium、`jq`、`xmllint`。 - 启动命令:`pnpm install`和`pnpm start`。 - 默认地址:后端API为`http://localhost:3001`,前端网页为`http://localhost:5173`。 **Chrome启动与登录态:** - 不依赖外部浏览器自动化服务,使用本机CDP。 - 启动参数包含`--remote-debugging-port`和`--user-data-dir`,登录态持久化在profile目录里。 **验证:** - 使用`bunx tsc --noEmit`和`./verify.sh`进行验证。 **部署:** - 运行两个进程:后端和前端/Vite反向代理。 - 公网部署时,通过环境变量设置公网地址,并用反向代理或tunnel暴露Vite端口。 **常用环境变量:** - 定义了一系列与环境相关的变量,如后端端口、数据根目录、RSS媒体绝对地址等。 **文档:** - 提供了架构、设计、进度等相关的文档。

内容创作数据分析
和大家分享我 vibe 的开源项目——muselab
:)

muselab-开源多模型AI助手项目

产品:muselab 主要功能描述: 1. 复用Claude订阅额度,按量付费的1/30。 2. 支持多模型接入,包括国产模型deepseek v4。 3. 提供完整的用户上下文信息。 4. 实现用户上下文复利,积累个人专属数据。 5. 使用浏览器原生渲染能力,支持HTML/Markdown即写即渲染。 6. 支持多端会话同步,实现随时随地访问AI Agent。 7. 提供定时任务、消息排队、现代化文件操作、模糊全局搜索、会话管理、护眼/黑夜/浅色多主题等附加功能。

内容创作数据分析
做了一个美国战争部 UFO/UAP 公开文件的浏览器下载包

UFO/UAP 文件浏览器-官方页面直接下载整理包

产品主要功能:整理并提供可直接下载的美国战争部UFO/UAP公开文件。 描述:该浏览器下载包将官方页面中的可直接下载文件整理成一个包,包含158个文件,其中包括116份PDF、28支视频、14张图片,并附有来源URL、索引档、SHA-256校验和。此外,还提供了一个“下载后从哪里开始看”的HTML导览。

文件管理工具文件下载工具
[开源] Rust 写了个纯本地的实时语音转录翻译软件

开源 Rust 实时语音转录翻译软件

产品主要功能:实时语音转录翻译软件,支持英文播客和英文会议翻译。 描述:使用 Rust 编写,纯本地程序,可挂在桌面显示实时翻译的歌词。目前仅支持 macOS,Windows 用户可提 issue 请求支持。开源,GitHub 仓库欢迎 star。

开源语音转录翻译
[首批 10 名免费名额] 新年来临之际,给 V2EX 同胞送人工定制的视频贺卡福利。

产品名称:视频贺卡

产品主要功能:定制视频贺卡 描述:CARDZOOO推出16款独家定制视频蛇年拜年贺卡,支持定制文字和照片,可轻松通过邮件、微信或各种APP发送,每张贺卡仅需0.99美元。前10名用户可使用优惠码V2EX免费领取。

视频贺卡定制化服务
Yield - 自托管的 App Store Connect 订单查看控制台

{"success":false,"message":"TypeError: Cannot read properties of null (reading 'choices')"}

{"success":false,"message":"TypeError: Cannot read properties of null (reading 'choices')"}