interlatch 0.23.3__tar.gz → 0.23.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {interlatch-0.23.3 → interlatch-0.23.4}/CHANGELOG.md +13 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/PKG-INFO +4 -3
- {interlatch-0.23.3 → interlatch-0.23.4}/README.ja.md +3 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/README.md +3 -2
- interlatch-0.23.4/changelog.d/codex-cloud-error-log.md +2 -0
- interlatch-0.23.4/changelog.d/friction-order.md +2 -0
- interlatch-0.23.4/changelog.d/project-needs-you.md +4 -0
- interlatch-0.23.4/changelog.d/project-page.md +5 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/README.md +1 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/dashboard.md +40 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/development.md +25 -3
- interlatch-0.23.4/docs/faq.md +124 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/README.md +1 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/dashboard.md +37 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/development.md +26 -3
- interlatch-0.23.4/docs/ja/faq.md +119 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/privacy.md +4 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/privacy.md +4 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/mkdocs.yml +2 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/runners/base.py +3 -3
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/runners/bob.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/runners/claude.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/runners/codex.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/runners/factory.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/application/records.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/application/search.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/config.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/util.py +0 -6
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/ingestion/archive.py +2 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/ingestion/service.py +2 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/cli/commands/setup.py +1 -1
- interlatch-0.23.4/src/interlatch/interfaces/web/__init__.py +3 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/__init__.py +18 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/artifacts.py +55 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/common.py +141 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/devices.py +235 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/hub_admin.py +222 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/knowledge.py +312 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/leaderboard.py +80 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/projects.py +305 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/sessions.py +211 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/settings.py +204 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/sources.py +111 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/status.py +330 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/storage.py +116 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/api/team.py +144 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/app.py +80 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/assets.py +37 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/context.py +45 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/handler.py +519 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/jobs.py +51 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/routes.py +372 -0
- interlatch-0.23.4/src/interlatch/interfaces/web/server.py +106 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/knowledge/cases.py +2 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/knowledge/friction.py +5 -3
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/knowledge/glossary.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/knowledge/synthesize.py +2 -2
- interlatch-0.23.4/src/interlatch/projects/__init__.py +2 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/projects/groups.py +1 -1
- interlatch-0.23.4/src/interlatch/projects/progress.py +315 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/projects/systems.py +0 -4
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/container.py +2 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/hooks.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/platforms/desktop.py +2 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/platforms/menubar.py +7 -5
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/platforms/windows.py +3 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sharing/access.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sharing/leaderboard.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sharing/news.py +5 -5
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sharing/people.py +2 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sharing/receiver.py +4 -4
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/builder.py +2 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/claude/parser.py +3 -3
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/codex/cloud.py +3 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/codex/parser.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/copilot.py +0 -5
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/storage/postgres.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/storage/schema.py +3 -3
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/storage/team.py +2 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/app.css +67 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/app.js +205 -20
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/ja.js +66 -1
- interlatch-0.23.4/tests/test_architecture.py +165 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_artifacts.py +16 -13
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_bob_analysis.py +9 -8
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_case_files.py +6 -5
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_cases.py +3 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_chat_import.py +2 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_codex_analysis.py +6 -5
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_codex_cloud.py +19 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_container.py +2 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_desktop.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_diagram.py +2 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_ee_boundary.py +4 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_friction.py +39 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_glossary.py +5 -4
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_group_sharing.py +15 -13
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_home_agents.py +3 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_hub.py +2 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_hub_projects_listed.py +11 -9
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_integration.py +30 -29
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_language.py +5 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_learning_glance.py +3 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_leave_project.py +2 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_map_goldens.py +2 -2
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_menubar.py +5 -3
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_migrate.py +1 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_project_groups.py +13 -12
- interlatch-0.23.4/tests/test_project_progress.py +249 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_providers.py +18 -16
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_queue.py +8 -7
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_route_matrix.py +33 -14
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_screen.py +2 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_security.py +6 -6
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_statusline.py +5 -4
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_suggest_cli.py +2 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_systems.py +2 -1
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_team.py +7 -6
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_update.py +7 -6
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_windows.py +10 -9
- interlatch-0.23.3/changelog.d/gemini-prices.md +0 -3
- interlatch-0.23.3/changelog.d/home-agents.md +0 -4
- interlatch-0.23.3/changelog.d/python-package.md +0 -3
- interlatch-0.23.3/src/interlatch/projects/__init__.py +0 -2
- interlatch-0.23.3/src/interlatch/server.py +0 -3210
- {interlatch-0.23.3 → interlatch-0.23.4}/.github/dependabot.yml +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/.github/workflows/changelog.yml +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/.github/workflows/ci.yml +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/.github/workflows/docs.yml +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/.github/workflows/release.yml +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/.gitignore +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/.pre-commit-config.yaml +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/.python-version +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/CONTRIBUTING.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/LICENSE +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/ROADMAP.ja.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/ROADMAP.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/SECURITY.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/changelog.d/README.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/dev.sh +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docker/.dockerignore +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docker/.env.example +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docker/Caddyfile +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docker/Dockerfile +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docker/compose.yaml +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docker/wheels/.gitignore +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/_site/hooks.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/analysis.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/cli.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/configuration.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/demo/make_demo.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/demo/record_demo.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/design/ja/learning.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/design/learning.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/devices.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/diagrams/analysis.excalidraw.svg +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/diagrams/architecture.excalidraw.svg +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/docker.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/images/demo.gif +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/images/home.png +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/images/map.png +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/images/palette.png +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/images/session.png +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/install.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/analysis.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/cli.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/configuration.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/devices.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/docker.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/install.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/join-a-hub.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/mcp.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/moving-from-chronicle.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/postgres.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/sources.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/suggestions.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/troubleshooting.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/ja/vscode.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/join-a-hub.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/mcp.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/moving-from-chronicle.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/postgres.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/sources.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/suggestions.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/troubleshooting.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/docs/vscode.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/leaderboard/.firebaserc +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/leaderboard/.gitignore +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/leaderboard/README.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/leaderboard/firebase.json +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/leaderboard/firestore.indexes.json +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/leaderboard/firestore.rules +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/icons3d/README.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/icons3d/art.json +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/icons3d/filing.html +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/icons3d/loops.json +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/icons3d/loops.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/icons3d/members.js +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/icons3d/render.html +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/icons3d/render.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/icons3d/scenes-more.js +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/icons3d/scenes.html +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/macos/Chronicle.icns +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/macos/Interlatch.spec +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/macos/build.sh +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/macos/entitlements.plist +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/macos/icon-3d.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/macos/icon-blueprint-prompt.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/macos/icon-blueprint.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/macos/icon.png +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/macos/interlatch_app.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/macos/make_icon.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/packaging/release.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/pyproject.toml +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/chronicle/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/chronicle/__main__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/chronicle/windows.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/__main__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/digest.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/language.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/queue.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/runners/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/runners/api.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/runners/process.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/runners/replies.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/runners/settings.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/screen.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/session.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/analysis/worker.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/application/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/application/workflows.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/artifacts/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/artifacts/files.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/artifacts/queries.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/cli.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/agents.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/artifact_records.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/diagrams.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/i18n/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/i18n/ja.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/machine.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/paths.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/pricing.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/process.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/redact.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/core/sessions.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/ingestion/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/ingestion/analyses.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/ingestion/chat_import.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/ingestion/deletion.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/ingestion/history.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/ingestion/memory.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/ingestion/persistence.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/ingestion/report.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/cli/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/cli/commands/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/cli/commands/archive.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/cli/commands/knowledge.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/cli/commands/operations.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/cli/commands/recording.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/cli/commands/sharing.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/cli/common.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/cli/main.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/cli/parser.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/exports/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/exports/diagrams.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/exports/markdown.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/exports/sessions.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/exports/vault.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/interfaces/mcp.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/knowledge/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/knowledge/instructions.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/knowledge/ladder.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/knowledge/learning.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/knowledge/reviews.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/knowledge/suggest.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/projects/labels.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/projects/routing.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/connectors.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/install.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/migrate.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/notify.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/platforms/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/statusline.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/tailnet.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/runtime/update.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sharing/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sharing/client.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sharing/identity.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sharing/projects.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sharing/protocol.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sharing/pull.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sharing/push.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/antigravity.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/bob.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/chatgpt.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/chats.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/claude/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/claude/export.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/claude/files.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/codex/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/discovery.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/sources/prompts.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/storage/__init__.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/storage/fts.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/storage/kv.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/storage/migrations.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/storage/mirror.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/storage/sqlite.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/AGENT-ICONS.txt +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/PLEX-OFL.txt +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/agent-antigravity.svg +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/agent-bob.svg +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/agent-chatgpt.svg +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/agent-claude-ai.svg +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/agent-claude.svg +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/agent-codex.svg +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/agent-copilot.svg +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-book.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-camera.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-chip.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-clock.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-cloud.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-coins.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-container.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-dashboard.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-dex.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-document.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-flag.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-folder.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-gateway.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-gears.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-glitch.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-globe.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-laptop.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-log.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-lumi.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-magnifier.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-pip.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-plug.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-rack.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/art-tink.webp +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/boot.js +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/favicon.png +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/i18n.js +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/icon-180.png +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/icon-192.png +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/icon-512.png +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/icon.png +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/index.html +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/learning.js +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/manifest.webmanifest +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/panel.css +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/panel.html +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/panel.js +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/plex-mono-400.woff2 +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/plex-mono-500.woff2 +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/plex-mono-600.woff2 +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/plex-sans-400.woff2 +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/plex-sans-500.woff2 +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/plex-sans-600.woff2 +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/plex-sans-700.woff2 +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/web/rough.js +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/src/interlatch/windows.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/antigravity_fixture.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/codex_fixture.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/conftest.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/copilot_fixture.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/friction_fixture.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/golden.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/goldens/cli.json +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/goldens/diagram.json +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/goldens/parsers/antigravity.json +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/goldens/parsers/bob.json +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/goldens/parsers/claude_code.json +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/goldens/parsers/codex.json +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/goldens/parsers/copilot.json +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/goldens/systems.json +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_analysis.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_antigravity.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_boot_web.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_cli_pins.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_codex.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_copilot_bob.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_dedicated_hub.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_dedupe.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_hub_accept.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_hub_news.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_hub_projects.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_hub_purge.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_hub_sharing_race.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_i18n_web.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_ingest.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_instructions.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_ladder.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_leaderboard.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_learning_interests.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_learning_web.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_legacy_package.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_mirror.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_notify.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_parser.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_parser_goldens.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_people.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_people_hub.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_people_web.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_regressions.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_release.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_setup.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_suggest.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/test_team_home.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/tests/windows_smoke.py +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/uv.lock +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/vscode-extension/.vscodeignore +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/vscode-extension/LICENSE +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/vscode-extension/README.md +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/vscode-extension/extension.js +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/vscode-extension/media/icon.png +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/vscode-extension/media/interlatch.svg +0 -0
- {interlatch-0.23.3 → interlatch-0.23.4}/vscode-extension/package.json +0 -0
|
@@ -3,6 +3,19 @@
|
|
|
3
3
|
<!-- Don't add lines here: a pull request puts its line in a new file in changelog.d/ (see changelog.d/README.md),
|
|
4
4
|
and each release moves the files it took into a dated section below. -->
|
|
5
5
|
|
|
6
|
+
## 0.23.3 (2026-10-14)
|
|
7
|
+
|
|
8
|
+
- **`python -m interlatch`:** Interlatch's Python package is now `interlatch` too, so it runs as `python -m interlatch`.
|
|
9
|
+
Hooks, background tasks and MCP servers set up with `python -m chronicle` keep working, as does the `chronicle`
|
|
10
|
+
command.
|
|
11
|
+
- **Agents on Home:** a table with one row per coding agent: whether it is connected (or imported, or has issues),
|
|
12
|
+
when it was last used, and its sessions, active time, prompts, tool calls, lines changed, tokens, est. cost and
|
|
13
|
+
knowledge for the period, each with an inline bar. A dash marks what an agent doesn't record (a ChatGPT export has
|
|
14
|
+
no tokens); click a row to see only that agent, or its status to open it in **Sources**.
|
|
15
|
+
- **Gemini costs:** Google Antigravity sessions, and GitHub Copilot sessions on Gemini models, now show an estimated
|
|
16
|
+
cost at Google's Gemini API list prices instead of $0 ([Sources](docs/sources.md)). The next sync re-prices the
|
|
17
|
+
sessions already recorded. Analysis through an OpenAI-compatible provider on a Gemini model is priced the same way.
|
|
18
|
+
|
|
6
19
|
## 0.23.2 (2026-10-14)
|
|
7
20
|
|
|
8
21
|
- **Hub computers stay with admins:** on a hub with people, a member or read-only person no longer receives the hub's
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: interlatch
|
|
3
|
-
Version: 0.23.
|
|
3
|
+
Version: 0.23.4
|
|
4
4
|
Summary: Shared memory for your coding agents: records every session (Claude Code, Codex, Copilot, Bob, Antigravity) locally and keeps what they learned, each lesson linked to the session it came from.
|
|
5
5
|
Project-URL: Homepage, https://interlatch.com
|
|
6
6
|
Project-URL: Documentation, https://interlatch.com/docs/
|
|
@@ -201,7 +201,8 @@ team's hub also runs [in Docker](https://github.com/Chatixia-AI/interlatch/blob/
|
|
|
201
201
|
**How do I remove it?** `interlatch uninstall` removes the hooks, background agents and MCP registrations and keeps
|
|
202
202
|
your data; add `--purge` to delete the data too.
|
|
203
203
|
|
|
204
|
-
|
|
204
|
+
More questions, on privacy, cost, teams and updating, are answered in the [FAQ](https://github.com/Chatixia-AI/interlatch/blob/main/docs/faq.md). Something not
|
|
205
|
+
working? See [Troubleshooting](https://github.com/Chatixia-AI/interlatch/blob/main/docs/troubleshooting.md).
|
|
205
206
|
|
|
206
207
|
## Documentation
|
|
207
208
|
|
|
@@ -211,7 +212,7 @@ Something not working? See [Troubleshooting](https://github.com/Chatixia-AI/inte
|
|
|
211
212
|
[Joining your team's hub](https://github.com/Chatixia-AI/interlatch/blob/main/docs/join-a-hub.md) · [A copy in Postgres](https://github.com/Chatixia-AI/interlatch/blob/main/docs/postgres.md) ·
|
|
212
213
|
[What gets recorded and how analysis works](https://github.com/Chatixia-AI/interlatch/blob/main/docs/analysis.md) ·
|
|
213
214
|
[Configuration](https://github.com/Chatixia-AI/interlatch/blob/main/docs/configuration.md) · [Data and privacy](https://github.com/Chatixia-AI/interlatch/blob/main/docs/privacy.md) ·
|
|
214
|
-
[Troubleshooting](https://github.com/Chatixia-AI/interlatch/blob/main/docs/troubleshooting.md) · [Moving from Chronicle](https://github.com/Chatixia-AI/interlatch/blob/main/docs/moving-from-chronicle.md) ·
|
|
215
|
+
[FAQ](https://github.com/Chatixia-AI/interlatch/blob/main/docs/faq.md) · [Troubleshooting](https://github.com/Chatixia-AI/interlatch/blob/main/docs/troubleshooting.md) · [Moving from Chronicle](https://github.com/Chatixia-AI/interlatch/blob/main/docs/moving-from-chronicle.md) ·
|
|
215
216
|
[Development](https://github.com/Chatixia-AI/interlatch/blob/main/docs/development.md)
|
|
216
217
|
|
|
217
218
|
## Contributing
|
|
@@ -164,7 +164,8 @@ Windows のコンピューターからのチームのハブへの参加はまだ
|
|
|
164
164
|
**削除するには?** `interlatch uninstall` でフック、バックグラウンドのエージェント、MCP の登録を削除します(データは残ります)。
|
|
165
165
|
データも消すには `--purge` を付けます。
|
|
166
166
|
|
|
167
|
-
|
|
167
|
+
プライバシー、費用、チーム、アップデートなど、ほかの質問は[よくある質問](docs/ja/faq.md)にあります。うまく動かないときは
|
|
168
|
+
[トラブルシューティング](docs/ja/troubleshooting.md)を参照してください。
|
|
168
169
|
|
|
169
170
|
## ドキュメント
|
|
170
171
|
|
|
@@ -173,7 +174,7 @@ Windows のコンピューターからのチームのハブへの参加はまだ
|
|
|
173
174
|
[スマートフォンとほかのコンピューター](docs/ja/devices.md) · [Docker でハブを動かす](docs/ja/docker.md) ·
|
|
174
175
|
[チームのハブに参加する](docs/ja/join-a-hub.md) · [Postgres へのコピー](docs/ja/postgres.md) ·
|
|
175
176
|
[記録内容と分析の仕組み](docs/ja/analysis.md) · [設定](docs/ja/configuration.md) ·
|
|
176
|
-
[データとプライバシー](docs/ja/privacy.md) · [トラブルシューティング](docs/ja/troubleshooting.md) ·
|
|
177
|
+
[データとプライバシー](docs/ja/privacy.md) · [よくある質問](docs/ja/faq.md) · [トラブルシューティング](docs/ja/troubleshooting.md) ·
|
|
177
178
|
[Chronicle からの移行](docs/ja/moving-from-chronicle.md) · [開発](docs/ja/development.md)
|
|
178
179
|
|
|
179
180
|
## コントリビュート
|
|
@@ -166,7 +166,8 @@ team's hub also runs [in Docker](docs/docker.md).
|
|
|
166
166
|
**How do I remove it?** `interlatch uninstall` removes the hooks, background agents and MCP registrations and keeps
|
|
167
167
|
your data; add `--purge` to delete the data too.
|
|
168
168
|
|
|
169
|
-
|
|
169
|
+
More questions, on privacy, cost, teams and updating, are answered in the [FAQ](docs/faq.md). Something not
|
|
170
|
+
working? See [Troubleshooting](docs/troubleshooting.md).
|
|
170
171
|
|
|
171
172
|
## Documentation
|
|
172
173
|
|
|
@@ -176,7 +177,7 @@ Something not working? See [Troubleshooting](docs/troubleshooting.md).
|
|
|
176
177
|
[Joining your team's hub](docs/join-a-hub.md) · [A copy in Postgres](docs/postgres.md) ·
|
|
177
178
|
[What gets recorded and how analysis works](docs/analysis.md) ·
|
|
178
179
|
[Configuration](docs/configuration.md) · [Data and privacy](docs/privacy.md) ·
|
|
179
|
-
[Troubleshooting](docs/troubleshooting.md) · [Moving from Chronicle](docs/moving-from-chronicle.md) ·
|
|
180
|
+
[FAQ](docs/faq.md) · [Troubleshooting](docs/troubleshooting.md) · [Moving from Chronicle](docs/moving-from-chronicle.md) ·
|
|
180
181
|
[Development](docs/development.md)
|
|
181
182
|
|
|
182
183
|
## Contributing
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
- **What needs you, and where the project is going:** a project's page now starts with **Needs you**: changes not
|
|
2
|
+
committed and commits on no remote, each with how long it has waited, and the decisions and open questions the last
|
|
3
|
+
sessions left to you (amber after two days). Beside it, the project's own `ROADMAP.md`, `BACKLOG.md` or `TODO.md`
|
|
4
|
+
by section, or else a backlog of its to-do items and open threads ([A project's page](docs/dashboard.md#a-projects-page)).
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
- **A project's page tells you where you left off:** it opens on the last session's goal and what it left open, the
|
|
2
|
+
sessions before it, the project folder's git state (branch, uncommitted changes, last commit, other worktrees) and
|
|
3
|
+
the work week by week with the pull requests and commits it made. The knowledge base, lessons, sessions, artifacts
|
|
4
|
+
and usage numbers move into tabs. On a hub with people it shows whose each session is
|
|
5
|
+
([A project's page](docs/dashboard.md#a-projects-page)).
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
| [What gets recorded and how analysis works](analysis.md) | Session data, knowledge kinds, the analysis pipeline and its cost |
|
|
19
19
|
| [Configuration](configuration.md) | Every `config.toml` setting |
|
|
20
20
|
| [Data and privacy](privacy.md) | What is stored where, and what leaves your machine |
|
|
21
|
+
| [FAQ](faq.md) | Short answers to the questions people ask most: privacy, cost, agents, teams, updating |
|
|
21
22
|
| [Troubleshooting](troubleshooting.md) | Known issues and common problems |
|
|
22
23
|
| [Moving from Chronicle](moving-from-chronicle.md) | Interlatch was called Chronicle: what moves by itself when you update, and what keeps working |
|
|
23
24
|
| [Development](development.md) | Tests, building the app, releasing, demo data, code layout |
|
|
@@ -75,7 +75,7 @@ until a full prior period exists to compare against; an **Agents** table with ea
|
|
|
75
75
|
it was last used and its numbers for the period as inline bars, a dash where an agent doesn't record a metric (a chat
|
|
76
76
|
export has no tokens or cost), and a click on a row filtering Home to that agent; daily chart with a 7-day average;
|
|
77
77
|
outcome breakdown; activity calendar with streaks; busiest hour; projects, tools with failed calls and models), a sortable, filterable
|
|
78
|
-
session list, project cards with 12 weeks of activity (in [your own groups](#project-groups)), the [Systems map](#systems-map), session pages (headline figures, the summary and the knowledge
|
|
78
|
+
session list, project cards with 12 weeks of activity (in [your own groups](#project-groups)), [project pages](#a-projects-page), the [Systems map](#systems-map), session pages (headline figures, the summary and the knowledge
|
|
79
79
|
it produced up top, then **Details**, where a session opens: goal, highlights, open threads, the knowledge items,
|
|
80
80
|
context-window chart with compactions, tools, files, subagents, and the [artifacts](#artifacts) the session made; or
|
|
81
81
|
**Transcript**, where a search result opens: the conversation with one-line tool calls that expand to their input and
|
|
@@ -96,6 +96,45 @@ there with the terms still marked. Glossary
|
|
|
96
96
|
terms are underlined wherever they appear (transcripts, knowledge, summaries): hover for the definition, click for
|
|
97
97
|
the entry. Every chart has a table view; light and dark themes.
|
|
98
98
|
|
|
99
|
+
## A project's page
|
|
100
|
+
|
|
101
|
+
A project's page is for coming back to a project. Under its name: whether it is **Active** (a session in the last
|
|
102
|
+
week), **Quiet** (in the last month) or **Dormant**, when the last session was, and its sessions, active time, tokens
|
|
103
|
+
and estimated API cost. Below that, the overview from its knowledge base says what the project is.
|
|
104
|
+
|
|
105
|
+
**Overview** shows where things stand, read from your sessions and git, with nothing written by a model:
|
|
106
|
+
|
|
107
|
+
- **Needs you,** shown only when something waits:
|
|
108
|
+
- **Not saved in git yet:** tracked files changed but not committed, with the date of the oldest edit, and commits
|
|
109
|
+
on no remote branch, with the oldest one's date (none counted in a repository without remotes). New, untracked
|
|
110
|
+
files are only counted, since build output and scratch files stay there for good.
|
|
111
|
+
- **Decisions and open questions:** what the last three analyzed sessions left open that waits on a person (a
|
|
112
|
+
decision, an approval, an answer), picked by how the session's analysis worded it, so check it before acting.
|
|
113
|
+
- Anything waiting more than two days turns amber. Nothing turns red.
|
|
114
|
+
- **Roadmap:** when the folder, or its repository's root, has a `ROADMAP.md`, `BACKLOG.md`, `TODO.md` or `TODOS.md`
|
|
115
|
+
(there or in `docs/`, in any case): its first three `##` sections with their items (each top-level bullet by its
|
|
116
|
+
bold lead or first words, or else its `###` headings), how many checkboxes are open and done, and when the file was
|
|
117
|
+
last committed. Without one, **Backlog** lists the project's to-do items (**Done** dismisses one) and the knowledge
|
|
118
|
+
base's open threads, as of its last update.
|
|
119
|
+
- **Where you left off:** the last session's goal, how it ended and what it left open, then the four sessions before
|
|
120
|
+
it, each opening to its own goal and open threads. These are what each session left open when it ended: a later
|
|
121
|
+
session, or work you did outside one, may have dealt with them since.
|
|
122
|
+
- **The folder now:** the folder's git branch and how far it is from its upstream, how many changes aren't committed,
|
|
123
|
+
the last commit and the repository's other worktrees. It shows only in a browser on the computer the folder is on.
|
|
124
|
+
Git only reads: it takes no lock, and the repository's own hooks and fsmonitor don't run.
|
|
125
|
+
- **Week by week:** each week with sessions, newest first, with its sessions and their outcomes, the pull requests
|
|
126
|
+
they opened and the commits they made (each counted once), and the quiet weeks between marked.
|
|
127
|
+
|
|
128
|
+
The other tabs hold the rest: **Working here** (the knowledge base, its [architecture sketch](#architecture-sketch)
|
|
129
|
+
and the glossary), **Knowledge**, **Sessions**, **Artifacts** and **Usage** (the totals and the most edited files).
|
|
130
|
+
The tab you pick stays in the address, so a link or a reload opens it again.
|
|
131
|
+
|
|
132
|
+
The git rows and the roadmap file are read only in a browser on the computer the folder is on. On a hub with people,
|
|
133
|
+
the cards are **Needs attention** and **Where the team left off**, and each session shows whose it is. Pull requests come
|
|
134
|
+
from the transcripts computers send (`share = "everything"`), or from the links a session lists when a computer shares
|
|
135
|
+
knowledge; commits only from transcripts. Someone limited to some projects sees the sessions, not their pull requests,
|
|
136
|
+
as on a session's page.
|
|
137
|
+
|
|
99
138
|
## Project groups
|
|
100
139
|
|
|
101
140
|
Put related projects under one heading, such as **Aktio** for every Aktio repository, on the Projects page and in
|
|
@@ -146,9 +146,31 @@ which installs from before the rename still run):
|
|
|
146
146
|
- `interfaces/cli/`: the command line: `parser.py` assembles the commands, and each module in `commands/` holds a
|
|
147
147
|
group of them (recording, archive, knowledge, setup, sharing, operations), each command's options beside its code;
|
|
148
148
|
`cli.py` at the top is the entry point the `interlatch` command runs
|
|
149
|
-
- `server.py`
|
|
150
|
-
|
|
151
|
-
|
|
149
|
+
- `interfaces/web/`: the dashboard: `server.py` starts it, `handler.py` checks who asks, `routes.py` lists every route
|
|
150
|
+
with who may call it and what answers it, mostly a function in `api/`, where each page's reads and actions are
|
|
151
|
+
functions of a `Context` (the config, this request's connection, the jobs), one module per feature; `app.py` holds
|
|
152
|
+
what lives as long as the dashboard; `assets.py` serves the page from `web/`; `packaging/macos/` builds the app
|
|
153
|
+
|
|
154
|
+
Each layer imports only the ones below it: `core`, then `storage` and `sources`, then the features (`ingestion`,
|
|
155
|
+
`analysis`, `knowledge`, `projects`, `artifacts`, `sharing`), then `application`, then `interfaces`; `runtime` starts
|
|
156
|
+
the dashboard only from the modules that compose it. `tests/test_architecture.py` checks every import against this.
|
|
157
|
+
|
|
158
|
+
Where to add:
|
|
159
|
+
|
|
160
|
+
- **a source** (another coding agent or chat export): a reader in `sources/` that returns `ParsedSession`s
|
|
161
|
+
(`core/sessions.py`; `sources/builder.py` builds one for any agent that isn't Claude Code), where it keeps its files
|
|
162
|
+
in `sources/discovery.py`, its sync in `ingestion/service.py`, connecting it in `runtime/connectors.py`
|
|
163
|
+
- **an analysis backend**: a `Runner` in `analysis/runners/` (`base.py` is the contract), named in `factory.py`; a
|
|
164
|
+
model provider's API is a `Provider` in `analysis/runners/settings.py`
|
|
165
|
+
- **a dashboard endpoint**: a function of a `Context` in the feature's module in `interfaces/web/api/`, its route and
|
|
166
|
+
who may call it in `interfaces/web/routes.py`, and its row in `ROUTES` in `tests/test_route_matrix.py` (a route
|
|
167
|
+
without one fails the suite)
|
|
168
|
+
- **a command**: `add_<command>` and `cmd_<command>` in the fitting group in `interfaces/cli/commands/`, and the
|
|
169
|
+
command in `COMMANDS` in `interfaces/cli/parser.py`, whose order is `interlatch --help`'s; `tests/goldens/cli.json`
|
|
170
|
+
pins it (rerun with `UPDATE_GOLDENS=1`)
|
|
171
|
+
- **an MCP tool**: `TOOLS` in `interfaces/mcp.py`
|
|
172
|
+
|
|
173
|
+
The dashboard page runs under a Content-Security-Policy (`PAGE_CSP` in `interfaces/web/assets.py`) that allows scripts and styles
|
|
152
174
|
from its own files only. Add no inline `<script>` or `on…=` attribute to `index.html`, and give `h()` a style as an
|
|
153
175
|
object (`style: { "--h": "40px" }`), never a string: a string becomes a style attribute the policy refuses.
|
|
154
176
|
`tests/test_security.py` checks both.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# FAQ
|
|
2
|
+
|
|
3
|
+
[← Interlatch](../README.md) · [Docs index](README.md)
|
|
4
|
+
|
|
5
|
+
Short answers to the questions people ask most, each linking to the page with the details. Something not working?
|
|
6
|
+
See [Troubleshooting](troubleshooting.md).
|
|
7
|
+
|
|
8
|
+
## Getting started
|
|
9
|
+
|
|
10
|
+
**What does Interlatch do that my agent's own memory doesn't?** An agent's memory (`CLAUDE.md`, `AGENTS.md`, its
|
|
11
|
+
memory notes) is what you or that agent wrote down, for that agent. Interlatch records every session from every agent
|
|
12
|
+
you use, keeps the transcripts after Claude Code deletes them (at 30 days), pulls out what was learned with a link to
|
|
13
|
+
the session it came from, and gives it to all your agents through one [MCP server](mcp.md). It can also propose
|
|
14
|
+
lines for your instruction files, which it writes only when you approve them ([Suggestions](suggestions.md)).
|
|
15
|
+
|
|
16
|
+
**Which agents does it record?** Claude Code, Codex, Codex Cloud, GitHub Copilot (the CLI and Copilot Chat in VS
|
|
17
|
+
Code), IBM Bob and Google Antigravity, plus chats you import from claude.ai and ChatGPT ([Sources](sources.md)).
|
|
18
|
+
Claude Desktop, Cursor, Windsurf and Gemini CLI aren't recorded, but they can use Interlatch's tools
|
|
19
|
+
([MCP server](mcp.md#connecting-a-client)).
|
|
20
|
+
|
|
21
|
+
**Do I need Claude Code?** No. Analysis runs through Claude Code, Codex or IBM Bob, or a model provider's API with
|
|
22
|
+
your own key: Anthropic, Amazon Bedrock, OpenAI, Azure OpenAI, OpenRouter, any OpenAI-compatible server, or Ollama on
|
|
23
|
+
your own computer. Pick one in **Status › Analysis** or with `interlatch config set analysis.backend <name>`
|
|
24
|
+
([Model providers](analysis.md#model-providers)). Recording and browsing work either way; with none set up, sessions
|
|
25
|
+
are archived and wait in the analysis queue.
|
|
26
|
+
|
|
27
|
+
**The desktop app or the command line?** The app (Apple silicon, macOS 13+) lives in the menu bar and runs its own
|
|
28
|
+
background sync. The command-line install (`uv tool install interlatch`, then `interlatch install`) runs the sync
|
|
29
|
+
and the dashboard as background agents, and is the one for an Intel Mac, Windows or Linux. Both use the same data in
|
|
30
|
+
`~/.interlatch` and can run side by side ([Install](install.md)).
|
|
31
|
+
|
|
32
|
+
**Windows or Linux?** The desktop app is macOS only. On Windows, `uv tool install interlatch` and `interlatch install`
|
|
33
|
+
work as on a Mac, with Task Scheduler running the sync and the dashboard ([Windows](install.md#windows)); a Windows
|
|
34
|
+
computer joining a team hub is untested yet. On Linux, `interlatch install` runs the sync and the dashboard as systemd user
|
|
35
|
+
units, so a Linux box can be the [hub](devices.md#a-linux-hub) for your other computers. A team's hub also runs
|
|
36
|
+
[in Docker](docker.md).
|
|
37
|
+
|
|
38
|
+
**Will it slow down my agent?** No. The session-end hook hands off to a detached process and returns in
|
|
39
|
+
milliseconds; analysis runs later in the background.
|
|
40
|
+
|
|
41
|
+
**What about the sessions I had before installing?** `interlatch install` imports the past sessions still on disk and
|
|
42
|
+
offers to analyze them: all of them, the newest 20, or later in the background. For Claude Code sessions older than
|
|
43
|
+
30 days, whose transcripts are gone, it recovers the prompts from `~/.claude/history.jsonl`. Set
|
|
44
|
+
`analysis.backfill = false` to analyze only sessions from after the install ([Configuration](configuration.md#analysis)).
|
|
45
|
+
|
|
46
|
+
## Privacy and cost
|
|
47
|
+
|
|
48
|
+
**What leaves my machine?** Only a condensed digest of each session, with secrets redacted, sent to whatever you
|
|
49
|
+
chose for analysis, through your own login or key (with Ollama, not even that). No telemetry, and nothing goes to
|
|
50
|
+
Interlatch's authors unless you join the leaderboard (below). The update check asks pypi.org for the latest version number only when you click it, unless
|
|
51
|
+
you turn on a daily check ([Data and privacy](privacy.md)).
|
|
52
|
+
|
|
53
|
+
**What does analysis cost?** Through Claude Code or Codex, analysis draws from your Claude or ChatGPT plan like any
|
|
54
|
+
other use of the agent; Bob and model providers bill your own account, and Ollama costs nothing. With Claude, in API
|
|
55
|
+
terms it averages about $0.38 per session with Sonnet. `interlatch analyze --pending --dry-run` sizes a backlog
|
|
56
|
+
before you spend anything, and `analysis.auto = false` stops automatic analysis
|
|
57
|
+
([How analysis works](analysis.md#how-analysis-works)).
|
|
58
|
+
|
|
59
|
+
**Does it change my `CLAUDE.md` or `AGENTS.md`?** Only when you approve a suggestion. It backs the file up first,
|
|
60
|
+
writes only inside its own block, and every change can be undone ([Suggestions](suggestions.md#what-interlatch-never-does)).
|
|
61
|
+
|
|
62
|
+
**Can I keep a project or a session out?** Add the project to `sources.exclude_projects` in the
|
|
63
|
+
[configuration](configuration.md); it is then never recorded, analyzed or sent to a hub. Remove a single session for
|
|
64
|
+
good with `interlatch forget <id>`.
|
|
65
|
+
|
|
66
|
+
**What is the leaderboard, and does it send my usage?** The **Leaderboard** page compares your hours, sessions and
|
|
67
|
+
tokens with other people's. Nothing is sent until you sign in there with Google. From then on, each sync sends your
|
|
68
|
+
totals for the last 7, 30 and 90 days, with the name and picture you show: no email, project, prompt or title.
|
|
69
|
+
`interlatch leaderboard leave` deletes your row and stops sending.
|
|
70
|
+
|
|
71
|
+
**Is it open source?** Yes, under the MIT license, the hub included. Only `ee/`, the features a company needs to roll
|
|
72
|
+
it out across teams (single sign-on, policies, audit export), is under the
|
|
73
|
+
[Interlatch Enterprise License](../ee/README.md).
|
|
74
|
+
|
|
75
|
+
## Your agents
|
|
76
|
+
|
|
77
|
+
**How do my agents use what it learned?** Through the MCP server, `interlatch mcp`, which `interlatch install`
|
|
78
|
+
registers with each agent you connect. It runs as a local process over stdio, and its tools only read your archive.
|
|
79
|
+
Ask an agent *"have we hit this error before?"* or *"how is billing-api deployed?"* ([MCP server](mcp.md)).
|
|
80
|
+
|
|
81
|
+
**Does it write in Japanese?** Set `[analysis] language = "ja"` (or pick it in **Status › Analysis**) and summaries,
|
|
82
|
+
knowledge, glossary and weekly reviews are written in Japanese from then on. The dashboard's own language is chosen
|
|
83
|
+
per browser in **Settings › Appearance** ([Language](analysis.md#language)).
|
|
84
|
+
|
|
85
|
+
**Does it read Slack?** No. Interlatch reads only what your coding agents write on your computer, and the chats you
|
|
86
|
+
import. When a session published a Slack canvas, the session's [Artifacts](dashboard.md#artifacts) keep its link.
|
|
87
|
+
|
|
88
|
+
## Several computers and teams
|
|
89
|
+
|
|
90
|
+
**Can I use it on my phone or across several computers?** Yes. One computer is the hub: it records, analyzes and
|
|
91
|
+
serves the dashboard, and your other computers send it their sessions. Your phone opens the hub's dashboard
|
|
92
|
+
([Phone and other computers](devices.md)).
|
|
93
|
+
|
|
94
|
+
**Do I need Tailscale?** No. Tailscale is the quickest way between your own devices, but a hub works just as well on
|
|
95
|
+
a company network or VPN behind an HTTPS proxy
|
|
96
|
+
([Reaching the hub without Tailscale](devices.md#reaching-the-hub-without-tailscale)).
|
|
97
|
+
|
|
98
|
+
**What do my teammates see of my sessions?** With `--share knowledge`, the hub gets each analyzed session's summary
|
|
99
|
+
and project lessons, never your prompts, transcripts or files. A computer that joins without it sends its
|
|
100
|
+
transcripts, so an admin can make the hub take knowledge only ([Joining your team's hub](join-a-hub.md#what-is-shared),
|
|
101
|
+
[A hub that takes knowledge only](devices.md#a-hub-that-takes-knowledge-only)).
|
|
102
|
+
|
|
103
|
+
**Can I sync `~/.interlatch` with Dropbox or iCloud?** No: a SQLite database copied while it is in use can be
|
|
104
|
+
corrupted. Use a hub, or sync the agents' session folders with Syncthing instead
|
|
105
|
+
([Without a hub](devices.md#without-a-hub-syncthing)).
|
|
106
|
+
|
|
107
|
+
**Can I keep my data in Postgres?** Interlatch keeps its own database in SQLite and can keep a copy of it in a
|
|
108
|
+
Postgres database you choose, for SQL and BI tools ([A copy in Postgres](postgres.md)).
|
|
109
|
+
|
|
110
|
+
## Updating and removing
|
|
111
|
+
|
|
112
|
+
**How do I update?** **Settings › Status › Updates** updates Interlatch the way it was installed, and restarts the
|
|
113
|
+
dashboard. From a terminal, `uv tool upgrade interlatch`. For the app, download the new release
|
|
114
|
+
([Updating](install.md#updating)).
|
|
115
|
+
|
|
116
|
+
**I used Chronicle. What happens?** Interlatch was called Chronicle. Updating moves your install and data over by
|
|
117
|
+
itself, and the `chronicle` command keeps working ([Moving from Chronicle](moving-from-chronicle.md)).
|
|
118
|
+
|
|
119
|
+
**Is the dashboard at 11524 or 8765?** New installs use <http://127.0.0.1:11524/>. Installs made before 11524 became
|
|
120
|
+
the default stay on 8765 (`[server] port` in `config.toml`), and the app picks a free port when 11524 is taken
|
|
121
|
+
([Troubleshooting](troubleshooting.md#install-and-the-app)).
|
|
122
|
+
|
|
123
|
+
**How do I remove it?** `interlatch uninstall` removes the hooks, background agents and MCP registrations and keeps
|
|
124
|
+
your data; add `--purge` to delete the data too. With the app, also turn off **Open at Login** and delete it.
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
| [記録される内容と分析の仕組み](analysis.md) | セッションのデータ、ナレッジの種類、分析の流れとその費用 |
|
|
19
19
|
| [設定](configuration.md) | `config.toml` のすべての設定 |
|
|
20
20
|
| [データとプライバシー](privacy.md) | 何がどこに保存され、何がマシンの外に送られるか |
|
|
21
|
+
| [よくある質問](faq.md) | よく聞かれる質問への短い答え:プライバシー、費用、エージェント、チーム、アップデート |
|
|
21
22
|
| [トラブルシューティング](troubleshooting.md) | 既知の問題とよくあるトラブル |
|
|
22
23
|
| [Chronicle からの移行](moving-from-chronicle.md) | Interlatch の以前の名前は Chronicle:アップデートで自動的に移行されるものと、そのまま使えるもの |
|
|
23
24
|
| [開発](development.md) | テスト、アプリのビルド、リリース、デモデータ、コードの構成 |
|
|
@@ -33,7 +33,7 @@ macOS 以外では ⌘ の代わりに Ctrl を使います。macOS アプリで
|
|
|
33
33
|
|
|
34
34
|
ページ:ホーム(稼働時間の見出しと稼働日数・最長連続日数、スパークライン付きの統計タイル(比較できる前の期間がそろうまでは
|
|
35
35
|
1 日あたりの値)、7 日平均付きの日次グラフ、結果の内訳、連続記録付きのアクティビティカレンダー、最も忙しい時間帯、プロジェクト、
|
|
36
|
-
失敗した呼び出しを含むツール、モデル、エージェント)、並べ替え・絞り込みできるセッション一覧、12 週間の活動を示すプロジェクトカード([自分で作るグループ](#プロジェクトのグループ)ごと)、[システムマップ](#システムマップ)、
|
|
36
|
+
失敗した呼び出しを含むツール、モデル、エージェント)、並べ替え・絞り込みできるセッション一覧、12 週間の活動を示すプロジェクトカード([自分で作るグループ](#プロジェクトのグループ)ごと)、[プロジェクトのページ](#プロジェクトのページ)、[システムマップ](#システムマップ)、
|
|
37
37
|
セッションページ(上部に主要な数値、要約、そこから得られたナレッジ。その下で**詳細**(目的、ハイライト、未解決の事項、ナレッジ、コンパクションを含む
|
|
38
38
|
コンテキストウインドウのグラフ、ツール、ファイル、サブエージェント、そのセッションが作った[成果物](#成果物)。セッションを開くと最初に表示)と**トランスクリプト**
|
|
39
39
|
(入力と出力を開ける 1 行のツール呼び出しとサブエージェントのスレッドを含む会話。検索結果から開くとこちら)を切り替えます。幅の広いウインドウでは、プロンプト、
|
|
@@ -48,6 +48,42 @@ macOS 以外では ⌘ の代わりに Ctrl を使います。macOS アプリで
|
|
|
48
48
|
その位置のトランスクリプトが語句をハイライトしたまま開きます。用語集の用語は、表示される場所(トランスクリプト、ナレッジ、要約)ではどこでも下線付きになり、
|
|
49
49
|
ホバーで定義、クリックで項目を表示します。すべてのグラフに表形式の表示があり、ライトとダークのテーマに対応しています。
|
|
50
50
|
|
|
51
|
+
## プロジェクトのページ
|
|
52
|
+
|
|
53
|
+
プロジェクトのページは、しばらく離れていたプロジェクトに戻るためのものです。名前の下には、**進行中**(1 週間以内にセッションあり)、
|
|
54
|
+
**小休止**(1 か月以内)、**休止中**のどれか、最後のセッションの時期、セッション数、稼働時間、トークン数、推定 API 費用が並びます。
|
|
55
|
+
その下に、ナレッジベースの概要がプロジェクトの説明として出ます。
|
|
56
|
+
|
|
57
|
+
**概要**タブには、セッションと git から読み取った現状を表示します。モデルが書いたものは含みません。
|
|
58
|
+
|
|
59
|
+
- **あなたの対応待ち**(待っているものがあるときだけ表示):
|
|
60
|
+
- **まだ git に保存されていないもの:** コミットしていない変更ファイル(最も古い編集の日時つき)と、どのリモートブランチにもない
|
|
61
|
+
コミット(最も古いものの日時つき。リモートのないリポジトリでは数えません)。git にない新規ファイルは数だけを示します。
|
|
62
|
+
ビルドの出力や作業用のファイルはずっとそこにあるためです。
|
|
63
|
+
- **決めることと未解決の問い:** 直近の分析済みセッション 3 つが残した事項のうち、人の判断・承認・回答を待っているもの。
|
|
64
|
+
セッションの分析での言い回しで選んでいるので、対応する前に確かめてください。
|
|
65
|
+
- 2 日より長く待っているものは琥珀色になります。赤にはなりません。
|
|
66
|
+
- **ロードマップ:** フォルダーかそのリポジトリのルートに `ROADMAP.md`、`BACKLOG.md`、`TODO.md`、`TODOS.md` のどれか
|
|
67
|
+
(そこか `docs/` の中。大文字小文字は問いません)があれば、最初の 3 つの `##` セクションとその項目(各トップレベルの箇条書きの
|
|
68
|
+
太字の見出しか冒頭、箇条書きがなければ `###` 見出し)、チェックボックスの未完了と完了の数、ファイルの最後のコミット日時を表示します。
|
|
69
|
+
ない場合は**バックログ**に、プロジェクトの「やること」(**Done** で却下)とナレッジベースの未解決の事項を、その更新時点のものとして出します。
|
|
70
|
+
- **中断したところ:** 最後のセッションの目的、終わり方、残っていること。その前の 4 つのセッションは、開くとそれぞれの目的と
|
|
71
|
+
残っていることが出ます。どれもセッションが終了した時点で残っていたことなので、その後のセッションやセッション外の作業で
|
|
72
|
+
片付いているかもしれません。
|
|
73
|
+
- **フォルダーの現在:** フォルダーの git のブランチと上流との差、未コミットの変更の数、最後のコミット、リポジトリのほかの
|
|
74
|
+
ワークツリー。フォルダーがあるコンピューター上のブラウザーでだけ表示します。git は読み取るだけでロックを取らず、
|
|
75
|
+
リポジトリのフックや fsmonitor も動きません。
|
|
76
|
+
- **週ごと:** セッションのあった週を新しい順に、その週のセッションと結果、作成したプルリクエストとコミット(それぞれ 1 回だけ
|
|
77
|
+
数えます)とともに表示し、間のセッションのない週も示します。
|
|
78
|
+
|
|
79
|
+
ほかのタブ:**作業の手引き**(ナレッジベース、[アーキテクチャ図](#アーキテクチャ図)、用語集)、**ナレッジ**、**セッション**、
|
|
80
|
+
**成果物**、**使用量**(合計と編集の多いファイル)。選んだタブはアドレスに残るので、リンクや再読み込みでも同じタブが開きます。
|
|
81
|
+
|
|
82
|
+
git の行とロードマップのファイルは、フォルダーがあるコンピューター上のブラウザーでだけ読み取ります。人のいるハブでは、カードは
|
|
83
|
+
**要対応**と**チームが中断したところ**になり、各セッションに誰のものかが出ます。プルリクエストは、コンピューターが送る
|
|
84
|
+
トランスクリプト(`share = "everything"`)から、ナレッジを共有するコンピューターではセッションが記録しているリンクから表示します。
|
|
85
|
+
コミットはトランスクリプトからだけです。一部のプロジェクトだけを見られる人には、セッションのページと同じく、プルリクエストは表示しません。
|
|
86
|
+
|
|
51
87
|
## プロジェクトのグループ
|
|
52
88
|
|
|
53
89
|
関連するプロジェクトを、Aktio のリポジトリをまとめた **Aktio** のように 1 つの見出しの下に置けます(プロジェクトページとそのサイドバー)。
|
|
@@ -144,9 +144,32 @@ uv run --only-group docs mkdocs build --strict # CI と同じ:リンクや
|
|
|
144
144
|
- `interfaces/cli/`:コマンドライン。`parser.py` がコマンドをまとめ、`commands/` の各モジュールがコマンドの
|
|
145
145
|
グループ(記録、アーカイブ、ナレッジ、セットアップ、共有、運用)を持ち、各コマンドのオプションはその処理の隣に
|
|
146
146
|
あります。最上位の `cli.py` は `interlatch` コマンドが実行する入り口です
|
|
147
|
-
- `server.py`
|
|
148
|
-
|
|
149
|
-
|
|
147
|
+
- `interfaces/web/`:ダッシュボード。`server.py` が起動し、`handler.py` が誰からかを確かめ、`routes.py` がすべての
|
|
148
|
+
ルートと呼べる人と答えるもの(多くは `api/` の関数)を並べます。`api/` では各ページの読み取りと操作が `Context`(設定、このリクエストの接続、ジョブ)の関数で、
|
|
149
|
+
機能ごとに 1 モジュールです。`app.py` はダッシュボードが動く間保つもの、`assets.py` は `web/` のページを返します。
|
|
150
|
+
`packaging/macos/` がアプリをビルドします
|
|
151
|
+
|
|
152
|
+
各層は自分より下の層だけを import します。`core`、次に `storage` と `sources`、次に機能(`ingestion`、`analysis`、
|
|
153
|
+
`knowledge`、`projects`、`artifacts`、`sharing`)、次に `application`、最後に `interfaces` です。`runtime` は
|
|
154
|
+
ダッシュボードを組み立てるモジュールからだけダッシュボードを起動します。`tests/test_architecture.py` がすべての
|
|
155
|
+
import をこれと照らし合わせます。
|
|
156
|
+
|
|
157
|
+
追加する場所:
|
|
158
|
+
|
|
159
|
+
- **ソース**(別のコーディングエージェントやチャットのエクスポート):`ParsedSession`(`core/sessions.py`)を返す
|
|
160
|
+
読み取りを `sources/` に(Claude Code 以外のエージェントは `sources/builder.py` で組み立てます)、ファイルの場所を
|
|
161
|
+
`sources/discovery.py` に、同期を `ingestion/service.py` に、接続を `runtime/connectors.py` に
|
|
162
|
+
- **分析のバックエンド**:`analysis/runners/` の `Runner`(`base.py` が約束事)、`factory.py` に名前を。モデル
|
|
163
|
+
プロバイダーの API は `analysis/runners/settings.py` の `Provider`
|
|
164
|
+
- **ダッシュボードのエンドポイント**:`interfaces/web/api/` の該当機能のモジュールに `Context` を取る関数を、
|
|
165
|
+
`interfaces/web/routes.py` にルートと呼べる人を、`tests/test_route_matrix.py` の `ROUTES` に行を(行のない
|
|
166
|
+
ルートはテストが失敗します)
|
|
167
|
+
- **コマンド**:`interfaces/cli/commands/` の合うグループに `add_<command>` と `cmd_<command>` を、
|
|
168
|
+
`interfaces/cli/parser.py` の `COMMANDS` にコマンドを(その順が `interlatch --help` の順です)。
|
|
169
|
+
`tests/goldens/cli.json` が固定します(`UPDATE_GOLDENS=1` で再実行)
|
|
170
|
+
- **MCP ツール**:`interfaces/mcp.py` の `TOOLS`
|
|
171
|
+
|
|
172
|
+
ダッシュボードのページは Content-Security-Policy(`interfaces/web/assets.py` の `PAGE_CSP`)の下で動き、スクリプトとスタイルは自分のファイルの
|
|
150
173
|
ものしか使えません。`index.html` にインラインの `<script>` や `on…=` 属性を加えないでください。また `h()` に渡すスタイルは
|
|
151
174
|
文字列ではなくオブジェクト(`style: { "--h": "40px" }`)にします。文字列は style 属性になり、ポリシーが拒否します。
|
|
152
175
|
どちらも `tests/test_security.py` が確かめます。
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# よくある質問
|
|
2
|
+
|
|
3
|
+
[← Interlatch](../../README.ja.md) · [ドキュメント一覧](README.md)
|
|
4
|
+
|
|
5
|
+
よく聞かれる質問への短い答えです。詳しくはそれぞれのリンク先を参照してください。うまく動かないときは
|
|
6
|
+
[トラブルシューティング](troubleshooting.md)を参照してください。
|
|
7
|
+
|
|
8
|
+
## はじめに
|
|
9
|
+
|
|
10
|
+
**エージェント自身のメモリーとは何が違う?** エージェントのメモリー(`CLAUDE.md`、`AGENTS.md`、メモリーのメモ)は、あなたか
|
|
11
|
+
そのエージェントが書き留めたもので、そのエージェントのためのものです。Interlatch は使っているすべてのエージェントのすべての
|
|
12
|
+
セッションを記録し、Claude Code がトランスクリプトを削除したあと(30 日後)も残し、学んだことを元のセッションへのリンク付きで
|
|
13
|
+
取り出して、1 つの [MCP サーバー](mcp.md)ですべてのエージェントに渡します。指示ファイルに加える行も提案しますが、書き込むのは
|
|
14
|
+
あなたが承認したときだけです([提案](suggestions.md))。
|
|
15
|
+
|
|
16
|
+
**どのエージェントを記録できる?** Claude Code、Codex、Codex Cloud、GitHub Copilot(CLI と VS Code の Copilot Chat)、IBM Bob、
|
|
17
|
+
Google Antigravity と、claude.ai や ChatGPT から取り込んだチャットです([ソース](sources.md))。Claude Desktop、Cursor、
|
|
18
|
+
Windsurf、Gemini CLI は記録しませんが、Interlatch のツールは使えます([MCP サーバー](mcp.md#クライアントを接続する))。
|
|
19
|
+
|
|
20
|
+
**Claude Code は必須?** いいえ。分析は Claude Code、Codex、IBM Bob のほか、あなた自身のキーでモデルプロバイダーの API でも行えます:
|
|
21
|
+
Anthropic、Amazon Bedrock、OpenAI、Azure OpenAI、OpenRouter、OpenAI 互換の任意のサーバー、またはあなたのコンピューター上の
|
|
22
|
+
Ollama。**Status › Analysis** または `interlatch config set analysis.backend <name>` で選びます
|
|
23
|
+
([モデルプロバイダー](analysis.md#モデルプロバイダー))。記録と閲覧はどれでも使えます。何も設定していない場合、
|
|
24
|
+
セッションは保管され、分析待ちの列で待ちます。
|
|
25
|
+
|
|
26
|
+
**デスクトップアプリとコマンドライン、どちら?** アプリ(Apple シリコン、macOS 13 以降)はメニューバーに常駐し、
|
|
27
|
+
バックグラウンドの同期も自分で行います。コマンドラインでのインストール(`uv tool install interlatch` のあと `interlatch install`)は
|
|
28
|
+
同期とダッシュボードをバックグラウンドのエージェントとして動かし、Intel Mac、Windows、Linux ではこちらを使います。どちらも
|
|
29
|
+
`~/.interlatch` の同じデータを使い、併用できます([インストール](install.md))。
|
|
30
|
+
|
|
31
|
+
**Windows や Linux は?** デスクトップアプリは macOS 専用です。Windows では `uv tool install interlatch` と `interlatch install` が
|
|
32
|
+
Mac と同じように使え、同期とダッシュボードはタスク スケジューラが動かします([Windows](install.md#windows))。
|
|
33
|
+
Windows のコンピューターからのチームのハブへの参加はまだ未検証です。Linux では `interlatch install` が同期とダッシュボードを systemd の
|
|
34
|
+
ユーザーユニットとして動かすので、Linux マシンをほかのコンピューターの[ハブ](devices.md#linux-のハブ)にできます。
|
|
35
|
+
チームのハブは [Docker](docker.md) でも動かせます。
|
|
36
|
+
|
|
37
|
+
**エージェントが遅くならない?** なりません。セッション終了フックは切り離したプロセスに処理を渡し、数ミリ秒で戻ります。
|
|
38
|
+
分析はあとでバックグラウンドで行います。
|
|
39
|
+
|
|
40
|
+
**インストール前のセッションは?** `interlatch install` はディスクに残っている過去のセッションを取り込み、分析するかを尋ねます:
|
|
41
|
+
すべて、新しい 20 件、またはあとでバックグラウンドで。トランスクリプトが消えた 30 日より前の Claude Code のセッションは、
|
|
42
|
+
`~/.claude/history.jsonl` からプロンプトを復元します。インストール後のセッションだけを分析するには
|
|
43
|
+
`analysis.backfill = false` にします([設定](configuration.md#analysis))。
|
|
44
|
+
|
|
45
|
+
## プライバシーと費用
|
|
46
|
+
|
|
47
|
+
**マシンの外に送られるものは?** 各セッションをまとめた要約(機密情報は伏せ字)だけで、分析用に選んだものに、あなた自身の
|
|
48
|
+
ログインやキーで送られます(Ollama ならそれもありません)。テレメトリはなく、リーダーボードに参加しない限り(後述)Interlatch の作者には何も送られません。
|
|
49
|
+
アップデート確認が pypi.org に最新のバージョン番号を問い合わせるのは、ボタンを押したときか、毎日の確認をオンにしたときだけです
|
|
50
|
+
([データとプライバシー](privacy.md))。
|
|
51
|
+
|
|
52
|
+
**分析の費用は?** Claude Code や Codex 経由なら、エージェントのほかの利用と同じく Claude や ChatGPT のプランから使われます。
|
|
53
|
+
Bob とモデルプロバイダーはあなた自身のアカウントに請求され、Ollama は無料です。Claude の場合、API 料金に換算すると Sonnet で
|
|
54
|
+
1 セッションあたり平均約 0.38 ドルです。`interlatch analyze --pending --dry-run` で費用をかけずに未分析分の量を確かめられ、
|
|
55
|
+
`analysis.auto = false` で自動の分析を止められます([分析の仕組み](analysis.md#分析の仕組み))。
|
|
56
|
+
|
|
57
|
+
**`CLAUDE.md` や `AGENTS.md` を書き換える?** 提案をあなたが承認したときだけです。先にファイルをバックアップし、自分の
|
|
58
|
+
ブロックの中だけに書き、どの変更も元に戻せます([提案](suggestions.md#interlatch-が決してしないこと))。
|
|
59
|
+
|
|
60
|
+
**特定のプロジェクトやセッションを除外できる?** [設定](configuration.md)の `sources.exclude_projects` にプロジェクトを
|
|
61
|
+
追加すると、記録も分析もされず、ハブにも送られません。1 つのセッションは `interlatch forget <id>` で完全に削除します。
|
|
62
|
+
|
|
63
|
+
**リーダーボードとは?利用状況が送られる?** **リーダーボード**のページで、あなたの時間、セッション数、トークン数をほかの人と
|
|
64
|
+
比べられます。そこで Google でサインインするまで何も送られません。サインイン後は、同期のたびに直近 7・30・90 日の合計を、
|
|
65
|
+
表示する名前と画像とともに送ります。メールアドレス、プロジェクト、プロンプト、タイトルは送りません。
|
|
66
|
+
`interlatch leaderboard leave` であなたの行を削除し、送信をやめます。
|
|
67
|
+
|
|
68
|
+
**オープンソース?** はい、MIT ライセンスです(ハブも含みます)。会社のチームに展開するための機能(シングルサインオン、
|
|
69
|
+
ポリシー、監査ログのエクスポート)を収めた `ee/` だけが [Interlatch Enterprise License](../../ee/README.md) です。
|
|
70
|
+
|
|
71
|
+
## エージェントから使う
|
|
72
|
+
|
|
73
|
+
**学んだことをエージェントはどう使う?** MCP サーバー `interlatch mcp` を通じてです。`interlatch install` が接続した各エージェントに
|
|
74
|
+
登録します。ローカルのプロセスとして stdio で動き、ツールはアーカイブを読むだけです。エージェントに「このエラー、前にも
|
|
75
|
+
出た?」「billing-api はどうデプロイしている?」と聞いてみてください([MCP サーバー](mcp.md))。
|
|
76
|
+
|
|
77
|
+
**日本語で書ける?** `[analysis] language = "ja"`(または **Status › Analysis**)にすると、要約、ナレッジ、用語集、週次レビューが
|
|
78
|
+
以後日本語で書かれます。ダッシュボード自体の言語はブラウザーごとに **Settings › Appearance** で選びます
|
|
79
|
+
([言語](analysis.md#言語))。
|
|
80
|
+
|
|
81
|
+
**Slack を読む?** いいえ。Interlatch が読むのは、あなたのコンピューターでコーディングエージェントが書いたものと、取り込んだ
|
|
82
|
+
チャットだけです。セッションが Slack のキャンバスを公開した場合は、そのセッションの[成果物](dashboard.md#成果物)にリンクが残ります。
|
|
83
|
+
|
|
84
|
+
## 複数のコンピューターとチーム
|
|
85
|
+
|
|
86
|
+
**スマートフォンや複数のコンピューターで使える?** はい。1 台をハブにします。ハブが記録、分析、ダッシュボードの表示を行い、
|
|
87
|
+
ほかのコンピューターはセッションをハブに送ります。スマートフォンはハブのダッシュボードを開きます
|
|
88
|
+
([スマートフォンとほかのコンピューター](devices.md))。
|
|
89
|
+
|
|
90
|
+
**Tailscale は必要?** いいえ。自分のデバイスどうしなら Tailscale がいちばん手軽ですが、ハブは社内ネットワークや VPN 上でも、
|
|
91
|
+
HTTPS のプロキシの後ろで同じように動きます([Tailscale を使わずにハブにつなぐ](devices.md#tailscale-を使わずにハブにつなぐ))。
|
|
92
|
+
|
|
93
|
+
**チームメイトには自分のセッションのどこまで見える?** `--share knowledge` なら、ハブが受け取るのは分析済みセッションの要約と
|
|
94
|
+
プロジェクトのナレッジだけで、プロンプト、トランスクリプト、ファイルは送られません。これを付けずに参加したコンピューターは
|
|
95
|
+
トランスクリプトを送るので、管理者はハブをナレッジだけを受け付けるようにできます([共有されるもの](join-a-hub.md#共有されるもの)、
|
|
96
|
+
[ナレッジだけを受け付けるハブ](devices.md#ナレッジだけを受け付けるハブ))。
|
|
97
|
+
|
|
98
|
+
**`~/.interlatch` を Dropbox や iCloud で同期できる?** いいえ。使用中に SQLite のデータベースをコピーすると壊れることがあります。
|
|
99
|
+
ハブを使うか、エージェントのセッションのフォルダーを Syncthing で同期してください
|
|
100
|
+
([ハブを使わない方法](devices.md#ハブを使わない方法syncthing))。
|
|
101
|
+
|
|
102
|
+
**データを Postgres に置ける?** Interlatch 自身のデータベースは SQLite ですが、そのコピーを選んだ Postgres のデータベースに置いて、
|
|
103
|
+
SQL や BI ツールで使えます([Postgres へのコピー](postgres.md))。
|
|
104
|
+
|
|
105
|
+
## アップデートと削除
|
|
106
|
+
|
|
107
|
+
**アップデートするには?** **Settings › Status › Updates** が、インストールしたのと同じ方法で Interlatch をアップデートし、
|
|
108
|
+
ダッシュボードを再起動します。ターミナルからは `uv tool upgrade interlatch`。アプリは新しいリリースをダウンロードします
|
|
109
|
+
([アップデート](install.md#アップデート))。
|
|
110
|
+
|
|
111
|
+
**Chronicle を使っていた。どうなる?** Interlatch の以前の名前は Chronicle です。アップデートするとインストールとデータは自動的に
|
|
112
|
+
移行され、`chronicle` コマンドもそのまま使えます([Chronicle からの移行](moving-from-chronicle.md))。
|
|
113
|
+
|
|
114
|
+
**ダッシュボードは 11524 番?8765 番?** 新しいインストールは <http://127.0.0.1:11524/> です。11524 が既定になる前のインストールは
|
|
115
|
+
8765 番のままです(`config.toml` の `[server] port`)。アプリは 11524 が使用中なら空いているポートを使います
|
|
116
|
+
([トラブルシューティング](troubleshooting.md#インストールとアプリ))。
|
|
117
|
+
|
|
118
|
+
**削除するには?** `interlatch uninstall` でフック、バックグラウンドのエージェント、MCP の登録を削除します(データは残ります)。
|
|
119
|
+
データも消すには `--purge` を付けます。アプリの場合は、**Open at Login** もオフにしてアプリを削除します。
|
|
@@ -6,9 +6,12 @@
|
|
|
6
6
|
分析用に選んだものに送られます:あなた自身のログインで Claude Code(`claude -p`、既定)なら Anthropic に、Codex(`codex exec`)
|
|
7
7
|
なら OpenAI に、Bob Shell(`bob run`)ならあなたの Bob API キーで IBM に、または設定した[モデルプロバイダー](analysis.md#モデルプロバイダー)にあなた自身のキーで送られます(あなたの
|
|
8
8
|
コンピューターの Ollama なら、何も外に出ません)。
|
|
9
|
-
Interlatch の作者やその他のサービスには何も送られず、テレメトリもありません。ほかの接続の 1 つは
|
|
9
|
+
リーダーボードに参加しない限り(後述)、Interlatch の作者やその他のサービスには何も送られず、テレメトリもありません。ほかの接続の 1 つは
|
|
10
10
|
アップデート確認です。pypi.org に最新のバージョン番号を問い合わせるだけで、あなたに関する情報は送りません。Status ページで **Check for updates** を押したときに実行され、同じ場所の **Check for updates daily** か **Notify me about new versions** をオンにした場合だけ 1 日 1 回実行されます(どちらも既定はオフ。後者は `interlatch install` が尋ねます)。Codex Cloud を接続した場合は、
|
|
11
11
|
同期のたびに `codex cloud` CLI も実行され、Codex のログインで OpenAI からあなた自身のタスクを取得します。こちらから何かを送ることはありません。
|
|
12
|
+
**リーダーボード**に Google でサインインすると、同期のたびに直近 7・30・90 日の合計(作業時間、セッション数、トークン数)を、
|
|
13
|
+
表示する名前と画像とともに Interlatch の Firebase プロジェクトに送ります。メールアドレス、プロジェクト、プロンプト、タイトルは
|
|
14
|
+
送りません。サインインするまでは何も送られず、`interlatch leaderboard leave` であなたの行を削除します。
|
|
12
15
|
claude.ai や ChatGPT のエクスポートを取り込むときはチャットだけを読み、アカウントのファイル(`users.json`、`user.json`)は開きません。
|
|
13
16
|
提案した行が公開リポジトリに入る前に警告するため、GitHub のリモートがあるプロジェクトでは、あなた自身の `gh` のログインで
|
|
14
17
|
`gh repo view` を実行します。GitHub に送るのはリポジトリの名前だけで、結果は 1 週間覚えておきます。`gh` が
|
|
@@ -5,12 +5,15 @@
|
|
|
5
5
|
**What leaves your machine:** one thing. When a session is analyzed, a condensed digest of it (secrets redacted
|
|
6
6
|
first) goes to whatever you chose for analysis: Anthropic with Claude Code (`claude -p`, the default) or OpenAI with
|
|
7
7
|
Codex (`codex exec`), through your own login, IBM with Bob Shell (`bob run`) and your Bob API key, or the [model provider](analysis.md#model-providers) you set up, with
|
|
8
|
-
your own key (with Ollama on your computer, nothing leaves it). Nothing is sent to Interlatch's authors or any other service, and there is no telemetry. One other
|
|
8
|
+
your own key (with Ollama on your computer, nothing leaves it). Nothing is sent to Interlatch's authors or any other service unless you join the leaderboard (below), and there is no telemetry. One other
|
|
9
9
|
connection is the update check: it asks pypi.org for the latest version number and sends nothing about you. It
|
|
10
10
|
runs when you click **Check for updates** on the Status page, and once a day only if you turn on **Check for
|
|
11
11
|
updates daily** or **Notify me about new versions** there (both off by default; `interlatch install` asks about
|
|
12
12
|
the second). If you connect Codex Cloud, each sync also runs the
|
|
13
13
|
`codex cloud` CLI, which fetches your own tasks from OpenAI with your Codex login; nothing is sent the other way.
|
|
14
|
+
If you sign in to the **Leaderboard** with Google, each sync sends Interlatch's Firebase project your totals for the
|
|
15
|
+
last 7, 30 and 90 days (active hours, sessions, tokens) with the name and picture you show: no email, project,
|
|
16
|
+
prompt or title. Nothing is sent before you sign in, and `interlatch leaderboard leave` deletes your row.
|
|
14
17
|
Importing a claude.ai or ChatGPT export reads only the chats, never the account files (`users.json`, `user.json`).
|
|
15
18
|
To warn before a suggested line lands in a public repository, Interlatch runs `gh repo view` with your own `gh` login
|
|
16
19
|
for projects with a GitHub remote; that sends GitHub the repository's name and nothing else, and the answer is
|