NextFloor
A 3D floor plan for Home Assistant: draw your home in the built-in editor and control it in a neon 3D view. Try it in your browser.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Long-term memory for Claude Code that follows you to Codex, Cursor and your other machines: recall before every prompt, capture after every turn, a skill and Ambient Memory (Pro). By Atlaso, the AI memory layer.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Claude Code forgets everything the moment a session ends. Atlaso remembers — it recalls your decisions, conventions, and context before every prompt and captures what's new after every turn. Fully automatic; nothing to type.
Claude Code remembers a project with CLAUDE.md and its own auto memory, and both stay on one machine and inside Claude Code. This connector gives Claude Code a memory that also shows up in Codex, Cursor and your other tools, and on your other computers on Pro: the decisions behind the code, your conventions beyond CLAUDE.md, where you left off, and how you like to work. Recall runs before every prompt and capture after every turn; you never type "remember this". Free covers one device and one active tool. How it works · Docs
/plugin marketplace add atlaso-labs/claude-code
/plugin install atlaso@atlaso
What you get
Links: Why Atlaso for Claude Code · Setup guide · What is an AI memory layer? · Dashboard
The Claude Code connector for Atlaso memory. Lives under platform/tools/<tool>/
— one folder per tool we support (Claude Code first, then Claude Desktop, Codex, …).
It's deliberately thin: every hook just calls the tool-agnostic core
(platform/client → atlaso_client.Client). Nothing smart lives here; the engine
stays on the server.
Claude Code's event names are fixed; we brand our side (script names + the block we inject). Each hook → one Atlaso action:
| Atlaso hook | Claude Code event | What it does |
|---|---|---|
recall (hooks/recall.sh) | UserPromptSubmit | Inject recalled memory before each prompt. Synchronous, fast. |
capture (hooks/capture.sh) | Stop | Save the just-finished exchange. Instant local write (no network), synced later. |
start (hooks/start.sh) | SessionStart | Inject eligible personal + current-project Ambient Memory, then sync in the background. |
end (hooks/end.sh) | SessionEnd | Flush this session's memories up + pull new ones. Detached. |
Injected block (no instructions — the model decides how to use it):
=== Atlaso Memory ===
- recalled note
- recalled note
=== Atlaso Memory ===
Hooks fail open: a missing interpreter or any error → silent no-op, the turn proceeds. A light commodity filter skips trivial acks ("ok", "thanks") on capture; the real "worth keeping" gate runs server-side.
tools/claude-code/
hooks/ recall.sh · capture.sh · start.sh · end.sh (shims)
atlaso_cc/ recall.py · capture.py · sync.py · transcript.py · _shim.py
tests/ test_recall · test_capture · test_transcript
Later: .mcp.json (active memory tools), a SKILL.md, and a plugin.json to
bundle all of it as the installable atlaso plugin.
Hooks resolve the SDK venv (it has httpx) and the atlaso_client package by
relative path. Run the tests:
cd platform/tools/claude-code
PYTHONPATH=".:../../client" ../../sdk/.venv/bin/python -m pytest tests -q
Manual end-to-end (offline, throwaway dir):
export ATLASO_GLOBAL_PATH=/tmp/atlaso-hooktest # redirects auth + cache here
printf '{"type":"user","message":{"content":"always use pnpm not npm"}}\n' > /tmp/t.jsonl
echo '{"transcript_path":"/tmp/t.jsonl"}' | ./hooks/capture.sh
echo '{"prompt":"which package manager"}' | ./hooks/recall.sh # → injects the block
ATLASO_DEBUG=1 writes per-hook logs to <atlaso dir>/atlaso-*.log.
When enabled on an eligible plan, the start hook requests a brief for this tool and the host event's project directory. Personal context can accompany the current project's context. Missing or untrustworthy project identity requests personal context only. A first session can receive a brief without a local cache. Each session validates the current server policy; disabled, offline, rejected, or incompatible responses inject no Ambient Memory. Reopening after recovery retries automatically. Per-turn recall remains a separate feature.
The Python start path has a three-second budget on POSIX; the host hook manifest sets a five-second timeout, including runtime startup. The latter is also the Windows bound. First-time runtime installation can exceed that budget and yield no brief until dependencies are available. These source changes require publishing the rebuilt plugin and updating the installed version; a source checkout alone does not update a user's plugin. Host versions must actually execute SessionStart.