个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Chrome extension that saves profiles, posts, stories and highlights from instagram.com into a local folder. No tracking, nothing leaves your device.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Save profiles, posts, stories and highlights from instagram.com into a local collection.
Framestash is not affiliated with, endorsed by or sponsored by Instagram or Meta.
Status: Framestash downloads profiles, single posts, grid and feed items, stories and highlights into an existing collection. All saving happens in a Framestash side panel, which holds the folder once for every tab and runs a download queue. The extension is in extension/; history and test results are in the git log. Specs are in docs/.查看完整 README ↗Save profiles, posts, stories and highlights from instagram.com into a local collection.
Install from the Chrome Web Store
Framestash is not affiliated with, endorsed by or sponsored by Instagram or Meta.
MIT licence · Privacy policy · Security policy · Releasing
Status: Framestash downloads profiles, single posts, grid and feed items, stories and highlights into an existing collection. All saving happens in a Framestash side panel, which holds the folder once for every tab and runs a download queue. The extension is in extension/; history and test results are in the git log. Specs are in docs/.
Install. Add it from the Chrome Web Store, or, to run the source, go to chrome://extensions, turn on Developer mode, click Load unpacked, and choose the extension/ folder. Pin Framestash to the toolbar.
Choose the folder. Click the Framestash icon to open the side panel. The first time, it shows a "Before you start" notice with the Use responsibly points below; click I understand to dismiss it (it won't come back, and nothing downloads until you do). Then Choose and pick the root folder of your collection: the one that contains the account folders, e.g. IG. It's remembered across tabs and restarts. After a browser restart, one click on Allow access restores it.
Download from Instagram. Framestash adds buttons in the bottom-right corner, above Instagram's Messages button, plus a download icon in Instagram's own action rows:
/p/…, /reel/…, /reels/…): Save post saves every slide into <root>/<owner>/./stories/<user>/) or highlight page (/stories/highlights/<id>/): saves those stories. Stories go to <root>/<user>/stories/; with Highlights in their own folders on, each highlight goes to stories/<highlight title or id>/. The download icon in the story viewer's header, next to ⋯, saves only the item on screen. Downloading never marks a story as seen.Every button sends a job to the panel's queue, opening the panel first if it's closed, and the status card shows the job's progress.
Re-run any time. A job run again only fetches what's missing. A profile re-run stops listing after 12 already-saved posts in a row (pinned posts aside), once a previous run of it listed to the end; posts deleted from disk below that point come back only with List every post. An interrupted profile (Stop, closed panel, error) picks up its listing where it stopped instead of starting again from page 1. Failed items are listed in the panel's DevTools console.
After updating Framestash, reload open Instagram tabs. Chrome only adds the new scripts to pages loaded after the update, and Framestash tells you when this is needed.
<root>/<username>/<username>_<taken_at>_<id>.<ext>, the format existing collections already use (collection-format.md)..framestash.json, written the first time Framestash saves there.
_<ownerId> in their file names.<username>_<userId>/..error.txt and corrupt files already in a collection are reported by the check, never deleted.Not yet: DASH video quality (dash-video.md).
When Instagram changes something, re-run playbook steps 1–5 (playbook.md) and update instagram-api.md before changing code.
Open work lives in TASKS.md. The saved workflow fs-task (.claude/workflows/fs-task.js) takes one task per run:
T2), or the first one with status todo.CLAUDE.md and docs/.needs-check, with the live checks only you can do (reloads, real clicks, folder picks).Start it in Claude Code by asking it to run the fs-task workflow, optionally naming the task. To run several tasks back to back, use fs-tasks (.claude/workflows/fs-tasks.js) with a list of task ids; it stops at the first task that doesn't end in a commit, and the live checks collect in TASKS.md for later.
Plan, Build and Review run on the session's model, because they carry the security and compatibility rules. Pick and Finish are mechanical and run on smaller models.
--hover-overlay hover.design/; render-icons.sh rebuilds the PNGs, including the light and dark wordmarks at the top of this README. wordmark.svg is the brand master; the panel and the status card draw the wordmark in CSS.design/hero/hero.html: put screenshots you have the rights to in design/hero/shots/ and run design/hero/render.sh.Run from the repo root:
node test/naming.test.js # naming, dedup keys, routing, owner inference, file sniffing, queue entries
node test/collection.test.js # folder resolution (renames, reused usernames, conflicts) and the collection check
node test/pacer.test.js # pacing, budgets, block-signal classification and cool-downs
framestash/
├── extension/ the MV3 extension (load unpacked)
├── design/ logo sources + render-icons.sh; hero/ holds the README cover
├── test/ node checks (naming, collection, pacer)
├── scripts/ package.sh: runs the checks, then zips extension/ into dist/; check-manifest.js validates the manifest
├── docs/ collection format, Instagram API, probes, design notes, privacy policy
├── .github/ CI, release, CodeQL, Dependabot, store publish (docs/releasing.md)
├── TASKS.md open work, consumed by the fs-task workflow
├── .claude/workflows/ fs-task.js (one task), fs-tasks.js (several in order)
├── README.md this file
├── LICENSE MIT licence
├── SECURITY.md how to report a vulnerability
└── CLAUDE.md ground rules for working here
isTrusted), so page scripts can't trigger downloads.sidePanel, plus host access to instagram.com and Instagram's CDN so the panel can fetch media.