find-my-session

io.github.SomeNoneAI由 GitHub 账号 SomeNoneAI 发布v0.1.4更新于 Nov 6, 2026

Read-only session finder across coding-agent harnesses: search, page prompts, hand off.

发布方自己的服务:Verified Codes

已验证STDIO仅桌面知识与记忆开发者工具

概览

AI 生成的概览

只读的 MCP 服务器,可在 22 种编码代理工具中查找、搜索并分页浏览历史会话,并输出精简的交接摘要。

可以做什么
  • 按关键词、工具、工作目录或日期搜索并列出会话,返回最近一次匹配
  • 为单个会话输出低 token 的交接摘要,可限制轮数与字符数
  • 列出、统计并分页查看某会话中人类提出的提示词
  • 按工具与时间范围汇总已记录的 token 与费用用量
  • 检查本地环境与存储健康状况,包括解码器可用性与各工具状态
  • 打印或执行重新打开某会话的工具命令
适用场景
当编码代理额度用尽,或你在不同工具间切换、需要找回某个任务所在的会话并继续时适用;也适合回顾此前会话中提过的需求,或统计 token 与费用用量。
运行要求
以 Python 包形式在本地运行(pipx 或 uvx),需 macOS 或 Linux 及 Python 3.9 以上,无第三方 Python 依赖。压缩的 Codex 与 DeepSeek 存储需要 zstd 解码器(Python 3.14+ 或 zstd 命令行)。暂不支持 Windows。它会读取你已在使用的各工具的会话存储。
安装前请注意
设计上为只读:以只读方式打开 SQLite 存储且不发起网络请求,但摘要与提示词输出可能包含完整对话内容,应按原始会话记录同等对待。使用 exec 选项时 resume 会执行工具命令。它会读取本地会话文件与数据库,其中可能含敏感信息。

安装

在 SourceWeft 中

  1. 打开 控制台中的 find-my-session,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

find-my-session

🌐 中文说明

[CI] [OpenSSF Scorecard] [PyPI] [Python 3.9–3.14] [License: MIT]

A local, read-only session finder and handoff tool for coding agents, shipped in two forms that share one fms_lib core:

  • find-my-session-skill — an agent skill (fms CLI) that finds the right session across harnesses and prints a low-token handoff digest instead of the whole transcript.
  • find-my-session-ui — a human-friendly browser panel for the same stores.

When a harness runs out of quota, you usually remember what you were doing but not where the session lives. fms answers that with one compact command.

[fms search and fms show in a terminal]

[Counting and paging the human prompts of one session]

[The find-my-session browser panel reading a synthetic session store]

Screenshots use synthetic fixture data.

Ask your agent

If the skill is installed, just talk to your agent in plain language — no fms flags needed:

  • /find-my-session 找到 claude-code 最近的一个会话,继续那个任务
  • /find-my-session find the most recent claude-code session and continue that task
  • /find-my-session 额度用完了,在 claude-code 里找昨天关于鉴权的那次会话并接力
  • /find-my-session search my claude-code sessions about token refresh and show the handoff digest
  • /find-my-session 列出这个项目最近一次 claude-code 会话里我提过的所有需求

The agent resolves the harness, runs search / latest / show / prompts, and continues the work.

Supported harnesses

Twenty-two adapters are ready; one more is planned. Verified versions, surfaces, and caveats live in the compatibility matrix; per-harness store details live in references/.

HarnessRef prefixStore
Qoder CNqoder-cn~/.qoder-cn
Qoder (international)qoder~/.qoder
Kimi Codekimi-code~/.kimi-code
ZCodezcode~/.zcode
CodeArts Agentcodearts-agent~/.codeartsdoer
ChatGPT Codexcodex~/.codex
DeepSeek Harnessdeepseek~/.dsh
Claude Codeclaude-code~/.claude
Clinecline~/.cline
Grok Buildgrok-build~/.grok
WorkBuddy AIworkbuddy~/.workbuddy-ai
WorkBuddy (domestic)workbuddy-cn~/.workbuddy
Antigravityantigravity~/.gemini/antigravity
Antigravity CLIantigravity-cli~/.gemini/antigravity-cli
MiniMax Codeminimax-code~/.minimax/v2
Cursorcursor~/.cursor/projects
OpenCodeopencode~/.local/share/opencode
Gemini CLIgemini-cli~/.gemini
Qwen Codeqwen~/.qwen
Pipi~/.pi/agent/sessions
Oh My Piomp~/.omp/agent/sessions
CodeBuddy CNcodebuddy-cnCodeBuddy CN/codebuddy-sessions.vscdb
Cline (VS Code extension)cline-vscode (planned)VS Code globalStorage

Requirements

  • Python 3.9 or newer; macOS or Linux. Python 3.9 is end-of-life upstream and 0.2 is planned to require 3.10+ (see ROADMAP.md).
  • No third-party Python packages
  • Compressed stores (codex .jsonl.zst, deepseek .zstd) need a zstd decoder: Python 3.14+ or the zstd CLI; otherwise those sessions are skipped
  • Windows is exercised by an experimental, non-blocking CI job but is not supported yet; see ROADMAP.md

Install

CLI and UI commands

pipx install find-my-session installs the fms and fms-ui commands from PyPI. To run an unreleased commit, install from Git instead: pipx install git+https://github.com/SomeNoneAI/find-my-session.git. Use pipx upgrade find-my-session to upgrade or pipx uninstall find-my-session to remove them. With uv, uvx --from find-my-session fms ... runs the PyPI release without a permanent install.

