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 整合