mcpField
R
RunGlance

RunGlance

本地服务
github.com/Openly-Useful开发工具07 周前更新

关于 RunGlance

RunGlance 是面向 Agent 运行的本地只读活动与用量监视工具,提供 HUD 视图和可验证的完成回执。它支持主机事件适配器,并将未知指标明确标为未知,数据保留在本地。

主要功能

  1. 01本地活动与用量快照
  2. 02可配置的 HUD 显示预设
  3. 03适配 Codex 和 Claude 事件
  4. 04可验证的运行回执
  5. 05受权限限制且经过脱敏的状态

适用场景

  1. 01查看正在进行和已完成的工作
  2. 02检查用量与锁的所有权
  3. 03记录检查结果和运行结论

MCP 相关

可选的 RunGlance MCP 入口提供只读的状态、工作列表、用量、锁和状态资源查询。它与 HUD 配合使用,不负责驱动 HUD 刷新。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"org-openlyuseful-runglance": {
"command": "npx",
"args": [
"-y",
"@openly-useful/runglance-mcp"
]
}
}
}
启动命令npx -y @openly-useful/runglance-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@openly-useful/runglance-mcp1.2.1

工具

4

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

StatusGlance

StatusGlance 是 Openly Useful 的可视化系列:StatusGlance / Readiness 将一个仓库内的清单转化为有证据支撑的交付就绪状态;StatusGlance / RunGlance 展示观测到的运行活动,无需模型轮询。两者均可用于 Claude、OpenAI/Codex 和通用 CLI,并可选用范围受限的只读 MCP 入口。

此兼容性优先的品牌发布保留了 project-status 和 runglance 插件 ID、npm/MCP 名称、命令、存储路径、仓库 URL 及 Apache-2.0 许可证。现有集成无需迁移重命名。状态请求只读取一次现有证据;不会启动工作、验证、监控或安装。

交付循环

Conductor Swarm 负责执行:观察变更 → 梳理连贯的工作 → 并行运行已就绪且互不依赖的工作流 → 在里程碑处验证并集成 → 调整 → 继续执行获授权的工作或结束。Pickup 修复缺失的上下文;Continuity 处理实际移交。这些是互补工具,并非必须增加的 Agent 或按顺序执行的阶段。Agent Workflow Swarms 定义了执行框架。

StatusGlance 观测这一循环。使用现有宿主事件、任务 ID 和里程碑证据。没有事件流,就表示活动未知。本地设置文件不能证明宿主已安装或已连接。反复修订意味着应在获授权的执行范围内改变方法,而不是无限延长审查循环。Operations Pulse 仍是可选的定期运营配套工具;Skill Feedback Engine 仅在收到请求时才提出可长期保留的改进建议。

Alpha、Beta 和 Live 就绪状态

可选的版本化 delivery extension 引用现有清单任务。按顺序排列的阶段范围会累积已验收的工作,每个阶段都会显示自己的分母、剩余任务和里程碑、下一个已集成的里程碑以及验收差距。范围为空时,状态仍为未知。当前阶段的验收需要符合条件的证据并清除各项关卡;实施进度和历史加权得分分别记录。

随附的仪表板是历史演示,不能作为任何用户当前产品就绪状态的证据。要声称已完成 Alpha、Beta 或 Live,请先配置并验证真实产品范围。

本仓库包含八项相关交付内容:

  • 位于 skill/project-status 的规范便携式技能;
  • 独立的 RunGlance 技能,位于 skill/runglance;
  • 无依赖的 RunGlance 运行时、宿主适配器、HUD 预设、验证运行器和最终收据;
  • packages/mcp 下可选的只读 Project Status 和 RunGlance MCP 入口;
  • plugins/ 下生成的 OpenAI/Codex 和 Claude 插件包装器;
  • 由 scripts/package-skill.mjs 和 scripts/package-runglance.mjs 生成的确定性 Project Status 和 RunGlance ZIP 分发包;
  • React/Vite 状态原型及其 OpenAI Sites worker 构建产物。

信任与安全模型

就绪状态、证据有效性、实时健康状况和交付活动是彼此独立的信号。浏览器刷新不计为监控。默认只读检查;编辑清单、安排任务、安装、发布、部署、提交和远程写入都需要单独明确执行。

活动还会分别跟踪上下文窗口容量、提供商配额、任务预算、货币成本、进度、心跳新鲜度和显式锁所有权。缺少宿主数据时,状态保持为 unknown;绝不会将其显示为零,也不会根据其他指标进行猜测。验证通过仅证明收据中记录的检查和任务结果,并不代表整个项目已就绪。

发布工具仅限在仓库内运行。它不会安装插件、更改个人市场、发布归档文件、创建版本发布、部署 Sites,也不会在所选产物目录之外写入文件。

规范技能与生成的包装器

skill/project-status 是唯一应编辑以修改技能行为的来源。两个插件包装器在 skills/project-status 中包含物理副本,因为市场安装程序会复制插件目录,无法安全依赖插件根目录之外的路径。

skill/runglance 是 RunGlance 对应的规范来源。其生成的包装器包含 skills/runglance、仅供 RunGlance 使用的 MCP 入口点,并且不包含就绪状态清单运行时。请勿将 RunGlance 的生命周期或 HUD 行为重新放回 Project Status 技能中。

更改规范技能或构建可选 MCP 服务后,请同步包装器:

node scripts/release-sync.mjs sync

CI 和本地预检使用只读漂移检查:

node scripts/release-sync.mjs check

同步操作会以确定性的方式管理包装器清单、包装器技能树、可选的捆绑 MCP 运行时,以及两个仓库市场目录。请勿手动编辑生成的包装器文件。

市场目录使用不同的宿主架构:

  • .agents/plugins/marketplace.json 是 OpenAI/Codex 仓库市场目录。
  • .claude-plugin/marketplace.json 是 Claude Code 市场目录。

OpenAI 插件始终包含 .codex-plugin/plugin.json。只有在 packages/mcp/dist/index.js 是经过验证的自包含捆绑包,且其锁定的构建元数据存在时,两个插件清单才会声明 mcpServers;否则会省略 MCP 组件,而不是指向无效路径。生成的包装器会打包该单一捆绑入口点和共享核心运行时,不包含 node_modules、软件包安装步骤、源映射或声明文件。

RunGlance 和 RunGlance HUD

RunGlance 需要 Node.js 20+,且不使用运行时依赖、网络调用、模型调用、API 密钥、远程存储或 Shell 求值。设置过程可检查,且仅涉及仓库本地内容:

node skill/runglance/scripts/runglance.mjs setup plan --json
node skill/runglance/scripts/runglance.mjs setup instructions --host codex
node skill/runglance/scripts/runglance.mjs setup instructions --host claude
node skill/runglance/scripts/runglance.mjs setup instructions --host generic

setup guided 仍为只读。setup apply --project-root <dir> --host <host> 只会在该仓库中写入 .runglance/setup.json;宿主级钩子或状态行设置仍需另行获得用户授权。

无需 MCP 即可直接运行,以启动、渲染、验证并结束:

node skill/runglance/scripts/runglance.mjs start --name "Release verification"
node skill/runglance/scripts/runglance.mjs watch --preset compact --interval 1000
node skill/runglance/scripts/runglance.mjs verify --name "Unit tests" -- npm run test:unit
node skill/runglance/scripts/runglance.mjs finish \
  --outcome complete \
  --summary "Activity stream verified" \
  --final-summary verified

默认的 compact RunGlance HUD 会显示最有用的关键上下文。standard 会展开 Running 和 Finished 工作,swarm 会纳入委派 Agent,diagnostic 则会显示故障排查详情。watch 只会在有用时每秒刷新一次本地快照,不消耗模型令牌或 MCP 调用。渲染器会在简单终端中降级为 ASCII,并在 stdout 不支持交互时输出静态内容。

适配器可接收来自 Codex hooks/App Server、Claude hooks/status line 或任何严格通用生产者的规范化事件。每项指标都会保留其 exact、derived、estimated 或 unknown 真实性分类。运行时状态受到权限限制、有界且经过脱敏,并排除提示词、转录内容、环境变量、原始工具参数、凭据和源文件。

最终摘要可配置为 off、concise 或 verified。已验证回执包含修复内容、记录的检查、安全的本地重跑命令、剩余工作、经过时间和 Agent 数量。公共活动 API 和 MCP 投影不会公开重跑参数和命令输出;这些仅属于受信任的本地 CLI 界面。

可选的 runglance-mcp 入口点仅公开 runglance_get_status、runglance_list_work、runglance_get_usage、runglance_get_locks 和 runglance://status。它是查询辅助工具,并非 HUD 刷新引擎:

npm run build --prefix packages/mcp
RUNGLANCE_RUNTIME_DIR=/absolute/runtime/path node packages/mcp/dist/runglance-index.js

生成的 OpenAI 和 Claude RunGlance 插件包含标准 .mcp.json 描述文件。因此,安装时可使用各宿主的常规连接授权界面;无需 API 密钥、订阅、远程账户或付费服务。

开发与验证

CI 使用 Node.js 22。安装根应用依赖,在可选 MCP 包存在时构建该包,同步生成的封装,构建 Sites 输出,并运行完整测试套件:

npm ci
npm ci --prefix packages/mcp
npm run build --prefix packages/mcp
node scripts/release-sync.mjs sync
npm run build
node --test tests/*.test.mjs
node scripts/release-check.mjs

仅当存在可选包时,才运行 packages/mcp 命令。npm run build 会生成 Sites 交付文件:

  • dist/client/index.html
  • dist/server/index.js
  • dist/.openai/hosting.json

scripts/release-check.mjs 会验证封装是否存在偏差、版本是否一致、特定主机的 marketplace 和清单结构、MCP 捆绑包边界、包安全性、更新日志覆盖情况、确定性归档计划、包标识、命名空间、公开政策文件,以及创始人发布授权。两个可发布的 MCP 包都会在 prepublishOnly 阶段运行 scripts/assert-publish-ready.mjs。在 LLC 注册完成之前,npm 发布需经创始人授权;实际发布请求仍由注册表执行账户身份验证,而提供方 marketplace 审核属于独立工作流,不会阻止 npm 发布。测试套件还会将两个插件归档解压到隔离的临时目录中,并执行固定版本的 MCP 握手,以及就绪状态和活动工具调用,无需安装依赖。

第三方声明根据固定版本的运行时依赖图生成,而非完整的开发工具链:

npm run notices:plan
node scripts/third-party-notices.mjs build
npm run notices:verify

生成器涵盖站点运行时和捆绑的 MCP 运行时,保留每份不同的上游许可证文本,并以确定性方式生成 THIRD_PARTY_NOTICES.md。打包时,如果仓库缺少 LICENSE、隐私、条款、安全、支持和声明文件,则不会生成发布归档;每个 ZIP 都会包含这些文件。

构建确定性分发包

检查包计划,但不写入文件:

node scripts/package-skill.mjs plan

构建到默认的忽略/本地制品目录,或选择其他目录:

node scripts/package-skill.mjs build
node scripts/package-skill.mjs build --output /tmp/project-status-artifacts

现有输出不会被隐式替换。仅在确实需要替换时使用 --replace。使用以下命令,根据全新的确定性计划验证先前构建的文件:

node scripts/package-skill.mjs verify --output /tmp/project-status-artifacts

输出文件集如下:

  • project-status-portable-claude-skill.zip
  • project-status-openai-plugin.zip
  • project-status-claude-plugin.zip
  • checksums.json

每个 ZIP 都包含 MANIFEST.sha256。构建器会拒绝符号链接、路径遍历、绝对路径、测试文件、依赖树、.env 文件、嵌入的用户主目录路径,以及常见的机密格式。归档条目顺序、元数据、模式、JSON 格式和文件字节都是确定性的。

RunGlance 具有相同的计划/构建/验证约定:

node scripts/package-runglance.mjs plan
node scripts/package-runglance.mjs build
node scripts/package-runglance.mjs verify

其输出文件集为 runglance-portable-claude-skill.zip、runglance-openai-plugin.zip、runglance-claude-plugin.zip 和 checksums.json。

本地 marketplace 安装

安装会更改主机状态,因此有意与构建或验证此仓库分开。用户可以从可信的检出目录使用主机 CLI 选择加入。

对于 Codex:

codex plugin marketplace add .
codex plugin add project-status@project-status-initiative
codex plugin add runglance@project-status-initiative

对于 Claude Code:

claude plugin marketplace add .
claude plugin install project-status@project-status-initiative
claude plugin install runglance@project-status-initiative

安装前请检查生成的清单和技能内容。Marketplace 插件属于受信任代码,尤其是在包含可选本地 MCP 服务时。

版本管理与发布门槛

发行版本记录在 VERSION、两个规范组件元数据文件、生成的插件清单、Claude 市场条目、MCP 和监控配套包以及归档校验和中。node scripts/release-check.mjs 要求这些版本保持一致。发布版本 1.2.1 是一个与来源记录保持一致的补丁版本,涵盖在 v1.2.0 之后合并的、由创始人运营的发布门禁和规范化 npm CLI 清单;1.2.0 系列此前已取代未发布的 1.1.0 来源标识符,因为该标识符与缓存中一个存在实质差异的 Project Status 发行版本冲突。

publisher/publisher.json 是 https://openlyuseful.org/publisher/manifest.json 的仓库镜像/使用方。Openly Useful 是发布方/开发者品牌。Openly Useful LLC 是计划中的发布方、运营方和被许可方,但目前仍待完成设立,不得描述为已成立。.org 身份是规范的开源、发布方、政策、安全和支持入口;.com 是工作室/商业身份。组件元数据指向规范的公开 https://github.com/Openly-Useful/project-status 仓库和 https://openlyuseful.org/support。

RunGlance 仅由创始人编写,所有权也始终归创始人个人所有。目前,Openly Useful 由创始人个人运营;在 LLC 设立完成之前,创始人直接授权开源项目和 npm 包的发布。无需进行知识产权转让、所有权转移或所有权核验;未来成立的 LLC 可在有文件记录的创始人授权下发布、运营和许可 RunGlance,而无需成为版权所有者。

本地发行就绪状态与 npm 包就绪状态是两个独立信号。distributionReady 涵盖源代码、生成的封装、许可证/声明、政策、元数据和确定性软件包。publishReady 还要求:

  1. 在 LLC 设立待完成期间生效的创始人所有者直接授权;
  2. 精确的 npm 包和 MCP 命名空间约定;
  3. 规范的隐私、条款、安全和支持政策文件;
  4. 当前许可证、声明、生成的封装、测试和确定性软件包计划。

静态就绪状态结果不会虚构账户身份验证。实际发起注册表请求时,npm 会单独执行身份验证。

OpenAI/Claude 提供商审核、市场提交、MCP Registry 提交、部署和未来 LLC 运营均属于独立工作流。npm 就绪状态不会推定这些事项中的任何一项,提供商审核也不会阻碍 npm 发布。

仓库包含未经修改的 Apache License 2.0 文本和确定性的第三方声明包。Apache-2.0 不要求在许可证文本中加入项目专属的版权持有人/年份占位符。

请参阅 CHANGELOG.md 了解发布历史,并参阅 PROVENANCE.md 查看留存的源代码和所有权记录。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。