For agents: the skill

  1. Release ZIP. Each GitHub Release publishes find-my-session-skill.zip. Download it from the latest release, then install it into your harness (for example, unzip it into ~/.claude/skills for Claude Code, or link the directory into your harness's skills folder).

  2. Source checkout.

    bash
    git clone https://github.com/SomeNoneAI/find-my-session.gitcd find-my-sessionln -s "$PWD/skills/find-my-session" ~/.claude/skills/find-my-session   # Claude Code; adapt the path for your harness

    From a checkout you can also run the CLI directly as python3 skills/find-my-session/scripts/fms, or run python3 tools/build_artifacts.py to build dist/find-my-session-skill.zip yourself. To remove a linked skill, delete its symlink from the harness's skills folder.

For humans: the UI panel

  1. Release ZIP. Download find-my-session-ui.zip from the latest release, extract it, and run python3 fms-ui from the extracted directory (or ./fms-ui when your extractor preserves executable bits). Replace that directory to upgrade or delete it to uninstall.
  2. pipx. The same pipx install above provides the fms-ui command.
  3. Source checkout. Run fms_ui/fms-ui (use --no-browser --port 8765 to pick a port without opening a browser).

The panel starts a read-only server on 127.0.0.1 with keyword and metadata filters, session overviews, paged user prompts, recent turns, and copyable refs. The static frontend uses only same-origin JSON APIs — no Node.js, no external assets. Language follows the local system, with an explicit zh/en switch. The interface also follows the system light/dark preference, with a manual toggle and a non-black dark palette. The frontend is built with Vue 3 + TypeScript + Vite; Node.js is needed only when developing it from fms_ui/frontend/, never to run the panel.

Quick start

bash
fms harnesses                                     # list ready and planned harnessesfms search "quota handoff" --harness claude-code  # find sessions by keywordsfms latest --harness claude-code --cwd .          # most recent session in this repofms show claude-code:c1a0de01                     # low-token handoff digestfms prompts claude-code:c1a0de01 --count          # count human prompts, then page with --limit/--offsetfms resume claude-code:e1a2b3c4 --exec            # jump straight back into a sessionfms stats --since 7d                              # token/cost totals across harnesses

Search prefers an explicit --harness; omit the query to list recent sessions. Archived sessions are excluded from search/latest unless --include-archived is passed. show stays read-only and prints the raw source path so an agent can grep the original file when the digest is not enough.

Commands

CommandPurpose
fms harnessesList ready and planned harnesses, variants, and stores.
fms search [query ...]Search session metadata by keywords; omit the query to list recent sessions.
fms latestReturn the most recent matching session.
fms show <ref>Print a handoff digest for one session.
fms prompts <ref>List every human prompt in one session; count, page, and order them.
fms mcpRun the Model Context Protocol server on stdio: exposes search/show/prompts/stats/doctor as read-only MCP tools for MCP-native hosts. See docs/mcp.md.
fms stats [--harness] [--since] [--json]Aggregate the token/cost usage that harnesses themselves record; harnesses without recorded usage show -.
fms resume <ref> [--exec]Print (or run) the harness command that reopens the session; falls back to the handoff digest when no resume command is verified.
fms doctor [--harness] [--json] [--fingerprint]Check the local environment and stores (decoder availability, readable roots, per-harness health); --fingerprint adds a content-free shape summary for drift reports.

Useful options

OptionApplies toMeaning
--harness NAME[,NAME]search, latest, show, prompts, doctorRestrict lookup to a harness. Recommended for speed and precision.
--cwd PATHsearch, latestMatch a session whose working directory contains, or is contained by, PATH.
--since 7d / --since 2026-10-01search, latestFilter by last update time.
--limit Nsearch, latest, promptsLimit results or prompts; 0 means unlimited.
--offset NpromptsSkip the first N prompts.
--order oldest/newestpromptsPage order; original indices are preserved.
--countpromptsPrint only the total prompt count.
--deepsearch, latestAlso scan full transcripts. Slower; still prints metadata only.
--include-archivedsearch, latestInclude archived sessions. Off by default.
--verbosesearch, latestWarn about skipped sessions on stderr without changing stdout.
--messages N / --chars N / --summary-chars NshowCap turns, per-message characters, and summary characters.
--jsonharnesses, search, latest, prompts, doctorMachine-readable output; use --format json for show. See docs/json-output.md for the field contract.

Session references use harness:session-prefix (for example claude-code:c1a0de01); a raw transcript path from a supported store works too.

Picking with fzf

Every listing is plain TSV, so interactive picking is a pipe away:

bash
fms search --limit 0 | fzf | cut -f1 | xargs -I{} fms show {}fms search --limit 0 --include-archived | fzf --with-nth=2,4 | cut -f1 | xargs -I{} fms resume {}

The second recipe resumes the picked session in its own harness when the harness has a verified resume command (see fms resume --help). Desktop/CLI surfaces that share one store share one ref space — see the compatibility matrix for which surfaces are verified.

Privacy and safety

  • Everything runs locally; the CLI makes no network requests.
  • The CLI only reads session files and databases, opening SQLite stores read-only; it never edits or deletes session content.
  • Search output is metadata-only; show and prompts can print conversation content, so treat their output like the original transcript.

Development and documentation

bash
python3 -m unittest discover -s tests -vpython3 -m compileall -q core fms_ui skills/find-my-session/scripts tools testspython3 tools/build_artifacts.py   # rebuild dist/find-my-session-skill(.zip) and dist/find-my-session-ui(.zip)

License

MIT. See LICENSE.

来源:README.md,提交 204ae46

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

2
  1. v0.1.4最新Nov 6, 2026
  2. v0.1.3Nov 5, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Find 集成