gitfeed-native:在 DeepSeek Harness 里用 Git 托管数据的 RSS 阅读器

前言

在 Harness 里写代码、跑会话时,常需要一边盯信息流一边查资料。把 RSS 集成进 IDE 侧栏,比另开浏览器或独立阅读器少一次上下文切换。常见做法是把订阅和条目混在插件仓库里升级,或把抓取交给远端服务;gitfeed-native 把程序和阅读数据拆成两个仓库,在 Host 本地跑刷新与同步,并以原生 bundle 形式挂进右侧边栏、主面板和 Agent 工具目录。

这是什么

gitfeed-native(npm 包名 @zizon/gitfeed-native)是由维护者 zizon 发布的 DeepSeek Harness 原生插件:个人 RSS 阅读界面、Host 侧定时刷新与已读状态同步,以及名为 gitfeed 的 Agent 工具。包内只有代码;订阅列表、抓取条目和已读/标星状态存放在单独的 gitfeed 数据仓库(README 示例为 zizon/gitfeed,默认可放在本机 ~/gitfeed),安装或更新插件不会写入该数据仓,也不要求为其配置 token。抓取在 Reader 所在 Host 的 job runner 上执行,没有需要预先启用的服务端任务。

核心功能

阅读界面

主面板为三栏:左侧文件夹、中间带摘要的单行条目列表、右侧正文。右侧边栏(与 Files、Documents 等同层)提供同一套阅读器;会话标题栏有 RSS 按钮,右侧边栏 + 引导里也有 Feeds 卡片。主面板左侧全局栏有 gitfeed 图标(与 Plugins、Tasks 并列),无会话时也可打开。

条目行展示标题、来源与年龄,以及摘要的一行纯文本 digest,便于扫列表而不必逐篇打开。可在显示偏好中关闭 digest。订阅源所在分区行提供「移入文件夹」「标记该源已读」「取消订阅」等操作;标星在条目行上,无需先打开文章。后台刷新时,栏位显示上次运行间隔(进行中显示 …);菜单内可查看刷新间隔、上次结果(如 0 new · 35 failed)以及自动 Sync 的间隔与下次运行时间。

双仓库分工

仓库 内容 可见性(README 说明)
zizon/gitfeed-native 插件源码、bundle 元数据、CLI public
zizon/gitfeed feeds.json、config.json、data/ 等阅读数据 private,克隆到 ~/gitfeed

拆分的用意包括:代码可公开而阅读记录可私有;插件 git pull 与阅读状态 git pull 互不冲突;数据目录可随用户迁移。若数据目录是 git checkout,界面上的 Sync 可推送订阅与已读状态。

Harness 内的入口与注册面

界面 如何进入
右侧边栏页 会话头 RSS 按钮,或右侧边栏 + 中的 Feeds 卡片
主面板页 左侧全局栏 gitfeed 图标
Agent 工具 工具目录中的 gitfeed

各界面共用同一客户端控制器与 Host API,两处同时打开时已选文章与已读状态保持一致。右侧边栏在标签宽度达到约 680px 时可拆成列表与正文两栏,分隔条可拖拽,双击重置宽度。

Agent 工具与调度

插件通过 ctx.tools.register 注册 gitfeed 工具;API 路由用 ctx.effect 注册,调度器使用 ctx.timeout 定时器,bundle 卸载时一并清理。mark/star 响应携带新的状态版本号,便于客户端在乐观更新后做紧凑轮询。

安装与启用

运行环境需 Node 24.9 或更新(与 package.json 中 engines.node 一致,也是 Harness 所要求的下限)。

Harness 通过 plugin_manager 或 Web UI Plugins → Add source 安装外部 bundle,README 给出两种目标规格。

从 npm 注册表安装(发布版本后推荐):

{ "action": "install_bundle", "target": "@zizon/gitfeed-native" }

已发布的 tarball 自带 lib/,profile 内无需再装 devDependencies 或批准构建脚本。

从 Git 安装(仓库未发布到 npm 时可用):

{ "action": "install_bundle", "target": "git+ssh://git@github.com/zizon/gitfeed-native.git" }

pnpm 会克隆包、安装 devDependencies 并执行 prepare(node build.mjs)。默认会拦截依赖构建脚本;若首次停在 pendingBuilds,需在 Plugins 中对 @zizon/gitfeed-native@<url>#<commit> 选择 Allow these scripts and retry,或通过工具的 approvedBuilds 重试。

安装前请自行查看 GitHub 仓库 源码与 MIT 许可证。插件以当前 DSH 进程权限运行,安装外部 bundle 前应完成安全检查。

典型用法

README 中的快速上手步骤如下(数据仓需由用户自行准备,勿将私人订阅放进插件公开仓):

  1. 将数据仓库克隆到 ~/gitfeed(或首次激活时由插件生成起步目录)。
  2. 按上一节安装 bundle。
  3. 打开 Feeds 卡片,订阅源,执行 Fetch 阅读;若根目录是 git checkout,用 Sync 推送订阅与已读状态。

日常可在右侧边栏边读边写会话,或在主面板无会话模式下集中处理未读。需要 Agent 参与时,在工具目录调用 gitfeed。

适用场景与注意

适合谁: 希望在 DeepSeek Harness 内完成 RSS 阅读、并愿意用独立 Git 仓保存订阅与已读状态的开发者;分类上属于社区目录中的「联网工具」类能力。

应注意:

  • 数据与代码分离:你必须拥有或创建数据仓(README 指向 ~/gitfeed),插件仓不含真实订阅。
  • 从 Git 安装需本机具备 SSH 访问 GitHub 的能力,并可能需批准 build.mjs 构建。
  • 社区插件目录 SkillHub 条目 与 DeepSeek / 幻方无官方从属关系;版本以你安装的 bundle 为准(资料中 package 版本为 3.9.13)。

结尾

gitfeed-native 把 RSS 阅读、本地定时刷新、Git 同步和 gitfeed Agent 工具收进一个 Harness 原生 bundle,并通过双仓库把可分享的代码与私有的阅读数据拆开。进一步了解与安装说明见 SkillHub 目录页 与 GitHub:zizon/gitfeed-native。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye