mcpField
C
conductorscore

conductorscore

github.com/flatironconsultingAgent 工作流13306 次安装3 天前更新
代码仓库

关于 conductorscore

ConductorScore 是用于分析本地编码 Agent 会话并生成评分的 Skill,面向希望查看使用指标的开发者。它上传评分和相关名称,而不上传对话文本;还可在本机将会话渲染为 HTML 时间线。

主要功能

  1. 01扫描本地编码 Agent 会话
  2. 02计算并上传使用指标
  3. 03支持 Claude Code、Codex 和 Cursor
  4. 04本机渲染会话 HTML 时间线
  5. 05调试视图默认隐藏原始文本

适用场景

  1. 01查看编码 Agent 会话的评分
  2. 02检查本地会话的工具与空闲时间线
  3. 03在不上传对话文本的情况下分析使用情况

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/flatironconsulting/conductorscore --skill conductorscore

安装后在 Claude Code 中输入/conductorscore确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
__init__.py
_http.py
approval_counter.py
auth_store.py
build_skill_package.py
commit_counter.py
config_scanner.py
scripts/agents/
__init__.py
base.py
consent.py
registry.py
scripts/agents/claude/
__init__.py
config.py
discovery.py
events.py
taxonomy.py
scripts/agents/codex/
__init__.py
config.py
discovery.py
events.py
taxonomy.py
scripts/agents/cursor/
__init__.py
cli_events.py
config.py
discovery.py
events.py
store.py
taxonomy.py
scripts/core/
__init__.py
normalized.py

详细介绍

ConductorScore 会读取你本地的编码 Agent 对话记录,只上传由此得出的数字(你的分数)——绝不会上传对话记录文本。

运行方法

当用户调用此技能时,回复 “正在计算你的 ConductorScore”,并在下一行显示脚本报告的技能版本(其第一行输出为 Version X.Y.Z)——例如,在标题下方显示 Version 0.5.0。从此技能所在目录运行协调器——也就是包含此 SKILL.md、且其 scripts/ 子目录中有 run.py 的文件夹。不要假设固定位置:根据 Agent 和安装程序的不同,此技能可能位于 ~/.claude/skills/conductorscore/、~/.codex/skills/conductorscore/、~/.cursor/skills/conductorscore/ 或 ~/.agents/skills/conductorscore/。使用与此文件同级的 scripts/run.py:

python3 <this-skill-dir>/scripts/run.py

在 Windows 上,如果找不到 python3,请改用 python 或 py -3。

如果脚本打印 ↑ vX.Y.Z available — run: gh skill update …,请将该行转告用户,以便用户更新;然后照常继续。

脚本会驱动整个流程。不要讲述这些步骤,也不要复述脚本的进度信息。你需要:(a) 运行脚本;(b) 处理下面的 CONDUCTORSCORE_ASK 行;(c) 扫描完成后,根据 CONDUCTORSCORE_RESULT 行生成最终报告(参见“最终报告”)。

转达提问规则

如果某行打印内容以 CONDUCTORSCORE_ASK <id> "<question>" [opt A] [opt B] … 开头,说明脚本已停止,正在请求用户决定。使用方括号中的选项将 <question> 作为单选题呈现给用户(使用问题 UI;不要添加额外说明),然后使用匹配的标志重新运行 run.py:

  • login → 脚本会打印 GitHub URL 和代码。将它们显示给用户,让用户在浏览器中授权;用户确认(“我已授权”)后,不添加新标志,重新运行 run.py,即可恢复登录并继续。若用户取消,则停止。
  • providers → 使用 --providers=all(全部)、--providers=claude(Claude Code)、--providers=codex(Codex)或 --providers=cursor(Cursor)重新运行。若用户取消,则停止。
  • daily → 严格呈现两个选项:是和否(不提供取消或其他选项)。只使用 --daily=yes 或 --daily=no 重新运行——不要添加 --providers;此操作会启用或拒绝每日一次的钩子,且不会重新扫描。

最终报告

扫描完成后,脚本会打印一行: CONDUCTORSCORE_RESULT {"score":N,"url":"...","sessions":N,"verified_github":bool}。 不要显示这行原始内容。daily 问题处理完毕后,按以下固定格式向用户呈现最终报告(保留 ✓、📊 和项目符号):

