查看: 2|回复: 0

Threadshare:把 Codex / Claude Code 会话变成只读链接,顺便索引本地历史找规律

[复制链接]

2

主题

0

回帖

6

积分

新手上路

积分
6
发表于 7 天前 | 显示全部楼层 |阅读模式
跑完的 Agent 会话就沉在本地了 —— 想把某次调试过程发给同事看只能截图;想回头查「这个报错上次怎么解决的」只能翻 ~/.claude/projects 下面的 jsonl 。做了个工具解决这两件事,MIT ,已发 npm 。

https://github.com/team-harness/threadshare

一条命令把会话变成链接

npm i -g @team-harness/threadshare        # 需要 Node 20+

threadshare sessions claude               # 列最近 10 个会话,纯本地读文件不上传
threadshare share claude <session-id>     # 出一条只读 Viewer 链接

sessions 会给出完整 session ID 、更新时间、项目、Git 分支和脱敏后的首条请求预览,不记得 ID 也能找到。Codex 、Claude Code 、Paseo agent 都支持。装完直接用默认托管服务,不用先部署服务端。

几个我自己用得多的 flag:

--dry-run 走完全一样的导出、协议校验和 5 MiB 检查,但不连网络。加 --report 只多给聚合计数(字节数、entry 类型、消息角色、脱敏标记),不含正文和本地路径。预检失败直接非零退出,不会退化成正式发布。

--expires 7d 控制有效期( 1 分钟到 365 天)。

--revoke 拿一次性撤销 token ,服务端只存它的 SHA-256 摘要,token 本身无法找回也不能放进 URL 。

--pick-start 列出最近 10 个用户 turn 让你选起点,不想把整个会话都发出去的时候用。

还有个 threadshare read <url> --format agent,输出的紧凑格式保留全部 User/Assistant Markdown ,但工具调用只汇总名称、状态和相邻次数 —— tool 的输入输出、thinking 、todo 正文都不输出。用来把一个长会话喂给另一个 Agent 比较合适。

比分享更有意思的是本地索引

threadshare insights sync

把本地所有 Codex / Claude 会话建成索引,之后直接用自然语言问 Agent 就行,不用背命令或 schema —— 兼容的 Agent 会自己读 threadshare insights spec --format json 选查询。

我自己那个索引 3600+ session 、11000+ turn ,跑出来几个结果:

WebFetch 9 次调用 9 次全失败 —— 平时失败了就换个方式绕过去,从来没意识到它一次都没成功过

Bash 失败绝对数最高,但 13674 次调用里完成了 13345 次,跟上面完全是两类问题

返回的 50 条代表性失败链全部是 never-succeeded ,其中 34 条是 Bash

两个 13 周窗口对比,Turn 数少了 50.3%,但每个 Turn 的 Tool 调用多了 36.4%

最大分组约 28.4 亿 token ,其中约 98% 的 input token 来自缓存

第一条是最让我意外的,不索引一遍真看不出来。第四条 Turn 腰斩但每 Turn 工具调用涨三成,既可能是自动化更深了也可能是编排开销变大了,工具只给数据不替你下结论。

完整报告,每个问题都写了证据边界:
https://github.com/team-harness/threadshare/blob/main/docs/insights-analysis-example.md

另外 insights sync --repository . 注册仓库之后,普通的 git commit 成功输出就能把 Agent session 和 commit 关联起来,不用换特殊提交命令。完整 hash 算 direct evidence ,短 hash 只在仓库内唯一解析时才算 observed evidence 。之后可以问「这个 commit 关联哪些 session 」「这个 bug 修之前有哪些尝试和文件改动」「下一个 Agent 接手前还缺什么」。

设计上比较克制的一点:每条 edge 都只是证据,不是作者身份或因果声明。Agent 被要求报告 relation 、strength 、source 、facts 和 limitations ,candidate 和 contextual edge 只能当调查线索。共现不会被表述成因果。

几个边界

Insights 完全本地不上传。但 deep query 能返回完整消息、工具输入输出、错误和文件路径,输出要当本机敏感数据看。

Viewer 链接只读、不公开列出,但没有访问鉴权 —— 拿到链接的人都能看,发之前自己过一眼内容。

导出会跳过隐藏记录、meta 记录和 sidechain 记录,不导出原始 system prompt 和 provider 配置。常见凭据字段尽力脱敏,但不保证识别全部。

Insights 目前只有 macOS / Linux 的 arm64 、x64 原生包; Windows 上 share / read / export 这些核心命令可用。

自部署

不想用默认托管服务的话,Viewer / API / threadshare-history@v1 协议是同一套,Cloudflare Workers + R2 和阿里云函数计算 + OSS 都有现成脚本,然后 THREADSHARE_URL 指过去就行。协议不绑 provider 也不绑云平台。

欢迎试,有问题提 issue 或者在这里说。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
返回顶部