rlpb/pitwall
关于这个 mod
Pitwall 是 Claude Code 加载到内存中的内容的控制面板。它显示了上下文窗口的完整程度,哪些 add-ons 和技能占据了空间,让您可以一键关闭它们,并在您改变主意时恢复所有内容。五个选项卡(“主页”、“我的工具”、“助手”、“活动”、“设置”)以及提示上方的一条细线。功能包括 per-tool 和 per-set 开关、根据 plain-language 请求进行可逆更改的助手、针对闲置技能的 activity-based 建议、one-press“更新所有内容”以及由保存的设置副本支持的精确 per-change 撤消。所有内容都保留在您的计算机上,不会被跟踪;唯一的网络访问是由您自己的按键触发的 claude plugin update。 Apache 2.0 已获得许可。
安装
请先查看作者 README 确认 marketplace 和插件名称;命令可能随仓库结构改变。
claude plugin marketplace add rlpb/pitwall claude plugin install pitwall
原文 / README
Pitwall
Claude Code loads all your add-ons, skills and connections into its memory before you type a word. Pitwall shows what each one takes, switches it off in one press, and puts everything back if you change your mind.
</div>Everything stays on your computer. No tracking, no account. A copy of your settings is saved before every change.
/plugin marketplace add rlpb/pitwall
/plugin install pitwall@pitwall
<div align="center">
<img src="docs/demo.gif" alt="Pitwall: the line above the prompt, the My tools panel with one set open, one press on the switch of a big tool, and a restart note appearing" width="760">
</div>
What you get
Pitwall is a control panel for the things Claude Code loads into its memory. It has five tabs, and nothing needs a manual.
- Home. One sentence ("Claude's memory is 31% full"), one bar, what takes the room, your plan limits, and a button: Free up space. A tip names the biggest add-on and offers to turn it off.
- My tools. Every add-on and skill, gathered into sets by what it is for: Writing and tone, Building software, Images and vision, Websites and search, Security, Planning and focus, Setup and tuning and so on. Each set shows how many tools are on, can be switched on or off as a whole, and opens to show its tools, each with a one-line description, a size (small, medium or large) and a switch. A small
?opens the full description, a link to the repository, the version and an Update button. Update everything is at the top. - Assistant. Tell an assistant what you want, in your own words, or press one of three starter buttons ("Why is my memory so full?", "I am starting a different kind of work", "Is a tool I found safe to add?"). It is a separate conversation: your main chat never sees it.
- Activity. The skills you have not used lately (made light in one press), the ones you use most, and what Pitwall changed.
- Settings. Language, the line above the prompt, tips, and an Advanced corner (connections, automations, instructions, helpers) for the things most people never touch.
- A thin line above the prompt with how full the memory is and an Open button.
- Your language, automatically. English, Italian, Spanish, French, German or Portuguese, following Claude Code's language setting and then your system's.
- Undo, on every tab. Before any change Pitwall saves what it is about to touch. Undo puts it back, one change at a time. If the copy cannot be saved, nothing changes.
- An assistant that starts from a checked list.
catalog/catalog.jsonholds add-ons already reviewed (license, upkeep, what they run), with a verdict and the reason. It is re-checked weekly against GitHub.
<sub>These images are drawn by the real screens from made-up data (node scripts/shots.mjs). None of them is a capture of a screen.</sub>
Words used. Pitwall says tool for an add-on or a skill, add-on for what Claude Code calls a plugin, connection for an MCP server, automation for a hook, helper for an agent and memory for the context window.
Install
You need Claude Code 2.1.287 or newer: mods are new, and older versions do not load them. Check with claude --version.
/plugin marketplace add rlpb/pitwall
/plugin install pitwall@pitwall
Start a new chat or restart Claude Code: a chat that was already open does not pick it up, because Claude Code loads its add-ons when a chat starts. The line appears above the prompt. Click Open (or, in the terminal, press ctrl+x then tab, then p), or type /pitwall. Nothing to set up: if you want less, Settings hides the line and stops the tips.
If nothing appears, check claude --version, check that pitwall is enabled in /plugin, and type /pitwall. A status of failed to load with Hook load failed means your Claude Code is older than 2.1.287 and does not know mods yet: update it.
To remove it: /plugin uninstall pitwall@pitwall and /plugin marketplace remove pitwall, then delete ~/.claude/pitwall (the saved copies).
You can also download pitwall-<version>.zip from a release and load it with claude --plugin-dir <folder>. Verify it first if you like.
What Pitwall itself takes: about 50 tokens of Claude's memory in every session (the unit Claude counts in). Each request to the assistant is a short task that uses a little of your plan.
What it adds to what Claude Code already has
Claude Code can already do parts of this. Pitwall puts them in one place, next to each other.
| You want to | Claude Code on its own | With Pitwall |
| --- | --- | --- |
| See where Claude's memory went | /context | Home |
| See what an add-on adds to every session | claude plugin details <id>, one at a time | My tools lists every tool, with a switch and a size beside it |
| Turn an add-on or skill on or off | /plugin, /skills, or editing settings.json | The same switches, next to the size, and one for a whole set |
| Read what an add-on does and find its repository | open each plugin's page | The ? beside each tool |
| Update everything | claude plugin update <id>, one at a time | Update everything |
| Know which skills you do not use | /skill-doctor, /doctor | Activity counts what you use on your computer and makes the idle ones light in one press |
| Take a change back | edit the file again | Undo |
| Ask for a change in words, and have it checked | none | Assistant |
<sub>Checked against Claude Code 2.1.287. If a built-in covers a row better in your version, open an issue and this table changes.</sub>
Using less, not more
Pitwall does not try to load everything for every chat. It gives you the controls to load what the current work needs:
- See the bill. Home opens with one sentence, "Claude's memory is 31% full", and shows what takes the room.
- Make light, do not delete. A skill made light can still be found by name and costs a few tokens instead of a few hundred. In Activity, one button makes every skill you have not used light.
- Free up space. One press on Home asks the assistant to switch off or lighten what your history shows you do not use. It makes reversible changes at once and waits for your go on anything Undo cannot reverse.
- A nudge, not a surprise. When a prompt clearly matches an add-on or skill you switched off, the line above the prompt offers to turn it back on for the next session. The match runs on your computer, on word overlap, with no model call.
- Say what you are doing. Tell the assistant "I am writing a thesis now" and it turns on what that needs and off what it does not.
Changes to add-ons and skills are read when a session starts, so they apply after a restart (/reload-plugins may apply an add-on change sooner). claude -c keeps your conversation across the restart, and the panel tells you while a change is waiting.
What the add-ons take is often a small part of Claude's memory: long conversations are what fill a usage limit. Pitwall says so when it is true.
Commands
The panel is the way in. These work too:
| Command | What it does |
| --- | --- |
| /pitwall | Open the panel |
| /pitwall status | One-paragraph summary in the transcript |
| /pitwall undo | Undo the last change |
| /pitwall update [name@marketplace] | Update every add-on, or one |
| /pitwall plugin on\|off <name@marketplace> | Switch an add-on |
| /pitwall skill <name> on\|name-only\|user-invocable-only\|off | Set how one of your skills is loaded |
| /pitwall ask <text> | Send a message to the assistant |
Safety and privacy
What Pitwall does and does not do, stated so you can check it:
- Everything stays on your computer. Pitwall's own code makes no network request. The one time it starts a program is when you press Update or Update everything: it asks
claude plugin updateto do the work, and that downloads from the sources each add-on names. Usage counts, the Assistant history and the saved copies stay on your machine. There is no tracking and no account. Asking the assistant sends a summary to the model together with your request: the names and sizes of what is installed, usage counts and limits, your config folder path, and the last few chat messages. It can also open pages when you ask it to look something up, such as a repository you want checked. - What it writes.
settings.json(add-on switches and skill modes, only the keys it changes, in the file's own formatting) and its own folder~/.claude/pitwall/snapshots/(plain copies ofsettings.json,CLAUDE.md,plugins/installed_plugins.jsonandplugins/known_marketplaces.json, so anyone who can read your home folder can read them; delete the folder whenever you like). IfCLAUDE_CONFIG_DIRis set, that folder is used instead of~/.claude. Usage counts and the Assistant history live in the plugin's own store. - Add-on switches change one key,
enabledPlugins, in your usersettings.json. If a project or local setting says otherwise, Pitwall tells you instead of claiming a change that does not hold. - Links are plain https addresses. The repository link in a
?panel comes from the add-on's own description. Pitwall shows it only if it is an ordinaryhttpsaddress with plain ASCII letters, no password and no odd characters. - Undo is exact, and says what it does not cover. A switch Pitwall made is undone key by key in the file as it is now, so edits you made since survive. A run of the assistant restores the files from before it, unless you edited one afterwards (it is then left alone and named). Undo walks back one change at a time. Not covered: connections (
~/.claude.jsonholds credentials, so it is never copied), add-on files (an uninstalled add-on cannot be brought back, and an update cannot be rolled back),settings.local.jsonand project settings, automations and skill files, and any file a run creates. Undo waits while the assistant is still working, for up to fifteen minutes. - No copy, no change. A change that would write is refused if the copy cannot be saved.
- Every tool call is checked before it runs (
src/guard.ts, covered by tests). Shell commands run from an allowlist (file listing and search,cp,mv,mkdir,touch,rmwithout recursion, read-onlygitandgh,git cloneinto the temp folder,claude pluginandclaude mcp). Anything that writes must name an absolute path under~/.claudeor the temp folder. No interpreters (python,node,bash -c), no variables, substitutions, heredocs or background jobs, no recursive deletes, nogit push, no package installers. Reads of keys, tokens, browser data and~/.claude.jsonare refused. Web fetches are plain https pages only. A refusal is explained in the Assistant tab. - Code needs your go. Installing, updating or removing an add-on, adding or updating a source, adding or removing a connection, and writing into
hooks,plugins,skills,agentsorcommandsare refused until you answer the assistant's proposal with "go" (the Go ahead button sends it). The go applies to the next run only.settings.jsonis changed with small edits, and a key that runs code or widens permissions (hooks,mcpServers,env,permissions,statusLine) needs the same go. The saved copies in~/.claude/pitwallcannot be edited at all. The Update buttons are your own press, so they need no further go. - That guard is defense in depth, not a sandbox. It works on the text of a call, and a determined prompt injection may find a phrasing it did not foresee. A go also covers what the approved run does next, so read what you approve, and treat a third-party README as untrusted text, the same as everywhere else.
How it is built
A mod is a plugin of function hooks, written in TypeScript. Pitwall draws with Claude Code's own elements and theme colors, so it follows your light or dark theme and looks like the rest of the app. The code is small on purpose:
hooks/register.tsx every effect, in one controller
src/ everything that can be decided from plain data, with tests (the set a tool belongs to included)
src/views/ the line and the five tabs, as pure drawings
src/i18n/ the words, one file per language
agents/ the assistant's brief
catalog/ checked add-ons
scripts/ screenshots, the demo, consistency checks
Mods may not pass the engine handle $ to a function, so effects live in one file and decisions live in tested pure modules. CONTRIBUTING.md explains the rule, how to run the tests and how to add a language.
Limits
- Mods are an early Claude Code feature. A new Claude Code release can change the mod API; CI runs the tests against the latest build, so a break shows up here first.
- Pitwall reads sizes from Claude Code's own usage report, which are estimates. Where there is no number, Pitwall shows none. An add-on that is off shows what it took the last time Pitwall saw it on.
- It edits
skillOverridesfor skills in~/.claude/skills. A skill that comes from an add-on is switched by switching the add-on. Skills you copied by hand have no source, so they cannot be updated. - Add-ons are switched in your user settings. A project or local setting can override that; Pitwall says so, and you change it in that project.
- The assistant cannot be interrupted. Stop waiting stops listening for its answer, a new request waits for the old one to finish, and Undo reverts what it changed.
- The saved copies are never pruned, because a mod cannot delete files. They are usually a few kilobytes each (as large as your
CLAUDE.md).
Contributing
Issues and pull requests are welcome. Read CONTRIBUTING.md first. To add to the catalog, open an issue with the repository link and say what you checked. A translation is one file in src/i18n/.
Support
Pitwall is free, under Apache 2.0, and nothing in it is paywalled or ever will be. If it saved you time and you want to say thanks anyway, there is a Ko-fi.
<div align="center"> <a href="https://ko-fi.com/rlpb_"><img src="https://ko-fi.com/img/githubbutton_sm.svg" alt="Support this project on Ko-fi" height="36"></a> </div>License
Apache 2.0. See LICENSE and NOTICE.
You can use, change and redistribute Pitwall, including commercially. What the license asks in return is that the copyright notice, the license and the NOTICE file travel with it, and that you say what you changed.