✓ ConductorScore: <score>

📊 View your full breakdown: <url>

- Scanned <sessions> sessions from your local transcripts
- <Daily auto-refresh enabled — your score updates once per day | Daily auto-refresh not enabled>
- Only your score (the numbers) was uploaded — never any transcript text

调试 / 可视化会话 — /conductorscore debug

/conductorscore debug 会在本地将会话渲染为独立的 HTML 时间线 (HITL/AFK/Tool/Idle),并在浏览器中打开。整个过程都在 用户的机器上运行,不会上传任何内容——甚至连扫描时会发送的数字也不会上传。 当用户输入 /conductorscore debug …,或要求可视化 / 查看 / 调试会话、 显示其时间线,或查看 HITL/AFK/Tool/Idle 明细时,使用此方式。

斜杠命令接口就是 session_viewer.py 接口:将用户在 debug 后输入的内容 原样传递给 Python CLI——以下每个标志都一一对应,因此 /conductorscore debug <ARGS> 会运行 session_viewer.py <ARGS>。

python3 <this-skill-dir>/scripts/session_viewer.py [ARGS]

(session_viewer.py 与 run.py 位于此技能的 scripts/ 目录中,无论 该技能安装在哪里。在 Windows 上,如果找不到 python3,请使用 python 或 py -3。)

支持的参数(完整的 Python CLI 参数列表):

  • (无参数) → 用户当前所在的会话。SessionStart hook 会记录 当前转录内容,因此不带参数运行会可视化当前会话。若要检查更早的会话,用户应先使用内置选择器 导航到该会话(claude --resume / /resume,或 codex resume),然后运行 /conductorscore debug——不要重新实现该导航功能。
  • <path.jsonl> → 渲染指定的转录文件。
  • --list → 列出可发现的本地会话(索引、日期、ID、项目),然后 退出。
  • --pick N → 渲染 --list 中第 N 个会话(按时间从新到旧排列)。
  • --no-redact → 显示真实的转录文本。默认会脱敏: 对话气泡显示与传输内容等效的视图(哈希值 + token 数量,仅显示工具名称—— 不含原始文本),与扫描时上传的内容完全一致,因此页面可以安全 分享。--no-redact 在本地使用是安全的(不会有任何内容离开机器),最适合 实际调试。
  • --out <path> → 将 HTML 写入 ~/.cache/conductorscore/ 以外的位置。
  • --no-open → 渲染页面,但不启动浏览器。

脚本会打印一份仅供本地查看的调试摘要——源转录文件、脱敏模式、消息数 / 轮次数 / 连续次数 / 杠杆次数,以及明确说明“不会上传任何内容”——然后写入 HTML 并在浏览器中打开。按原样转述 脚本的控制台摘要及其 Rendered … → <path> 行;不要重新描述或复述其中的数字。

设备流登录

首次运行时会打印一个 https://github.com/login/device URL 和验证码,然后停止 (不会在后台轮询)。将 URL 和验证码展示给用户,让用户在浏览器中授权;用户确认后, 重新运行 run.py——它会继续待处理的登录、完成身份验证,然后开始扫描。

隐私与数据处理

ConductorScore 完全在你的机器上运行。它会读取本地的编码 Agent 转录内容以计算指标,然后只上传:

  • 数字——计数、token 总数、时间和衍生分数。
  • 你已通过使用而公开的名称——会话中调用的技能、斜杠命令、MCP 服务、插件和模型 ID(这些会显示在你的公开个人资料中)。仅上传名称——不含参数或内容。

它绝不会上传转录或消息文本、提示词、代码、文件内容或文件 路径。消息和文件文本会在设备上先转换为截断的 SHA-256 哈希值(仅用于去重 / 相似度计算), 然后才会计算任何指标。确切的传输载荷已在 WIRE_FORMAT.md 中记录并可供检查 (wire_format_sample.json 是一个真实样例)。只有在配对此设备后才会上传,且仅针对你同意扫描的 Agent;未配对的机器绝不会上传。

评论

支持 Markdown