Update SSH instructions to use aliases, fix tea --repo flag, sync plugins/mcp
- CLAUDE.md: SSH section now mandates aliases from ~/.ssh/config instead of manual commands - CLAUDE.md: Gitea tea CLI always passes --repo owner/name to avoid detection failures - MCP manager skill updates - Plugin blocklist and marketplace updates - Settings and MCP config sync Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
92545d40de
commit
42d180ec82
23
.mcp-full.json
Normal file
23
.mcp-full.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"mcpServers": {
|
||||
"cognitive-memory": {
|
||||
"command": "/home/cal/.claude/skills/cognitive-memory/mcp-server/cognitive-memory-mcp",
|
||||
"type": "stdio",
|
||||
"args": [],
|
||||
"env": {}
|
||||
},
|
||||
"n8n-mcp": {
|
||||
"command": "npx",
|
||||
"type": "stdio",
|
||||
"args": ["n8n-mcp"],
|
||||
"env": {
|
||||
"MCP_MODE": "stdio",
|
||||
"N8N_API_URL": "http://10.10.0.210:5678",
|
||||
"N8N_API_KEY": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIwNGQ1MTNhYi1lOGI1LTQxZjktYmNjNi05MTM1MzgyYzQ0YWEiLCJpc3MiOiJuOG4iLCJhdWQiOiJwdWJsaWMtYXBpIiwiaWF0IjoxNzcxNTU3ODMwfQ.PF6AatWZh8hwyUydT8UsJ16ML61XFTixj2IvuP9MRzo",
|
||||
"N8N_MCP_TELEMETRY_DISABLED": "true",
|
||||
"DISABLE_CONSOLE_OUTPUT": "true",
|
||||
"LOG_LEVEL": "error"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
23
.mcp.json
Normal file
23
.mcp.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"mcpServers": {
|
||||
"cognitive-memory": {
|
||||
"command": "/home/cal/.claude/skills/cognitive-memory/mcp-server/cognitive-memory-mcp",
|
||||
"type": "stdio",
|
||||
"args": [],
|
||||
"env": {}
|
||||
},
|
||||
"n8n-mcp": {
|
||||
"command": "npx",
|
||||
"type": "stdio",
|
||||
"args": ["n8n-mcp"],
|
||||
"env": {
|
||||
"MCP_MODE": "stdio",
|
||||
"N8N_API_URL": "http://10.10.0.210:5678",
|
||||
"N8N_API_KEY": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIwNGQ1MTNhYi1lOGI1LTQxZjktYmNjNi05MTM1MzgyYzQ0YWEiLCJpc3MiOiJuOG4iLCJhdWQiOiJwdWJsaWMtYXBpIiwiaWF0IjoxNzcxNTU3ODMwfQ.PF6AatWZh8hwyUydT8UsJ16ML61XFTixj2IvuP9MRzo",
|
||||
"N8N_MCP_TELEMETRY_DISABLED": "true",
|
||||
"DISABLE_CONSOLE_OUTPUT": "true",
|
||||
"LOG_LEVEL": "error"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
10
.mcp.json.backup
Normal file
10
.mcp.json.backup
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"mcpServers": {
|
||||
"cognitive-memory": {
|
||||
"command": "/home/cal/.claude/skills/cognitive-memory/mcp-server/cognitive-memory-mcp",
|
||||
"type": "stdio",
|
||||
"args": [],
|
||||
"env": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
15
CLAUDE.md
15
CLAUDE.md
@ -16,9 +16,10 @@ Automatic loads are NOT enough — Read loads required CLAUDE.md context along t
|
||||
## Gitea Operations
|
||||
**ALWAYS use `tea` CLI for Gitea.** Never use `gh api --hostname`.
|
||||
- Authenticated: `cal@homelab` (https://git.manticorum.com)
|
||||
- Common: `tea repos list`, `tea pulls list`, `tea issues list`
|
||||
- Create PR: `tea pulls create --head <branch> --base main --title "Title" --description "Desc"`
|
||||
- Common repos: cal/major-domo-database, cal/major-domo-bot, cal/paper-dynasty, cal/paper-dynasty-database
|
||||
- **Always pass `--repo owner/name`** — tea can't auto-detect the repo from git remotes and fails with "path segment is empty"
|
||||
- Common: `tea repos list`, `tea pulls list --repo cal/repo`, `tea issues list --repo cal/repo`
|
||||
- Create PR: `tea pulls create --repo cal/repo --head <branch> --base main --title "Title" --description "Desc"`
|
||||
- Common repos: cal/major-domo-v2, cal/major-domo-database, cal/major-domo-bot, cal/paper-dynasty, cal/paper-dynasty-database
|
||||
|
||||
## Tech Preferences
|
||||
- Python with uv for package/environment management
|
||||
@ -26,9 +27,11 @@ Automatic loads are NOT enough — Read loads required CLAUDE.md context along t
|
||||
- Never add lazy imports to middle of file
|
||||
|
||||
## SSH
|
||||
- Use `ssh -i ~/.ssh/homelab_rsa cal@<host>` for homelab servers (10.10.0.x)
|
||||
- Use `ssh -i ~/.ssh/cloud_servers_rsa root@<host>` for cloud servers (Akamai, Vultr)
|
||||
- Keys are installed on every server — never use passwords or expect password prompts
|
||||
**ALWAYS use SSH aliases from `~/.ssh/config` — NEVER construct manual `ssh -i` commands.**
|
||||
- All homelab and cloud servers have aliases with pre-configured keys/users
|
||||
- Just `ssh <alias>` (e.g. `ssh sba-db`, `ssh proxmox`, `ssh manticore`)
|
||||
- If unsure of an alias, read `~/.ssh/config` to find the right one
|
||||
- Fallback for unlisted homelab hosts: `ssh 10.10.0.x` (wildcard rule handles key/user)
|
||||
|
||||
## Memory Protocol (Cognitive Memory)
|
||||
- Skill: `~/.claude/skills/cognitive-memory/` | Data: `~/.claude/memory/`
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
{
|
||||
"numStartups": 663,
|
||||
"numStartups": 670,
|
||||
"installMethod": "native",
|
||||
"autoUpdates": true,
|
||||
"preferredNotifChannel": "iterm2_with_bell",
|
||||
@ -12,24 +12,24 @@
|
||||
"todo-list": 660,
|
||||
"# for memory": 38,
|
||||
"install-github-app": 663,
|
||||
"permissions": 654,
|
||||
"drag-and-drop-images": 659,
|
||||
"permissions": 664,
|
||||
"drag-and-drop-images": 669,
|
||||
"double-esc": 75,
|
||||
"continue": 655,
|
||||
"continue": 665,
|
||||
"ide-hotkey": 74,
|
||||
"terminal-setup": 29,
|
||||
"custom-commands": 655,
|
||||
"shift-enter": 661,
|
||||
"shift-tab": 655,
|
||||
"shift-tab": 665,
|
||||
"custom-agents": 663,
|
||||
"status-line": 536,
|
||||
"git-worktrees": 661,
|
||||
"image-paste": 646,
|
||||
"image-paste": 666,
|
||||
"plan-mode-for-complex-tasks": 384,
|
||||
"double-esc-code-restore": 654,
|
||||
"double-esc-code-restore": 664,
|
||||
"tab-toggle-thinking": 329,
|
||||
"ultrathink-keyword": 423,
|
||||
"ide-upsell-external-terminal": 646,
|
||||
"ide-upsell-external-terminal": 668,
|
||||
"stickers-command": 416,
|
||||
"default-permission-mode-config": 436,
|
||||
"rename-conversation": 655,
|
||||
@ -39,12 +39,12 @@
|
||||
"colorterm-truecolor": 638,
|
||||
"web-app": 657,
|
||||
"mobile-app": 657,
|
||||
"install-slack-app": 656,
|
||||
"install-slack-app": 666,
|
||||
"btw-side-question": 407,
|
||||
"agent-flag": 652
|
||||
"agent-flag": 667
|
||||
},
|
||||
"memoryUsageCount": 18,
|
||||
"promptQueueUseCount": 4517,
|
||||
"promptQueueUseCount": 4558,
|
||||
"cachedStatsigGates": {
|
||||
"tengu_disable_bypass_permissions_mode": false,
|
||||
"tengu_use_file_checkpoints": true,
|
||||
@ -144,7 +144,7 @@
|
||||
"tengu_vinteuil_phrase": true,
|
||||
"tengu_oboe": true,
|
||||
"tengu_tst_names_in_messages": false,
|
||||
"tengu_chomp_inflection": false,
|
||||
"tengu_chomp_inflection": true,
|
||||
"tengu_silver_lantern": false,
|
||||
"tengu_copper_lantern": false,
|
||||
"tengu_workout2": true,
|
||||
@ -177,7 +177,14 @@
|
||||
"tengu_slate_nexus": false,
|
||||
"tengu_marble_sandcastle": true,
|
||||
"tengu_birch_mist": false,
|
||||
"tengu_oak_drum": false
|
||||
"tengu_oak_drum": false,
|
||||
"tengu_worktree_mode": true,
|
||||
"tengu_pebble_leaf_prune": false,
|
||||
"tengu_swann_brevity": "control",
|
||||
"tengu_crystal_beam": {
|
||||
"budgetTokens": 0
|
||||
},
|
||||
"tengu_tool_input_aliasing": false
|
||||
},
|
||||
"hasSeenStashHint": true,
|
||||
"firstStartTime": "2025-07-09T18:27:34.950Z",
|
||||
@ -615,17 +622,17 @@
|
||||
"ssh-tdarr",
|
||||
"notediscovery"
|
||||
],
|
||||
"lastCost": 40.23374199999994,
|
||||
"lastAPIDuration": 5995420,
|
||||
"lastToolDuration": 2896147,
|
||||
"lastDuration": 20374119,
|
||||
"lastLinesAdded": 2594,
|
||||
"lastLinesRemoved": 143,
|
||||
"lastTotalInputTokens": 747870,
|
||||
"lastTotalOutputTokens": 224482,
|
||||
"lastTotalCacheCreationInputTokens": 1751354,
|
||||
"lastTotalCacheReadInputTokens": 47009653,
|
||||
"lastSessionId": "606a9f26-d08c-4654-8a9a-e118a2735aaa",
|
||||
"lastCost": 16.71361575000001,
|
||||
"lastAPIDuration": 1844582,
|
||||
"lastToolDuration": 816971,
|
||||
"lastDuration": 29558088,
|
||||
"lastLinesAdded": 2386,
|
||||
"lastLinesRemoved": 60,
|
||||
"lastTotalInputTokens": 203907,
|
||||
"lastTotalOutputTokens": 87182,
|
||||
"lastTotalCacheCreationInputTokens": 987411,
|
||||
"lastTotalCacheReadInputTokens": 16492670,
|
||||
"lastSessionId": "ee8998aa-f26c-4743-84dc-0ba35f4e49c4",
|
||||
"reactVulnerabilityCache": {
|
||||
"detected": false,
|
||||
"package": null,
|
||||
@ -633,44 +640,44 @@
|
||||
"version": null,
|
||||
"packageManager": null
|
||||
},
|
||||
"lastAPIDurationWithoutRetries": 4961513,
|
||||
"lastAPIDurationWithoutRetries": 1843027,
|
||||
"lastModelUsage": {
|
||||
"claude-opus-4-6": {
|
||||
"inputTokens": 9124,
|
||||
"outputTokens": 164889,
|
||||
"cacheReadInputTokens": 44348975,
|
||||
"cacheCreationInputTokens": 1408982,
|
||||
"inputTokens": 7030,
|
||||
"outputTokens": 57045,
|
||||
"cacheReadInputTokens": 14601090,
|
||||
"cacheCreationInputTokens": 789421,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 35.148469999999996
|
||||
"costUSD": 13.695701250000003
|
||||
},
|
||||
"claude-haiku-4-5-20251001": {
|
||||
"inputTokens": 732883,
|
||||
"outputTokens": 15034,
|
||||
"inputTokens": 196822,
|
||||
"outputTokens": 4750,
|
||||
"cacheReadInputTokens": 0,
|
||||
"cacheCreationInputTokens": 67247,
|
||||
"cacheCreationInputTokens": 4167,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 0.892111749999999
|
||||
"costUSD": 0.22578074999999995
|
||||
},
|
||||
"claude-sonnet-4-6": {
|
||||
"inputTokens": 5863,
|
||||
"outputTokens": 44559,
|
||||
"cacheReadInputTokens": 2660678,
|
||||
"cacheCreationInputTokens": 275125,
|
||||
"inputTokens": 55,
|
||||
"outputTokens": 25387,
|
||||
"cacheReadInputTokens": 1891580,
|
||||
"cacheCreationInputTokens": 193823,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 4.19316025
|
||||
"costUSD": 2.7921337499999996
|
||||
}
|
||||
},
|
||||
"lastSessionMetrics": {
|
||||
"frame_duration_ms_count": 126433,
|
||||
"frame_duration_ms_min": 0.033378999680280685,
|
||||
"frame_duration_ms_max": 185.3289749994874,
|
||||
"frame_duration_ms_avg": 4.580825976891975,
|
||||
"frame_duration_ms_p50": 1.4972434998489916,
|
||||
"frame_duration_ms_p95": 3.451200450630833,
|
||||
"frame_duration_ms_p99": 90.20297368977218
|
||||
"frame_duration_ms_count": 35110,
|
||||
"frame_duration_ms_min": 0.10013899999830755,
|
||||
"frame_duration_ms_max": 45.71880799904466,
|
||||
"frame_duration_ms_avg": 1.8384896022149897,
|
||||
"frame_duration_ms_p50": 0.9785875007510185,
|
||||
"frame_duration_ms_p95": 9.048351652547707,
|
||||
"frame_duration_ms_p99": 25.241195021457933
|
||||
},
|
||||
"lastFpsAverage": 6.12,
|
||||
"lastFpsLow1Pct": 11.02
|
||||
"lastFpsAverage": 1.19,
|
||||
"lastFpsLow1Pct": 43.16
|
||||
},
|
||||
"/mnt/NV2/Development/major-domo": {
|
||||
"allowedTools": [],
|
||||
@ -1082,17 +1089,17 @@
|
||||
"exampleFilesGeneratedAt": 1771431800882,
|
||||
"hasCompletedProjectOnboarding": true,
|
||||
"lastTotalWebSearchRequests": 0,
|
||||
"lastCost": 0.000711,
|
||||
"lastAPIDuration": 823,
|
||||
"lastToolDuration": 0,
|
||||
"lastDuration": 6284,
|
||||
"lastLinesAdded": 0,
|
||||
"lastLinesRemoved": 0,
|
||||
"lastTotalInputTokens": 536,
|
||||
"lastTotalOutputTokens": 35,
|
||||
"lastTotalCacheCreationInputTokens": 0,
|
||||
"lastTotalCacheReadInputTokens": 0,
|
||||
"lastSessionId": "a20b0e55-c4ef-4a74-a352-c1c7e29dcecd",
|
||||
"lastCost": 13.231698250000006,
|
||||
"lastAPIDuration": 891789,
|
||||
"lastToolDuration": 132172,
|
||||
"lastDuration": 18087965,
|
||||
"lastLinesAdded": 263,
|
||||
"lastLinesRemoved": 7,
|
||||
"lastTotalInputTokens": 77295,
|
||||
"lastTotalOutputTokens": 35442,
|
||||
"lastTotalCacheCreationInputTokens": 1044639,
|
||||
"lastTotalCacheReadInputTokens": 11865821,
|
||||
"lastSessionId": "ace0ec70-77ed-44a1-806a-904ce665899a",
|
||||
"reactVulnerabilityCache": {
|
||||
"detected": false,
|
||||
"package": null,
|
||||
@ -1100,27 +1107,43 @@
|
||||
"version": null,
|
||||
"packageManager": null
|
||||
},
|
||||
"lastAPIDurationWithoutRetries": 822,
|
||||
"lastAPIDurationWithoutRetries": 891685,
|
||||
"lastModelUsage": {
|
||||
"claude-haiku-4-5-20251001": {
|
||||
"inputTokens": 536,
|
||||
"outputTokens": 35,
|
||||
"inputTokens": 71834,
|
||||
"outputTokens": 2746,
|
||||
"cacheReadInputTokens": 0,
|
||||
"cacheCreationInputTokens": 0,
|
||||
"cacheCreationInputTokens": 32095,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 0.000711
|
||||
"costUSD": 0.12568275000000004
|
||||
},
|
||||
"claude-opus-4-6": {
|
||||
"inputTokens": 5448,
|
||||
"outputTokens": 27103,
|
||||
"cacheReadInputTokens": 11539293,
|
||||
"cacheCreationInputTokens": 945261,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 12.38234275
|
||||
},
|
||||
"claude-sonnet-4-6": {
|
||||
"inputTokens": 13,
|
||||
"outputTokens": 5593,
|
||||
"cacheReadInputTokens": 326528,
|
||||
"cacheCreationInputTokens": 67283,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 0.72367275
|
||||
}
|
||||
},
|
||||
"lastFpsAverage": 6.68,
|
||||
"lastFpsLow1Pct": 219.22,
|
||||
"lastFpsAverage": 0.78,
|
||||
"lastFpsLow1Pct": 25.74,
|
||||
"lastSessionMetrics": {
|
||||
"frame_duration_ms_count": 38,
|
||||
"frame_duration_ms_min": 0.0733989999998812,
|
||||
"frame_duration_ms_max": 4.561674999999923,
|
||||
"frame_duration_ms_avg": 1.2307077105262876,
|
||||
"frame_duration_ms_p50": 1.1626314999998613,
|
||||
"frame_duration_ms_p95": 2.57251919999976,
|
||||
"frame_duration_ms_p99": 3.884495079999988
|
||||
"frame_duration_ms_count": 14187,
|
||||
"frame_duration_ms_min": 0.08366899937391281,
|
||||
"frame_duration_ms_max": 68.00957799889147,
|
||||
"frame_duration_ms_avg": 2.3383289160528014,
|
||||
"frame_duration_ms_p50": 1.0047624995931983,
|
||||
"frame_duration_ms_p95": 13.091784298792101,
|
||||
"frame_duration_ms_p99": 38.75486159028485
|
||||
}
|
||||
},
|
||||
"/mnt/NV2/Development/efd-trading-card-base": {
|
||||
@ -1999,12 +2022,12 @@
|
||||
"lastOnboardingVersion": "2.0.13",
|
||||
"subscriptionNoticeCount": 0,
|
||||
"hasAvailableSubscription": false,
|
||||
"changelogLastFetched": 1771459754216,
|
||||
"changelogLastFetched": 1771560193427,
|
||||
"fallbackAvailableWarningThreshold": 0.2,
|
||||
"hasIdeOnboardingBeenShown": {
|
||||
"vscode": true
|
||||
},
|
||||
"lastReleaseNotesSeen": "2.1.47",
|
||||
"lastReleaseNotesSeen": "2.1.49",
|
||||
"isQualifiedForDataSharing": false,
|
||||
"hasIdeAutoConnectDialogBeenShown": true,
|
||||
"shiftEnterKeyBindingInstalled": true,
|
||||
@ -2105,7 +2128,7 @@
|
||||
"currency": "USD"
|
||||
},
|
||||
"remaining_passes": 3,
|
||||
"timestamp": 1771535572741
|
||||
"timestamp": 1771560445046
|
||||
}
|
||||
},
|
||||
"opus45MigrationComplete": true,
|
||||
@ -2124,8 +2147,8 @@
|
||||
},
|
||||
"skillUsage": {
|
||||
"major-domo": {
|
||||
"usageCount": 12,
|
||||
"lastUsedAt": 1771288623314
|
||||
"usageCount": 13,
|
||||
"lastUsedAt": 1771556414365
|
||||
},
|
||||
"paper-dynasty": {
|
||||
"usageCount": 12,
|
||||
@ -2188,8 +2211,8 @@
|
||||
"lastUsedAt": 1770959377885
|
||||
},
|
||||
"sync-config": {
|
||||
"usageCount": 23,
|
||||
"lastUsedAt": 1771539236539
|
||||
"usageCount": 25,
|
||||
"lastUsedAt": 1771539739755
|
||||
},
|
||||
"claude-optimised": {
|
||||
"usageCount": 4,
|
||||
@ -2200,8 +2223,8 @@
|
||||
"lastUsedAt": 1771199427014
|
||||
},
|
||||
"cognitive-memory": {
|
||||
"usageCount": 32,
|
||||
"lastUsedAt": 1771528594878
|
||||
"usageCount": 35,
|
||||
"lastUsedAt": 1771560320138
|
||||
},
|
||||
"commit-push": {
|
||||
"usageCount": 17,
|
||||
@ -2216,12 +2239,12 @@
|
||||
"lastUsedAt": 1771364503659
|
||||
},
|
||||
"commit-push-pr": {
|
||||
"usageCount": 2,
|
||||
"lastUsedAt": 1771371630347
|
||||
"usageCount": 4,
|
||||
"lastUsedAt": 1771559391826
|
||||
},
|
||||
"mcp-manager": {
|
||||
"usageCount": 3,
|
||||
"lastUsedAt": 1771450174507
|
||||
"usageCount": 5,
|
||||
"lastUsedAt": 1771558943126
|
||||
},
|
||||
"orchestrator": {
|
||||
"usageCount": 3,
|
||||
@ -2236,8 +2259,8 @@
|
||||
"lastUsedAt": 1771536951910
|
||||
},
|
||||
"save-memories": {
|
||||
"usageCount": 4,
|
||||
"lastUsedAt": 1771539598828
|
||||
"usageCount": 7,
|
||||
"lastUsedAt": 1771559941495
|
||||
}
|
||||
},
|
||||
"opusProMigrationComplete": true,
|
||||
@ -2246,7 +2269,7 @@
|
||||
"passesLastSeenRemaining": 3,
|
||||
"clientDataCache": {
|
||||
"data": {},
|
||||
"timestamp": 1771539617287
|
||||
"timestamp": 1771560445433
|
||||
},
|
||||
"hasShownOpus46Notice": {
|
||||
"57783733-6e1e-48d5-9cb7-fa588a77b795": true
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"numStartups": 663,
|
||||
"numStartups": 670,
|
||||
"installMethod": "native",
|
||||
"autoUpdates": true,
|
||||
"preferredNotifChannel": "iterm2_with_bell",
|
||||
@ -12,24 +12,24 @@
|
||||
"todo-list": 660,
|
||||
"# for memory": 38,
|
||||
"install-github-app": 663,
|
||||
"permissions": 654,
|
||||
"drag-and-drop-images": 659,
|
||||
"permissions": 664,
|
||||
"drag-and-drop-images": 669,
|
||||
"double-esc": 75,
|
||||
"continue": 655,
|
||||
"continue": 665,
|
||||
"ide-hotkey": 74,
|
||||
"terminal-setup": 29,
|
||||
"custom-commands": 655,
|
||||
"shift-enter": 661,
|
||||
"shift-tab": 655,
|
||||
"shift-tab": 665,
|
||||
"custom-agents": 663,
|
||||
"status-line": 536,
|
||||
"git-worktrees": 661,
|
||||
"image-paste": 646,
|
||||
"image-paste": 666,
|
||||
"plan-mode-for-complex-tasks": 384,
|
||||
"double-esc-code-restore": 654,
|
||||
"double-esc-code-restore": 664,
|
||||
"tab-toggle-thinking": 329,
|
||||
"ultrathink-keyword": 423,
|
||||
"ide-upsell-external-terminal": 646,
|
||||
"ide-upsell-external-terminal": 668,
|
||||
"stickers-command": 416,
|
||||
"default-permission-mode-config": 436,
|
||||
"rename-conversation": 655,
|
||||
@ -39,12 +39,12 @@
|
||||
"colorterm-truecolor": 638,
|
||||
"web-app": 657,
|
||||
"mobile-app": 657,
|
||||
"install-slack-app": 656,
|
||||
"install-slack-app": 666,
|
||||
"btw-side-question": 407,
|
||||
"agent-flag": 652
|
||||
"agent-flag": 667
|
||||
},
|
||||
"memoryUsageCount": 18,
|
||||
"promptQueueUseCount": 4515,
|
||||
"promptQueueUseCount": 4558,
|
||||
"cachedStatsigGates": {
|
||||
"tengu_disable_bypass_permissions_mode": false,
|
||||
"tengu_use_file_checkpoints": true,
|
||||
@ -144,7 +144,7 @@
|
||||
"tengu_vinteuil_phrase": true,
|
||||
"tengu_oboe": true,
|
||||
"tengu_tst_names_in_messages": false,
|
||||
"tengu_chomp_inflection": false,
|
||||
"tengu_chomp_inflection": true,
|
||||
"tengu_silver_lantern": false,
|
||||
"tengu_copper_lantern": false,
|
||||
"tengu_workout2": true,
|
||||
@ -177,7 +177,14 @@
|
||||
"tengu_slate_nexus": false,
|
||||
"tengu_marble_sandcastle": true,
|
||||
"tengu_birch_mist": false,
|
||||
"tengu_oak_drum": false
|
||||
"tengu_oak_drum": false,
|
||||
"tengu_worktree_mode": true,
|
||||
"tengu_pebble_leaf_prune": false,
|
||||
"tengu_swann_brevity": "control",
|
||||
"tengu_crystal_beam": {
|
||||
"budgetTokens": 0
|
||||
},
|
||||
"tengu_tool_input_aliasing": false
|
||||
},
|
||||
"hasSeenStashHint": true,
|
||||
"firstStartTime": "2025-07-09T18:27:34.950Z",
|
||||
@ -615,17 +622,17 @@
|
||||
"ssh-tdarr",
|
||||
"notediscovery"
|
||||
],
|
||||
"lastCost": 40.23374199999994,
|
||||
"lastAPIDuration": 5995420,
|
||||
"lastToolDuration": 2896147,
|
||||
"lastDuration": 20374119,
|
||||
"lastLinesAdded": 2594,
|
||||
"lastLinesRemoved": 143,
|
||||
"lastTotalInputTokens": 747870,
|
||||
"lastTotalOutputTokens": 224482,
|
||||
"lastTotalCacheCreationInputTokens": 1751354,
|
||||
"lastTotalCacheReadInputTokens": 47009653,
|
||||
"lastSessionId": "606a9f26-d08c-4654-8a9a-e118a2735aaa",
|
||||
"lastCost": 16.71361575000001,
|
||||
"lastAPIDuration": 1844582,
|
||||
"lastToolDuration": 816971,
|
||||
"lastDuration": 29558088,
|
||||
"lastLinesAdded": 2386,
|
||||
"lastLinesRemoved": 60,
|
||||
"lastTotalInputTokens": 203907,
|
||||
"lastTotalOutputTokens": 87182,
|
||||
"lastTotalCacheCreationInputTokens": 987411,
|
||||
"lastTotalCacheReadInputTokens": 16492670,
|
||||
"lastSessionId": "ee8998aa-f26c-4743-84dc-0ba35f4e49c4",
|
||||
"reactVulnerabilityCache": {
|
||||
"detected": false,
|
||||
"package": null,
|
||||
@ -633,44 +640,44 @@
|
||||
"version": null,
|
||||
"packageManager": null
|
||||
},
|
||||
"lastAPIDurationWithoutRetries": 4961513,
|
||||
"lastAPIDurationWithoutRetries": 1843027,
|
||||
"lastModelUsage": {
|
||||
"claude-opus-4-6": {
|
||||
"inputTokens": 9124,
|
||||
"outputTokens": 164889,
|
||||
"cacheReadInputTokens": 44348975,
|
||||
"cacheCreationInputTokens": 1408982,
|
||||
"inputTokens": 7030,
|
||||
"outputTokens": 57045,
|
||||
"cacheReadInputTokens": 14601090,
|
||||
"cacheCreationInputTokens": 789421,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 35.148469999999996
|
||||
"costUSD": 13.695701250000003
|
||||
},
|
||||
"claude-haiku-4-5-20251001": {
|
||||
"inputTokens": 732883,
|
||||
"outputTokens": 15034,
|
||||
"inputTokens": 196822,
|
||||
"outputTokens": 4750,
|
||||
"cacheReadInputTokens": 0,
|
||||
"cacheCreationInputTokens": 67247,
|
||||
"cacheCreationInputTokens": 4167,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 0.892111749999999
|
||||
"costUSD": 0.22578074999999995
|
||||
},
|
||||
"claude-sonnet-4-6": {
|
||||
"inputTokens": 5863,
|
||||
"outputTokens": 44559,
|
||||
"cacheReadInputTokens": 2660678,
|
||||
"cacheCreationInputTokens": 275125,
|
||||
"inputTokens": 55,
|
||||
"outputTokens": 25387,
|
||||
"cacheReadInputTokens": 1891580,
|
||||
"cacheCreationInputTokens": 193823,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 4.19316025
|
||||
"costUSD": 2.7921337499999996
|
||||
}
|
||||
},
|
||||
"lastSessionMetrics": {
|
||||
"frame_duration_ms_count": 126433,
|
||||
"frame_duration_ms_min": 0.033378999680280685,
|
||||
"frame_duration_ms_max": 185.3289749994874,
|
||||
"frame_duration_ms_avg": 4.580825976891975,
|
||||
"frame_duration_ms_p50": 1.4972434998489916,
|
||||
"frame_duration_ms_p95": 3.451200450630833,
|
||||
"frame_duration_ms_p99": 90.20297368977218
|
||||
"frame_duration_ms_count": 35110,
|
||||
"frame_duration_ms_min": 0.10013899999830755,
|
||||
"frame_duration_ms_max": 45.71880799904466,
|
||||
"frame_duration_ms_avg": 1.8384896022149897,
|
||||
"frame_duration_ms_p50": 0.9785875007510185,
|
||||
"frame_duration_ms_p95": 9.048351652547707,
|
||||
"frame_duration_ms_p99": 25.241195021457933
|
||||
},
|
||||
"lastFpsAverage": 6.12,
|
||||
"lastFpsLow1Pct": 11.02
|
||||
"lastFpsAverage": 1.19,
|
||||
"lastFpsLow1Pct": 43.16
|
||||
},
|
||||
"/mnt/NV2/Development/major-domo": {
|
||||
"allowedTools": [],
|
||||
@ -1082,17 +1089,17 @@
|
||||
"exampleFilesGeneratedAt": 1771431800882,
|
||||
"hasCompletedProjectOnboarding": true,
|
||||
"lastTotalWebSearchRequests": 0,
|
||||
"lastCost": 0.000711,
|
||||
"lastAPIDuration": 823,
|
||||
"lastToolDuration": 0,
|
||||
"lastDuration": 6284,
|
||||
"lastLinesAdded": 0,
|
||||
"lastLinesRemoved": 0,
|
||||
"lastTotalInputTokens": 536,
|
||||
"lastTotalOutputTokens": 35,
|
||||
"lastTotalCacheCreationInputTokens": 0,
|
||||
"lastTotalCacheReadInputTokens": 0,
|
||||
"lastSessionId": "a20b0e55-c4ef-4a74-a352-c1c7e29dcecd",
|
||||
"lastCost": 13.231698250000006,
|
||||
"lastAPIDuration": 891789,
|
||||
"lastToolDuration": 132172,
|
||||
"lastDuration": 18087965,
|
||||
"lastLinesAdded": 263,
|
||||
"lastLinesRemoved": 7,
|
||||
"lastTotalInputTokens": 77295,
|
||||
"lastTotalOutputTokens": 35442,
|
||||
"lastTotalCacheCreationInputTokens": 1044639,
|
||||
"lastTotalCacheReadInputTokens": 11865821,
|
||||
"lastSessionId": "ace0ec70-77ed-44a1-806a-904ce665899a",
|
||||
"reactVulnerabilityCache": {
|
||||
"detected": false,
|
||||
"package": null,
|
||||
@ -1100,27 +1107,43 @@
|
||||
"version": null,
|
||||
"packageManager": null
|
||||
},
|
||||
"lastAPIDurationWithoutRetries": 822,
|
||||
"lastAPIDurationWithoutRetries": 891685,
|
||||
"lastModelUsage": {
|
||||
"claude-haiku-4-5-20251001": {
|
||||
"inputTokens": 536,
|
||||
"outputTokens": 35,
|
||||
"inputTokens": 71834,
|
||||
"outputTokens": 2746,
|
||||
"cacheReadInputTokens": 0,
|
||||
"cacheCreationInputTokens": 0,
|
||||
"cacheCreationInputTokens": 32095,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 0.000711
|
||||
"costUSD": 0.12568275000000004
|
||||
},
|
||||
"claude-opus-4-6": {
|
||||
"inputTokens": 5448,
|
||||
"outputTokens": 27103,
|
||||
"cacheReadInputTokens": 11539293,
|
||||
"cacheCreationInputTokens": 945261,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 12.38234275
|
||||
},
|
||||
"claude-sonnet-4-6": {
|
||||
"inputTokens": 13,
|
||||
"outputTokens": 5593,
|
||||
"cacheReadInputTokens": 326528,
|
||||
"cacheCreationInputTokens": 67283,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 0.72367275
|
||||
}
|
||||
},
|
||||
"lastFpsAverage": 6.68,
|
||||
"lastFpsLow1Pct": 219.22,
|
||||
"lastFpsAverage": 0.78,
|
||||
"lastFpsLow1Pct": 25.74,
|
||||
"lastSessionMetrics": {
|
||||
"frame_duration_ms_count": 38,
|
||||
"frame_duration_ms_min": 0.0733989999998812,
|
||||
"frame_duration_ms_max": 4.561674999999923,
|
||||
"frame_duration_ms_avg": 1.2307077105262876,
|
||||
"frame_duration_ms_p50": 1.1626314999998613,
|
||||
"frame_duration_ms_p95": 2.57251919999976,
|
||||
"frame_duration_ms_p99": 3.884495079999988
|
||||
"frame_duration_ms_count": 14187,
|
||||
"frame_duration_ms_min": 0.08366899937391281,
|
||||
"frame_duration_ms_max": 68.00957799889147,
|
||||
"frame_duration_ms_avg": 2.3383289160528014,
|
||||
"frame_duration_ms_p50": 1.0047624995931983,
|
||||
"frame_duration_ms_p95": 13.091784298792101,
|
||||
"frame_duration_ms_p99": 38.75486159028485
|
||||
}
|
||||
},
|
||||
"/mnt/NV2/Development/efd-trading-card-base": {
|
||||
@ -1999,12 +2022,12 @@
|
||||
"lastOnboardingVersion": "2.0.13",
|
||||
"subscriptionNoticeCount": 0,
|
||||
"hasAvailableSubscription": false,
|
||||
"changelogLastFetched": 1771459754216,
|
||||
"changelogLastFetched": 1771560193427,
|
||||
"fallbackAvailableWarningThreshold": 0.2,
|
||||
"hasIdeOnboardingBeenShown": {
|
||||
"vscode": true
|
||||
},
|
||||
"lastReleaseNotesSeen": "2.1.47",
|
||||
"lastReleaseNotesSeen": "2.1.49",
|
||||
"isQualifiedForDataSharing": false,
|
||||
"hasIdeAutoConnectDialogBeenShown": true,
|
||||
"shiftEnterKeyBindingInstalled": true,
|
||||
@ -2105,7 +2128,7 @@
|
||||
"currency": "USD"
|
||||
},
|
||||
"remaining_passes": 3,
|
||||
"timestamp": 1771535572741
|
||||
"timestamp": 1771560445046
|
||||
}
|
||||
},
|
||||
"opus45MigrationComplete": true,
|
||||
@ -2124,8 +2147,8 @@
|
||||
},
|
||||
"skillUsage": {
|
||||
"major-domo": {
|
||||
"usageCount": 12,
|
||||
"lastUsedAt": 1771288623314
|
||||
"usageCount": 13,
|
||||
"lastUsedAt": 1771556414365
|
||||
},
|
||||
"paper-dynasty": {
|
||||
"usageCount": 12,
|
||||
@ -2188,8 +2211,8 @@
|
||||
"lastUsedAt": 1770959377885
|
||||
},
|
||||
"sync-config": {
|
||||
"usageCount": 23,
|
||||
"lastUsedAt": 1771539236539
|
||||
"usageCount": 25,
|
||||
"lastUsedAt": 1771539739755
|
||||
},
|
||||
"claude-optimised": {
|
||||
"usageCount": 4,
|
||||
@ -2200,8 +2223,8 @@
|
||||
"lastUsedAt": 1771199427014
|
||||
},
|
||||
"cognitive-memory": {
|
||||
"usageCount": 32,
|
||||
"lastUsedAt": 1771528594878
|
||||
"usageCount": 35,
|
||||
"lastUsedAt": 1771560320138
|
||||
},
|
||||
"commit-push": {
|
||||
"usageCount": 17,
|
||||
@ -2216,12 +2239,12 @@
|
||||
"lastUsedAt": 1771364503659
|
||||
},
|
||||
"commit-push-pr": {
|
||||
"usageCount": 2,
|
||||
"lastUsedAt": 1771371630347
|
||||
"usageCount": 4,
|
||||
"lastUsedAt": 1771559391826
|
||||
},
|
||||
"mcp-manager": {
|
||||
"usageCount": 3,
|
||||
"lastUsedAt": 1771450174507
|
||||
"usageCount": 5,
|
||||
"lastUsedAt": 1771558943126
|
||||
},
|
||||
"orchestrator": {
|
||||
"usageCount": 3,
|
||||
@ -2236,8 +2259,8 @@
|
||||
"lastUsedAt": 1771536951910
|
||||
},
|
||||
"save-memories": {
|
||||
"usageCount": 3,
|
||||
"lastUsedAt": 1771539341903
|
||||
"usageCount": 7,
|
||||
"lastUsedAt": 1771559941495
|
||||
}
|
||||
},
|
||||
"opusProMigrationComplete": true,
|
||||
@ -2246,7 +2269,7 @@
|
||||
"passesLastSeenRemaining": 3,
|
||||
"clientDataCache": {
|
||||
"data": {},
|
||||
"timestamp": 1771539342029
|
||||
"timestamp": 1771560509737
|
||||
},
|
||||
"hasShownOpus46Notice": {
|
||||
"57783733-6e1e-48d5-9cb7-fa588a77b795": true
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"numStartups": 663,
|
||||
"numStartups": 670,
|
||||
"installMethod": "native",
|
||||
"autoUpdates": true,
|
||||
"preferredNotifChannel": "iterm2_with_bell",
|
||||
@ -12,39 +12,39 @@
|
||||
"todo-list": 660,
|
||||
"# for memory": 38,
|
||||
"install-github-app": 663,
|
||||
"permissions": 654,
|
||||
"drag-and-drop-images": 659,
|
||||
"permissions": 664,
|
||||
"drag-and-drop-images": 669,
|
||||
"double-esc": 75,
|
||||
"continue": 655,
|
||||
"continue": 665,
|
||||
"ide-hotkey": 74,
|
||||
"terminal-setup": 29,
|
||||
"custom-commands": 655,
|
||||
"custom-commands": 670,
|
||||
"shift-enter": 661,
|
||||
"shift-tab": 655,
|
||||
"shift-tab": 665,
|
||||
"custom-agents": 663,
|
||||
"status-line": 536,
|
||||
"git-worktrees": 661,
|
||||
"image-paste": 646,
|
||||
"image-paste": 666,
|
||||
"plan-mode-for-complex-tasks": 384,
|
||||
"double-esc-code-restore": 654,
|
||||
"double-esc-code-restore": 664,
|
||||
"tab-toggle-thinking": 329,
|
||||
"ultrathink-keyword": 423,
|
||||
"ide-upsell-external-terminal": 646,
|
||||
"ide-upsell-external-terminal": 668,
|
||||
"stickers-command": 416,
|
||||
"default-permission-mode-config": 436,
|
||||
"rename-conversation": 655,
|
||||
"rename-conversation": 670,
|
||||
"frontend-design-plugin": 560,
|
||||
"config-thinking-mode": 412,
|
||||
"guest-passes": 587,
|
||||
"colorterm-truecolor": 638,
|
||||
"web-app": 657,
|
||||
"mobile-app": 657,
|
||||
"install-slack-app": 656,
|
||||
"install-slack-app": 666,
|
||||
"btw-side-question": 407,
|
||||
"agent-flag": 652
|
||||
"agent-flag": 667
|
||||
},
|
||||
"memoryUsageCount": 18,
|
||||
"promptQueueUseCount": 4515,
|
||||
"promptQueueUseCount": 4559,
|
||||
"cachedStatsigGates": {
|
||||
"tengu_disable_bypass_permissions_mode": false,
|
||||
"tengu_use_file_checkpoints": true,
|
||||
@ -144,7 +144,7 @@
|
||||
"tengu_vinteuil_phrase": true,
|
||||
"tengu_oboe": true,
|
||||
"tengu_tst_names_in_messages": false,
|
||||
"tengu_chomp_inflection": false,
|
||||
"tengu_chomp_inflection": true,
|
||||
"tengu_silver_lantern": false,
|
||||
"tengu_copper_lantern": false,
|
||||
"tengu_workout2": true,
|
||||
@ -177,7 +177,14 @@
|
||||
"tengu_slate_nexus": false,
|
||||
"tengu_marble_sandcastle": true,
|
||||
"tengu_birch_mist": false,
|
||||
"tengu_oak_drum": false
|
||||
"tengu_oak_drum": false,
|
||||
"tengu_worktree_mode": true,
|
||||
"tengu_pebble_leaf_prune": false,
|
||||
"tengu_swann_brevity": "control",
|
||||
"tengu_crystal_beam": {
|
||||
"budgetTokens": 0
|
||||
},
|
||||
"tengu_tool_input_aliasing": false
|
||||
},
|
||||
"hasSeenStashHint": true,
|
||||
"firstStartTime": "2025-07-09T18:27:34.950Z",
|
||||
@ -615,17 +622,17 @@
|
||||
"ssh-tdarr",
|
||||
"notediscovery"
|
||||
],
|
||||
"lastCost": 40.23374199999994,
|
||||
"lastAPIDuration": 5995420,
|
||||
"lastToolDuration": 2896147,
|
||||
"lastDuration": 20374119,
|
||||
"lastLinesAdded": 2594,
|
||||
"lastLinesRemoved": 143,
|
||||
"lastTotalInputTokens": 747870,
|
||||
"lastTotalOutputTokens": 224482,
|
||||
"lastTotalCacheCreationInputTokens": 1751354,
|
||||
"lastTotalCacheReadInputTokens": 47009653,
|
||||
"lastSessionId": "606a9f26-d08c-4654-8a9a-e118a2735aaa",
|
||||
"lastCost": 16.71361575000001,
|
||||
"lastAPIDuration": 1844582,
|
||||
"lastToolDuration": 816971,
|
||||
"lastDuration": 29558088,
|
||||
"lastLinesAdded": 2386,
|
||||
"lastLinesRemoved": 60,
|
||||
"lastTotalInputTokens": 203907,
|
||||
"lastTotalOutputTokens": 87182,
|
||||
"lastTotalCacheCreationInputTokens": 987411,
|
||||
"lastTotalCacheReadInputTokens": 16492670,
|
||||
"lastSessionId": "ee8998aa-f26c-4743-84dc-0ba35f4e49c4",
|
||||
"reactVulnerabilityCache": {
|
||||
"detected": false,
|
||||
"package": null,
|
||||
@ -633,44 +640,44 @@
|
||||
"version": null,
|
||||
"packageManager": null
|
||||
},
|
||||
"lastAPIDurationWithoutRetries": 4961513,
|
||||
"lastAPIDurationWithoutRetries": 1843027,
|
||||
"lastModelUsage": {
|
||||
"claude-opus-4-6": {
|
||||
"inputTokens": 9124,
|
||||
"outputTokens": 164889,
|
||||
"cacheReadInputTokens": 44348975,
|
||||
"cacheCreationInputTokens": 1408982,
|
||||
"inputTokens": 7030,
|
||||
"outputTokens": 57045,
|
||||
"cacheReadInputTokens": 14601090,
|
||||
"cacheCreationInputTokens": 789421,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 35.148469999999996
|
||||
"costUSD": 13.695701250000003
|
||||
},
|
||||
"claude-haiku-4-5-20251001": {
|
||||
"inputTokens": 732883,
|
||||
"outputTokens": 15034,
|
||||
"inputTokens": 196822,
|
||||
"outputTokens": 4750,
|
||||
"cacheReadInputTokens": 0,
|
||||
"cacheCreationInputTokens": 67247,
|
||||
"cacheCreationInputTokens": 4167,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 0.892111749999999
|
||||
"costUSD": 0.22578074999999995
|
||||
},
|
||||
"claude-sonnet-4-6": {
|
||||
"inputTokens": 5863,
|
||||
"outputTokens": 44559,
|
||||
"cacheReadInputTokens": 2660678,
|
||||
"cacheCreationInputTokens": 275125,
|
||||
"inputTokens": 55,
|
||||
"outputTokens": 25387,
|
||||
"cacheReadInputTokens": 1891580,
|
||||
"cacheCreationInputTokens": 193823,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 4.19316025
|
||||
"costUSD": 2.7921337499999996
|
||||
}
|
||||
},
|
||||
"lastSessionMetrics": {
|
||||
"frame_duration_ms_count": 126433,
|
||||
"frame_duration_ms_min": 0.033378999680280685,
|
||||
"frame_duration_ms_max": 185.3289749994874,
|
||||
"frame_duration_ms_avg": 4.580825976891975,
|
||||
"frame_duration_ms_p50": 1.4972434998489916,
|
||||
"frame_duration_ms_p95": 3.451200450630833,
|
||||
"frame_duration_ms_p99": 90.20297368977218
|
||||
"frame_duration_ms_count": 35110,
|
||||
"frame_duration_ms_min": 0.10013899999830755,
|
||||
"frame_duration_ms_max": 45.71880799904466,
|
||||
"frame_duration_ms_avg": 1.8384896022149897,
|
||||
"frame_duration_ms_p50": 0.9785875007510185,
|
||||
"frame_duration_ms_p95": 9.048351652547707,
|
||||
"frame_duration_ms_p99": 25.241195021457933
|
||||
},
|
||||
"lastFpsAverage": 6.12,
|
||||
"lastFpsLow1Pct": 11.02
|
||||
"lastFpsAverage": 1.19,
|
||||
"lastFpsLow1Pct": 43.16
|
||||
},
|
||||
"/mnt/NV2/Development/major-domo": {
|
||||
"allowedTools": [],
|
||||
@ -1082,17 +1089,17 @@
|
||||
"exampleFilesGeneratedAt": 1771431800882,
|
||||
"hasCompletedProjectOnboarding": true,
|
||||
"lastTotalWebSearchRequests": 0,
|
||||
"lastCost": 0.000711,
|
||||
"lastAPIDuration": 823,
|
||||
"lastToolDuration": 0,
|
||||
"lastDuration": 6284,
|
||||
"lastLinesAdded": 0,
|
||||
"lastLinesRemoved": 0,
|
||||
"lastTotalInputTokens": 536,
|
||||
"lastTotalOutputTokens": 35,
|
||||
"lastTotalCacheCreationInputTokens": 0,
|
||||
"lastTotalCacheReadInputTokens": 0,
|
||||
"lastSessionId": "a20b0e55-c4ef-4a74-a352-c1c7e29dcecd",
|
||||
"lastCost": 13.231698250000006,
|
||||
"lastAPIDuration": 891789,
|
||||
"lastToolDuration": 132172,
|
||||
"lastDuration": 18087965,
|
||||
"lastLinesAdded": 263,
|
||||
"lastLinesRemoved": 7,
|
||||
"lastTotalInputTokens": 77295,
|
||||
"lastTotalOutputTokens": 35442,
|
||||
"lastTotalCacheCreationInputTokens": 1044639,
|
||||
"lastTotalCacheReadInputTokens": 11865821,
|
||||
"lastSessionId": "ace0ec70-77ed-44a1-806a-904ce665899a",
|
||||
"reactVulnerabilityCache": {
|
||||
"detected": false,
|
||||
"package": null,
|
||||
@ -1100,27 +1107,43 @@
|
||||
"version": null,
|
||||
"packageManager": null
|
||||
},
|
||||
"lastAPIDurationWithoutRetries": 822,
|
||||
"lastAPIDurationWithoutRetries": 891685,
|
||||
"lastModelUsage": {
|
||||
"claude-haiku-4-5-20251001": {
|
||||
"inputTokens": 536,
|
||||
"outputTokens": 35,
|
||||
"inputTokens": 71834,
|
||||
"outputTokens": 2746,
|
||||
"cacheReadInputTokens": 0,
|
||||
"cacheCreationInputTokens": 0,
|
||||
"cacheCreationInputTokens": 32095,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 0.000711
|
||||
"costUSD": 0.12568275000000004
|
||||
},
|
||||
"claude-opus-4-6": {
|
||||
"inputTokens": 5448,
|
||||
"outputTokens": 27103,
|
||||
"cacheReadInputTokens": 11539293,
|
||||
"cacheCreationInputTokens": 945261,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 12.38234275
|
||||
},
|
||||
"claude-sonnet-4-6": {
|
||||
"inputTokens": 13,
|
||||
"outputTokens": 5593,
|
||||
"cacheReadInputTokens": 326528,
|
||||
"cacheCreationInputTokens": 67283,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 0.72367275
|
||||
}
|
||||
},
|
||||
"lastFpsAverage": 6.68,
|
||||
"lastFpsLow1Pct": 219.22,
|
||||
"lastFpsAverage": 0.78,
|
||||
"lastFpsLow1Pct": 25.74,
|
||||
"lastSessionMetrics": {
|
||||
"frame_duration_ms_count": 38,
|
||||
"frame_duration_ms_min": 0.0733989999998812,
|
||||
"frame_duration_ms_max": 4.561674999999923,
|
||||
"frame_duration_ms_avg": 1.2307077105262876,
|
||||
"frame_duration_ms_p50": 1.1626314999998613,
|
||||
"frame_duration_ms_p95": 2.57251919999976,
|
||||
"frame_duration_ms_p99": 3.884495079999988
|
||||
"frame_duration_ms_count": 14187,
|
||||
"frame_duration_ms_min": 0.08366899937391281,
|
||||
"frame_duration_ms_max": 68.00957799889147,
|
||||
"frame_duration_ms_avg": 2.3383289160528014,
|
||||
"frame_duration_ms_p50": 1.0047624995931983,
|
||||
"frame_duration_ms_p95": 13.091784298792101,
|
||||
"frame_duration_ms_p99": 38.75486159028485
|
||||
}
|
||||
},
|
||||
"/mnt/NV2/Development/efd-trading-card-base": {
|
||||
@ -1999,12 +2022,12 @@
|
||||
"lastOnboardingVersion": "2.0.13",
|
||||
"subscriptionNoticeCount": 0,
|
||||
"hasAvailableSubscription": false,
|
||||
"changelogLastFetched": 1771459754216,
|
||||
"changelogLastFetched": 1771560193427,
|
||||
"fallbackAvailableWarningThreshold": 0.2,
|
||||
"hasIdeOnboardingBeenShown": {
|
||||
"vscode": true
|
||||
},
|
||||
"lastReleaseNotesSeen": "2.1.47",
|
||||
"lastReleaseNotesSeen": "2.1.49",
|
||||
"isQualifiedForDataSharing": false,
|
||||
"hasIdeAutoConnectDialogBeenShown": true,
|
||||
"shiftEnterKeyBindingInstalled": true,
|
||||
@ -2105,7 +2128,7 @@
|
||||
"currency": "USD"
|
||||
},
|
||||
"remaining_passes": 3,
|
||||
"timestamp": 1771535572741
|
||||
"timestamp": 1771560445046
|
||||
}
|
||||
},
|
||||
"opus45MigrationComplete": true,
|
||||
@ -2124,8 +2147,8 @@
|
||||
},
|
||||
"skillUsage": {
|
||||
"major-domo": {
|
||||
"usageCount": 12,
|
||||
"lastUsedAt": 1771288623314
|
||||
"usageCount": 13,
|
||||
"lastUsedAt": 1771556414365
|
||||
},
|
||||
"paper-dynasty": {
|
||||
"usageCount": 12,
|
||||
@ -2188,8 +2211,8 @@
|
||||
"lastUsedAt": 1770959377885
|
||||
},
|
||||
"sync-config": {
|
||||
"usageCount": 23,
|
||||
"lastUsedAt": 1771539236539
|
||||
"usageCount": 25,
|
||||
"lastUsedAt": 1771539739755
|
||||
},
|
||||
"claude-optimised": {
|
||||
"usageCount": 4,
|
||||
@ -2200,8 +2223,8 @@
|
||||
"lastUsedAt": 1771199427014
|
||||
},
|
||||
"cognitive-memory": {
|
||||
"usageCount": 32,
|
||||
"lastUsedAt": 1771528594878
|
||||
"usageCount": 35,
|
||||
"lastUsedAt": 1771560320138
|
||||
},
|
||||
"commit-push": {
|
||||
"usageCount": 17,
|
||||
@ -2216,12 +2239,12 @@
|
||||
"lastUsedAt": 1771364503659
|
||||
},
|
||||
"commit-push-pr": {
|
||||
"usageCount": 2,
|
||||
"lastUsedAt": 1771371630347
|
||||
"usageCount": 4,
|
||||
"lastUsedAt": 1771559391826
|
||||
},
|
||||
"mcp-manager": {
|
||||
"usageCount": 3,
|
||||
"lastUsedAt": 1771450174507
|
||||
"usageCount": 5,
|
||||
"lastUsedAt": 1771558943126
|
||||
},
|
||||
"orchestrator": {
|
||||
"usageCount": 3,
|
||||
@ -2236,8 +2259,8 @@
|
||||
"lastUsedAt": 1771536951910
|
||||
},
|
||||
"save-memories": {
|
||||
"usageCount": 3,
|
||||
"lastUsedAt": 1771539341903
|
||||
"usageCount": 7,
|
||||
"lastUsedAt": 1771559941495
|
||||
}
|
||||
},
|
||||
"opusProMigrationComplete": true,
|
||||
@ -2246,7 +2269,7 @@
|
||||
"passesLastSeenRemaining": 3,
|
||||
"clientDataCache": {
|
||||
"data": {},
|
||||
"timestamp": 1771539410106
|
||||
"timestamp": 1771560553737
|
||||
},
|
||||
"hasShownOpus46Notice": {
|
||||
"57783733-6e1e-48d5-9cb7-fa588a77b795": true
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"numStartups": 663,
|
||||
"numStartups": 670,
|
||||
"installMethod": "native",
|
||||
"autoUpdates": true,
|
||||
"preferredNotifChannel": "iterm2_with_bell",
|
||||
@ -12,39 +12,39 @@
|
||||
"todo-list": 660,
|
||||
"# for memory": 38,
|
||||
"install-github-app": 663,
|
||||
"permissions": 654,
|
||||
"drag-and-drop-images": 659,
|
||||
"permissions": 664,
|
||||
"drag-and-drop-images": 669,
|
||||
"double-esc": 75,
|
||||
"continue": 655,
|
||||
"continue": 665,
|
||||
"ide-hotkey": 74,
|
||||
"terminal-setup": 29,
|
||||
"custom-commands": 655,
|
||||
"custom-commands": 670,
|
||||
"shift-enter": 661,
|
||||
"shift-tab": 655,
|
||||
"shift-tab": 665,
|
||||
"custom-agents": 663,
|
||||
"status-line": 536,
|
||||
"git-worktrees": 661,
|
||||
"image-paste": 646,
|
||||
"image-paste": 666,
|
||||
"plan-mode-for-complex-tasks": 384,
|
||||
"double-esc-code-restore": 654,
|
||||
"double-esc-code-restore": 664,
|
||||
"tab-toggle-thinking": 329,
|
||||
"ultrathink-keyword": 423,
|
||||
"ide-upsell-external-terminal": 646,
|
||||
"ide-upsell-external-terminal": 668,
|
||||
"stickers-command": 416,
|
||||
"default-permission-mode-config": 436,
|
||||
"rename-conversation": 655,
|
||||
"rename-conversation": 670,
|
||||
"frontend-design-plugin": 560,
|
||||
"config-thinking-mode": 412,
|
||||
"guest-passes": 587,
|
||||
"colorterm-truecolor": 638,
|
||||
"web-app": 657,
|
||||
"mobile-app": 657,
|
||||
"install-slack-app": 656,
|
||||
"install-slack-app": 666,
|
||||
"btw-side-question": 407,
|
||||
"agent-flag": 652
|
||||
"agent-flag": 667
|
||||
},
|
||||
"memoryUsageCount": 18,
|
||||
"promptQueueUseCount": 4515,
|
||||
"promptQueueUseCount": 4559,
|
||||
"cachedStatsigGates": {
|
||||
"tengu_disable_bypass_permissions_mode": false,
|
||||
"tengu_use_file_checkpoints": true,
|
||||
@ -144,7 +144,7 @@
|
||||
"tengu_vinteuil_phrase": true,
|
||||
"tengu_oboe": true,
|
||||
"tengu_tst_names_in_messages": false,
|
||||
"tengu_chomp_inflection": false,
|
||||
"tengu_chomp_inflection": true,
|
||||
"tengu_silver_lantern": false,
|
||||
"tengu_copper_lantern": false,
|
||||
"tengu_workout2": true,
|
||||
@ -177,7 +177,14 @@
|
||||
"tengu_slate_nexus": false,
|
||||
"tengu_marble_sandcastle": true,
|
||||
"tengu_birch_mist": false,
|
||||
"tengu_oak_drum": false
|
||||
"tengu_oak_drum": false,
|
||||
"tengu_worktree_mode": true,
|
||||
"tengu_pebble_leaf_prune": false,
|
||||
"tengu_swann_brevity": "control",
|
||||
"tengu_crystal_beam": {
|
||||
"budgetTokens": 0
|
||||
},
|
||||
"tengu_tool_input_aliasing": false
|
||||
},
|
||||
"hasSeenStashHint": true,
|
||||
"firstStartTime": "2025-07-09T18:27:34.950Z",
|
||||
@ -615,17 +622,17 @@
|
||||
"ssh-tdarr",
|
||||
"notediscovery"
|
||||
],
|
||||
"lastCost": 40.23374199999994,
|
||||
"lastAPIDuration": 5995420,
|
||||
"lastToolDuration": 2896147,
|
||||
"lastDuration": 20374119,
|
||||
"lastLinesAdded": 2594,
|
||||
"lastLinesRemoved": 143,
|
||||
"lastTotalInputTokens": 747870,
|
||||
"lastTotalOutputTokens": 224482,
|
||||
"lastTotalCacheCreationInputTokens": 1751354,
|
||||
"lastTotalCacheReadInputTokens": 47009653,
|
||||
"lastSessionId": "606a9f26-d08c-4654-8a9a-e118a2735aaa",
|
||||
"lastCost": 16.71361575000001,
|
||||
"lastAPIDuration": 1844582,
|
||||
"lastToolDuration": 816971,
|
||||
"lastDuration": 29558088,
|
||||
"lastLinesAdded": 2386,
|
||||
"lastLinesRemoved": 60,
|
||||
"lastTotalInputTokens": 203907,
|
||||
"lastTotalOutputTokens": 87182,
|
||||
"lastTotalCacheCreationInputTokens": 987411,
|
||||
"lastTotalCacheReadInputTokens": 16492670,
|
||||
"lastSessionId": "ee8998aa-f26c-4743-84dc-0ba35f4e49c4",
|
||||
"reactVulnerabilityCache": {
|
||||
"detected": false,
|
||||
"package": null,
|
||||
@ -633,44 +640,44 @@
|
||||
"version": null,
|
||||
"packageManager": null
|
||||
},
|
||||
"lastAPIDurationWithoutRetries": 4961513,
|
||||
"lastAPIDurationWithoutRetries": 1843027,
|
||||
"lastModelUsage": {
|
||||
"claude-opus-4-6": {
|
||||
"inputTokens": 9124,
|
||||
"outputTokens": 164889,
|
||||
"cacheReadInputTokens": 44348975,
|
||||
"cacheCreationInputTokens": 1408982,
|
||||
"inputTokens": 7030,
|
||||
"outputTokens": 57045,
|
||||
"cacheReadInputTokens": 14601090,
|
||||
"cacheCreationInputTokens": 789421,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 35.148469999999996
|
||||
"costUSD": 13.695701250000003
|
||||
},
|
||||
"claude-haiku-4-5-20251001": {
|
||||
"inputTokens": 732883,
|
||||
"outputTokens": 15034,
|
||||
"inputTokens": 196822,
|
||||
"outputTokens": 4750,
|
||||
"cacheReadInputTokens": 0,
|
||||
"cacheCreationInputTokens": 67247,
|
||||
"cacheCreationInputTokens": 4167,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 0.892111749999999
|
||||
"costUSD": 0.22578074999999995
|
||||
},
|
||||
"claude-sonnet-4-6": {
|
||||
"inputTokens": 5863,
|
||||
"outputTokens": 44559,
|
||||
"cacheReadInputTokens": 2660678,
|
||||
"cacheCreationInputTokens": 275125,
|
||||
"inputTokens": 55,
|
||||
"outputTokens": 25387,
|
||||
"cacheReadInputTokens": 1891580,
|
||||
"cacheCreationInputTokens": 193823,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 4.19316025
|
||||
"costUSD": 2.7921337499999996
|
||||
}
|
||||
},
|
||||
"lastSessionMetrics": {
|
||||
"frame_duration_ms_count": 126433,
|
||||
"frame_duration_ms_min": 0.033378999680280685,
|
||||
"frame_duration_ms_max": 185.3289749994874,
|
||||
"frame_duration_ms_avg": 4.580825976891975,
|
||||
"frame_duration_ms_p50": 1.4972434998489916,
|
||||
"frame_duration_ms_p95": 3.451200450630833,
|
||||
"frame_duration_ms_p99": 90.20297368977218
|
||||
"frame_duration_ms_count": 35110,
|
||||
"frame_duration_ms_min": 0.10013899999830755,
|
||||
"frame_duration_ms_max": 45.71880799904466,
|
||||
"frame_duration_ms_avg": 1.8384896022149897,
|
||||
"frame_duration_ms_p50": 0.9785875007510185,
|
||||
"frame_duration_ms_p95": 9.048351652547707,
|
||||
"frame_duration_ms_p99": 25.241195021457933
|
||||
},
|
||||
"lastFpsAverage": 6.12,
|
||||
"lastFpsLow1Pct": 11.02
|
||||
"lastFpsAverage": 1.19,
|
||||
"lastFpsLow1Pct": 43.16
|
||||
},
|
||||
"/mnt/NV2/Development/major-domo": {
|
||||
"allowedTools": [],
|
||||
@ -1082,17 +1089,17 @@
|
||||
"exampleFilesGeneratedAt": 1771431800882,
|
||||
"hasCompletedProjectOnboarding": true,
|
||||
"lastTotalWebSearchRequests": 0,
|
||||
"lastCost": 0.000711,
|
||||
"lastAPIDuration": 823,
|
||||
"lastToolDuration": 0,
|
||||
"lastDuration": 6284,
|
||||
"lastLinesAdded": 0,
|
||||
"lastLinesRemoved": 0,
|
||||
"lastTotalInputTokens": 536,
|
||||
"lastTotalOutputTokens": 35,
|
||||
"lastTotalCacheCreationInputTokens": 0,
|
||||
"lastTotalCacheReadInputTokens": 0,
|
||||
"lastSessionId": "a20b0e55-c4ef-4a74-a352-c1c7e29dcecd",
|
||||
"lastCost": 13.231698250000006,
|
||||
"lastAPIDuration": 891789,
|
||||
"lastToolDuration": 132172,
|
||||
"lastDuration": 18087965,
|
||||
"lastLinesAdded": 263,
|
||||
"lastLinesRemoved": 7,
|
||||
"lastTotalInputTokens": 77295,
|
||||
"lastTotalOutputTokens": 35442,
|
||||
"lastTotalCacheCreationInputTokens": 1044639,
|
||||
"lastTotalCacheReadInputTokens": 11865821,
|
||||
"lastSessionId": "ace0ec70-77ed-44a1-806a-904ce665899a",
|
||||
"reactVulnerabilityCache": {
|
||||
"detected": false,
|
||||
"package": null,
|
||||
@ -1100,27 +1107,43 @@
|
||||
"version": null,
|
||||
"packageManager": null
|
||||
},
|
||||
"lastAPIDurationWithoutRetries": 822,
|
||||
"lastAPIDurationWithoutRetries": 891685,
|
||||
"lastModelUsage": {
|
||||
"claude-haiku-4-5-20251001": {
|
||||
"inputTokens": 536,
|
||||
"outputTokens": 35,
|
||||
"inputTokens": 71834,
|
||||
"outputTokens": 2746,
|
||||
"cacheReadInputTokens": 0,
|
||||
"cacheCreationInputTokens": 0,
|
||||
"cacheCreationInputTokens": 32095,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 0.000711
|
||||
"costUSD": 0.12568275000000004
|
||||
},
|
||||
"claude-opus-4-6": {
|
||||
"inputTokens": 5448,
|
||||
"outputTokens": 27103,
|
||||
"cacheReadInputTokens": 11539293,
|
||||
"cacheCreationInputTokens": 945261,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 12.38234275
|
||||
},
|
||||
"claude-sonnet-4-6": {
|
||||
"inputTokens": 13,
|
||||
"outputTokens": 5593,
|
||||
"cacheReadInputTokens": 326528,
|
||||
"cacheCreationInputTokens": 67283,
|
||||
"webSearchRequests": 0,
|
||||
"costUSD": 0.72367275
|
||||
}
|
||||
},
|
||||
"lastFpsAverage": 6.68,
|
||||
"lastFpsLow1Pct": 219.22,
|
||||
"lastFpsAverage": 0.78,
|
||||
"lastFpsLow1Pct": 25.74,
|
||||
"lastSessionMetrics": {
|
||||
"frame_duration_ms_count": 38,
|
||||
"frame_duration_ms_min": 0.0733989999998812,
|
||||
"frame_duration_ms_max": 4.561674999999923,
|
||||
"frame_duration_ms_avg": 1.2307077105262876,
|
||||
"frame_duration_ms_p50": 1.1626314999998613,
|
||||
"frame_duration_ms_p95": 2.57251919999976,
|
||||
"frame_duration_ms_p99": 3.884495079999988
|
||||
"frame_duration_ms_count": 14187,
|
||||
"frame_duration_ms_min": 0.08366899937391281,
|
||||
"frame_duration_ms_max": 68.00957799889147,
|
||||
"frame_duration_ms_avg": 2.3383289160528014,
|
||||
"frame_duration_ms_p50": 1.0047624995931983,
|
||||
"frame_duration_ms_p95": 13.091784298792101,
|
||||
"frame_duration_ms_p99": 38.75486159028485
|
||||
}
|
||||
},
|
||||
"/mnt/NV2/Development/efd-trading-card-base": {
|
||||
@ -1999,12 +2022,12 @@
|
||||
"lastOnboardingVersion": "2.0.13",
|
||||
"subscriptionNoticeCount": 0,
|
||||
"hasAvailableSubscription": false,
|
||||
"changelogLastFetched": 1771459754216,
|
||||
"changelogLastFetched": 1771560193427,
|
||||
"fallbackAvailableWarningThreshold": 0.2,
|
||||
"hasIdeOnboardingBeenShown": {
|
||||
"vscode": true
|
||||
},
|
||||
"lastReleaseNotesSeen": "2.1.47",
|
||||
"lastReleaseNotesSeen": "2.1.49",
|
||||
"isQualifiedForDataSharing": false,
|
||||
"hasIdeAutoConnectDialogBeenShown": true,
|
||||
"shiftEnterKeyBindingInstalled": true,
|
||||
@ -2105,7 +2128,7 @@
|
||||
"currency": "USD"
|
||||
},
|
||||
"remaining_passes": 3,
|
||||
"timestamp": 1771535572741
|
||||
"timestamp": 1771560445046
|
||||
}
|
||||
},
|
||||
"opus45MigrationComplete": true,
|
||||
@ -2124,8 +2147,8 @@
|
||||
},
|
||||
"skillUsage": {
|
||||
"major-domo": {
|
||||
"usageCount": 12,
|
||||
"lastUsedAt": 1771288623314
|
||||
"usageCount": 13,
|
||||
"lastUsedAt": 1771556414365
|
||||
},
|
||||
"paper-dynasty": {
|
||||
"usageCount": 12,
|
||||
@ -2188,8 +2211,8 @@
|
||||
"lastUsedAt": 1770959377885
|
||||
},
|
||||
"sync-config": {
|
||||
"usageCount": 23,
|
||||
"lastUsedAt": 1771539236539
|
||||
"usageCount": 25,
|
||||
"lastUsedAt": 1771539739755
|
||||
},
|
||||
"claude-optimised": {
|
||||
"usageCount": 4,
|
||||
@ -2200,8 +2223,8 @@
|
||||
"lastUsedAt": 1771199427014
|
||||
},
|
||||
"cognitive-memory": {
|
||||
"usageCount": 32,
|
||||
"lastUsedAt": 1771528594878
|
||||
"usageCount": 35,
|
||||
"lastUsedAt": 1771560320138
|
||||
},
|
||||
"commit-push": {
|
||||
"usageCount": 17,
|
||||
@ -2216,12 +2239,12 @@
|
||||
"lastUsedAt": 1771364503659
|
||||
},
|
||||
"commit-push-pr": {
|
||||
"usageCount": 2,
|
||||
"lastUsedAt": 1771371630347
|
||||
"usageCount": 4,
|
||||
"lastUsedAt": 1771559391826
|
||||
},
|
||||
"mcp-manager": {
|
||||
"usageCount": 3,
|
||||
"lastUsedAt": 1771450174507
|
||||
"usageCount": 5,
|
||||
"lastUsedAt": 1771558943126
|
||||
},
|
||||
"orchestrator": {
|
||||
"usageCount": 3,
|
||||
@ -2236,8 +2259,8 @@
|
||||
"lastUsedAt": 1771536951910
|
||||
},
|
||||
"save-memories": {
|
||||
"usageCount": 3,
|
||||
"lastUsedAt": 1771539341903
|
||||
"usageCount": 7,
|
||||
"lastUsedAt": 1771559941495
|
||||
}
|
||||
},
|
||||
"opusProMigrationComplete": true,
|
||||
@ -2246,7 +2269,7 @@
|
||||
"passesLastSeenRemaining": 3,
|
||||
"clientDataCache": {
|
||||
"data": {},
|
||||
"timestamp": 1771539486281
|
||||
"timestamp": 1771560601674
|
||||
},
|
||||
"hasShownOpus46Notice": {
|
||||
"57783733-6e1e-48d5-9cb7-fa588a77b795": true
|
||||
2295
backups/.claude.json.backup.1771560754552
Normal file
2295
backups/.claude.json.backup.1771560754552
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
{
|
||||
"fetchedAt": "2026-02-19T21:12:52.014Z",
|
||||
"fetchedAt": "2026-02-20T04:07:24.860Z",
|
||||
"plugins": [
|
||||
{
|
||||
"plugin": "code-review@claude-plugins-official",
|
||||
|
||||
@ -13,6 +13,6 @@
|
||||
"repo": "anthropics/claude-code"
|
||||
},
|
||||
"installLocation": "/home/cal/.claude/plugins/marketplaces/claude-code-plugins",
|
||||
"lastUpdated": "2026-02-19T21:13:33.303Z"
|
||||
"lastUpdated": "2026-02-20T04:08:05.428Z"
|
||||
}
|
||||
}
|
||||
@ -1 +1 @@
|
||||
Subproject commit b757fc9ecdf77e450442e3ca9f9093a9da35952b
|
||||
Subproject commit 0d996a7c346e2f3aca34e3488e49f1da537d7811
|
||||
@ -55,7 +55,8 @@
|
||||
"mcp__memorygraph__*",
|
||||
"mcp__memorygraph__get_memory",
|
||||
"Skill(notediscovery)",
|
||||
"mcp__cognitive-memory__*"
|
||||
"mcp__cognitive-memory__*",
|
||||
"mcp__n8n-mcp__*"
|
||||
],
|
||||
"deny": [
|
||||
"Bash(diskutil partitionDisk)",
|
||||
|
||||
@ -13,103 +13,57 @@ Minimize context consumption by only loading MCP servers when they're actually n
|
||||
### Auto-Detection
|
||||
When user makes a request, analyze the task to determine if any MCPs would be useful:
|
||||
|
||||
**Web Stack Analysis & Port Scanning:**
|
||||
- Keywords: "what stack", "what technology", "web server info", "port scan", "open ports", "services running"
|
||||
- MCPs: `httpx`, `naabu`
|
||||
**n8n Workflow Automation:**
|
||||
- Keywords: "n8n", "workflow", "automation", "webhook", "n8n node", "n8n template"
|
||||
- MCPs: `n8n-mcp`
|
||||
|
||||
**Web Scraping & Automation:**
|
||||
- Keywords: "scrape", "extract from website", "crawl", "get data from", "browser automation", "screenshot website"
|
||||
- MCPs: `apify`, `brightdata`, `playwright`
|
||||
|
||||
**Documentation Lookup:**
|
||||
- Keywords: "documentation for", "API reference", "check docs", "how to use [library]"
|
||||
- MCPs: `Ref`
|
||||
|
||||
**Payment/Stripe Operations:**
|
||||
- Keywords: "stripe", "payment", "subscription", "invoice", "customer billing"
|
||||
- MCPs: `stripe`
|
||||
|
||||
**Personal Content (Daniel Miessler specific):**
|
||||
- Keywords: "your opinion on", "you wrote about", "your blog post", "your thoughts"
|
||||
- MCPs: `content`, `daemon`, `Foundry`
|
||||
- MCPs: `playwright`
|
||||
|
||||
|
||||
### MCP Registry
|
||||
```json
|
||||
{
|
||||
"httpx": {
|
||||
"type": "http",
|
||||
"category": "security",
|
||||
"description": "Web server stack information and tech analysis",
|
||||
"triggers": ["stack", "web server", "technology", "httpx"],
|
||||
"url": "https://httpx-mcp.danielmiessler.workers.dev"
|
||||
},
|
||||
"naabu": {
|
||||
"type": "http",
|
||||
"category": "security",
|
||||
"description": "Port scanning and service discovery",
|
||||
"triggers": ["port scan", "open ports", "services", "naabu"],
|
||||
"url": "https://naabu-mcp.danielmiessler.workers.dev"
|
||||
},
|
||||
"apify": {
|
||||
"cognitive-memory": {
|
||||
"type": "stdio",
|
||||
"category": "scraping",
|
||||
"description": "Web scraping and automation via Apify",
|
||||
"triggers": ["scrape", "crawl", "extract", "apify"],
|
||||
"command": "bunx"
|
||||
"category": "memory",
|
||||
"description": "Cognitive memory system with decay scoring, episodic logging, and graph relationships",
|
||||
"triggers": ["memory", "recall", "remember", "cognitive"],
|
||||
"command": "/home/cal/.claude/skills/cognitive-memory/mcp-server/cognitive-memory-mcp",
|
||||
"alwaysLoaded": true
|
||||
},
|
||||
"brightdata": {
|
||||
"n8n-mcp": {
|
||||
"type": "stdio",
|
||||
"category": "scraping",
|
||||
"description": "Enterprise web data extraction",
|
||||
"triggers": ["scrape", "proxy", "brightdata"],
|
||||
"command": "bunx"
|
||||
"category": "automation",
|
||||
"description": "n8n workflow automation - node docs, templates, workflow management via API",
|
||||
"triggers": ["n8n", "workflow", "automation", "webhook", "n8n node", "n8n template"],
|
||||
"command": "npx",
|
||||
"args": ["n8n-mcp"],
|
||||
"env": {
|
||||
"MCP_MODE": "stdio",
|
||||
"N8N_API_URL": "http://10.10.0.210:5678",
|
||||
"N8N_API_KEY": "~/.claude/secrets/n8n_api_key",
|
||||
"N8N_MCP_TELEMETRY_DISABLED": "true",
|
||||
"DISABLE_CONSOLE_OUTPUT": "true",
|
||||
"LOG_LEVEL": "error"
|
||||
}
|
||||
},
|
||||
"playwright": {
|
||||
"type": "stdio",
|
||||
"category": "automation",
|
||||
"description": "Browser automation and testing",
|
||||
"triggers": ["browser", "screenshot", "playwright", "automate browser"],
|
||||
"command": "bunx"
|
||||
},
|
||||
"Ref": {
|
||||
"type": "stdio",
|
||||
"category": "documentation",
|
||||
"description": "Documentation search from public and private sources",
|
||||
"triggers": ["documentation", "docs", "API reference", "ref"],
|
||||
"command": "bunx"
|
||||
},
|
||||
"stripe": {
|
||||
"type": "stdio",
|
||||
"category": "payments",
|
||||
"description": "Stripe payment processing and operations",
|
||||
"triggers": ["stripe", "payment", "billing", "subscription"],
|
||||
"command": "bunx"
|
||||
},
|
||||
"content": {
|
||||
"type": "http",
|
||||
"category": "personal",
|
||||
"description": "Daniel Miessler's content archive",
|
||||
"triggers": ["your content", "you wrote", "your blog", "your opinion"],
|
||||
"url": "https://content-mcp.danielmiessler.workers.dev"
|
||||
},
|
||||
"daemon": {
|
||||
"type": "http",
|
||||
"category": "personal",
|
||||
"description": "Daniel Miessler's personal API",
|
||||
"triggers": ["daemon", "personal api"],
|
||||
"url": "https://mcp.daemon.danielmiessler.com"
|
||||
},
|
||||
"Foundry": {
|
||||
"type": "http",
|
||||
"category": "personal",
|
||||
"description": "Daniel Miessler's PAI infrastructure",
|
||||
"triggers": ["foundry", "pai tool"],
|
||||
"url": "https://api.danielmiessler.com/mcp/"
|
||||
"command": "npx",
|
||||
"args": ["@anthropic/mcp-playwright"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
> **Note:** The actual MCP server definitions (with real credentials) live in `~/.claude/.mcp-full.json`.
|
||||
> The registry above documents triggers and categories for auto-detection.
|
||||
> Credentials like `N8N_API_KEY` are stored in `~/.claude/secrets/` and referenced by the full config.
|
||||
|
||||
## Commands & Usage
|
||||
|
||||
### Automatic Mode (Default)
|
||||
@ -130,14 +84,14 @@ User can explicitly manage MCPs:
|
||||
|
||||
### Example Workflow
|
||||
|
||||
**User:** "Can you check what tech stack reddit.com is running?"
|
||||
**User:** "Help me create an n8n workflow for monitoring Proxmox backups"
|
||||
|
||||
**Jarvis:**
|
||||
**Claude:**
|
||||
```
|
||||
Detected need for web stack analysis.
|
||||
Loading MCP: httpx
|
||||
Detected need for n8n workflow automation.
|
||||
Loading MCP: n8n-mcp
|
||||
|
||||
[Modifies .mcp.json to enable httpx]
|
||||
[Modifies .mcp.json to enable n8n-mcp from .mcp-full.json]
|
||||
⚠️ Note: Claude Code restart required for MCP changes to take effect.
|
||||
Would you like me to continue with the task after restart?
|
||||
```
|
||||
@ -145,17 +99,24 @@ Would you like me to continue with the task after restart?
|
||||
**After task completion:**
|
||||
```
|
||||
Task complete!
|
||||
Currently loaded MCPs: httpx (consuming ~500 tokens)
|
||||
Would you like me to unload httpx to free up context? (yes/no)
|
||||
Currently loaded MCPs: n8n-mcp (consuming ~1500 tokens)
|
||||
Would you like me to unload n8n-mcp to free up context? (yes/no)
|
||||
```
|
||||
|
||||
## Configuration Files
|
||||
|
||||
### Where Claude Code Actually Reads MCP Config
|
||||
Claude Code reads MCP server definitions from **two** locations:
|
||||
1. **Global**: `~/.claude.json` → `mcpServers` key (always-on MCPs like `cognitive-memory`)
|
||||
2. **Project**: `<project-root>/.mcp.json` → `mcpServers` key (on-demand MCPs)
|
||||
|
||||
**IMPORTANT:** `~/.claude/.mcp.json` is NOT read by Claude Code. The mcp-manager operates on the project-level `.mcp.json` (auto-detected via git root).
|
||||
|
||||
### Locations
|
||||
- **Active Config**: `~/.claude/.mcp.json`
|
||||
- **Backup Config**: `~/.claude/.mcp.json.backup`
|
||||
- **Full Registry**: `~/.claude/.mcp-full.json` (all MCPs)
|
||||
- **Minimal Config**: `~/.claude/.mcp-minimal.json` (empty/essential only)
|
||||
- **Global Config**: `~/.claude.json` → always-on MCPs (cognitive-memory)
|
||||
- **Project Config**: `<project-root>/.mcp.json` → on-demand MCPs (n8n-mcp, playwright, etc.)
|
||||
- **Full Registry**: `~/.claude/.mcp-full.json` (all available MCP definitions with credentials)
|
||||
- **Backup**: `<project-root>/.mcp.json.backup` (auto-created before changes)
|
||||
|
||||
### Safety
|
||||
- Always backup before modifications
|
||||
@ -166,19 +127,20 @@ Would you like me to unload httpx to free up context? (yes/no)
|
||||
## Implementation Details
|
||||
|
||||
### Enable MCP
|
||||
1. Read current `.mcp.json`
|
||||
2. Backup to `.mcp.json.backup`
|
||||
3. Read full MCP definition from `.mcp-full.json`
|
||||
4. Merge MCP into active config
|
||||
5. Write updated `.mcp.json`
|
||||
6. Log change
|
||||
7. Notify user (restart required)
|
||||
1. Detect project root (git root or CWD)
|
||||
2. Read current `<project>/.mcp.json`
|
||||
3. Backup to `<project>/.mcp.json.backup`
|
||||
4. Read full MCP definition from `~/.claude/.mcp-full.json`
|
||||
5. Merge MCP into project config
|
||||
6. Write updated `<project>/.mcp.json`
|
||||
7. Log change
|
||||
8. Notify user (restart required)
|
||||
|
||||
### Disable MCP
|
||||
1. Read current `.mcp.json`
|
||||
2. Backup to `.mcp.json.backup`
|
||||
1. Read current `<project>/.mcp.json`
|
||||
2. Backup to `<project>/.mcp.json.backup`
|
||||
3. Remove MCP from `mcpServers` object
|
||||
4. Write updated `.mcp.json`
|
||||
4. Write updated `<project>/.mcp.json`
|
||||
5. Log change
|
||||
6. Notify user (restart required)
|
||||
|
||||
@ -227,7 +189,7 @@ MCPs require Claude Code restart to take effect. Options:
|
||||
|
||||
## Proactive Use
|
||||
|
||||
This skill should be invoked automatically by Jarvis when:
|
||||
This skill should be invoked automatically by Claude when:
|
||||
1. User request contains MCP trigger keywords
|
||||
2. Task clearly requires external service (documentation, scraping, etc.)
|
||||
3. User asks "can you..." for tasks requiring MCPs
|
||||
@ -279,10 +241,10 @@ python3 ~/.claude/skills/mcp-manager/mcp_control.py reset
|
||||
- **Context Savings**: Each unused MCP saves ~200-1000 tokens depending on complexity
|
||||
- **Credential Safety**: Never modify or expose API keys/tokens
|
||||
- **Minimal Default**: Start each session with minimal MCPs, load on-demand
|
||||
- **Smart Defaults**: Can configure certain MCPs (like `Ref`) to stay loaded by default
|
||||
- **Smart Defaults**: `cognitive-memory` stays loaded by default; all others are on-demand
|
||||
|
||||
---
|
||||
|
||||
**Created**: 2025-11-09
|
||||
**Author**: Jarvis (PAI System)
|
||||
**Version**: 1.0.0
|
||||
**Updated**: 2026-02-19
|
||||
**Version**: 1.1.0
|
||||
|
||||
@ -12,95 +12,89 @@ from typing import List, Dict, Optional
|
||||
import sys
|
||||
|
||||
# Paths
|
||||
# Claude Code reads MCP config from TWO locations:
|
||||
# 1. Global: ~/.claude.json -> mcpServers (always-on MCPs like cognitive-memory)
|
||||
# 2. Project: <project-root>/.mcp.json -> mcpServers (on-demand MCPs)
|
||||
# The mcp-manager operates on the PROJECT-LEVEL config for on-demand loading.
|
||||
# The full registry (~/.claude/.mcp-full.json) stores all available MCP definitions.
|
||||
CLAUDE_DIR = Path.home() / ".claude"
|
||||
MCP_CONFIG = CLAUDE_DIR / ".mcp.json"
|
||||
MCP_BACKUP = CLAUDE_DIR / ".mcp.json.backup"
|
||||
MCP_FULL = CLAUDE_DIR / ".mcp-full.json"
|
||||
GLOBAL_CONFIG = Path.home() / ".claude.json" # Global MCPs (always-on)
|
||||
MCP_FULL = CLAUDE_DIR / ".mcp-full.json" # Full registry of all MCPs
|
||||
MCP_MINIMAL = CLAUDE_DIR / ".mcp-minimal.json"
|
||||
LOG_FILE = CLAUDE_DIR / "logs" / "mcp-manager.log"
|
||||
|
||||
|
||||
# Project-level config is determined by finding the git root
|
||||
def _find_project_mcp_config() -> Path:
|
||||
"""Find the project-level .mcp.json by looking for git root."""
|
||||
import subprocess
|
||||
|
||||
try:
|
||||
result = subprocess.run(
|
||||
["git", "rev-parse", "--show-toplevel"],
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=5,
|
||||
)
|
||||
if result.returncode == 0:
|
||||
return Path(result.stdout.strip()) / ".mcp.json"
|
||||
except (subprocess.TimeoutExpired, FileNotFoundError):
|
||||
pass
|
||||
# Fallback: use CWD
|
||||
return Path.cwd() / ".mcp.json"
|
||||
|
||||
|
||||
MCP_CONFIG = _find_project_mcp_config()
|
||||
MCP_BACKUP = MCP_CONFIG.with_suffix(".json.backup")
|
||||
|
||||
# Ensure log directory exists
|
||||
LOG_FILE.parent.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# MCP Registry with metadata
|
||||
# NOTE: cognitive-memory is always-on in ~/.claude.json (global config).
|
||||
# These are on-demand MCPs loaded into project-level .mcp.json.
|
||||
MCP_REGISTRY = {
|
||||
"httpx": {
|
||||
"type": "http",
|
||||
"category": "security",
|
||||
"description": "Web server stack information and tech analysis",
|
||||
"triggers": ["stack", "web server", "technology", "httpx", "what tech"],
|
||||
"estimated_tokens": 300
|
||||
},
|
||||
"naabu": {
|
||||
"type": "http",
|
||||
"category": "security",
|
||||
"description": "Port scanning and service discovery",
|
||||
"triggers": ["port scan", "open ports", "services", "naabu", "network scan"],
|
||||
"estimated_tokens": 300
|
||||
},
|
||||
"apify": {
|
||||
"n8n-mcp": {
|
||||
"type": "stdio",
|
||||
"category": "scraping",
|
||||
"description": "Web scraping and automation via Apify",
|
||||
"triggers": ["scrape", "crawl", "extract", "apify"],
|
||||
"estimated_tokens": 800
|
||||
},
|
||||
"brightdata": {
|
||||
"type": "stdio",
|
||||
"category": "scraping",
|
||||
"description": "Enterprise web data extraction",
|
||||
"triggers": ["scrape", "proxy", "brightdata"],
|
||||
"estimated_tokens": 500
|
||||
"category": "automation",
|
||||
"description": "n8n workflow automation - node docs, templates, workflow CRUD",
|
||||
"triggers": [
|
||||
"n8n",
|
||||
"workflow",
|
||||
"automation",
|
||||
"webhook",
|
||||
"n8n node",
|
||||
"n8n template",
|
||||
],
|
||||
"estimated_tokens": 1500,
|
||||
},
|
||||
"playwright": {
|
||||
"type": "stdio",
|
||||
"category": "automation",
|
||||
"description": "Browser automation and testing",
|
||||
"triggers": ["browser", "screenshot", "playwright", "automate browser"],
|
||||
"estimated_tokens": 1000
|
||||
},
|
||||
"Ref": {
|
||||
"type": "stdio",
|
||||
"category": "documentation",
|
||||
"description": "Documentation search from public and private sources",
|
||||
"triggers": ["documentation", "docs", "api reference", "ref"],
|
||||
"estimated_tokens": 600
|
||||
},
|
||||
"stripe": {
|
||||
"type": "stdio",
|
||||
"category": "payments",
|
||||
"description": "Stripe payment processing and operations",
|
||||
"triggers": ["stripe", "payment", "billing", "subscription"],
|
||||
"estimated_tokens": 700
|
||||
},
|
||||
"content": {
|
||||
"type": "http",
|
||||
"category": "personal",
|
||||
"description": "Daniel Miessler's content archive",
|
||||
"triggers": ["your content", "you wrote", "your blog", "your opinion"],
|
||||
"estimated_tokens": 400
|
||||
},
|
||||
"daemon": {
|
||||
"type": "http",
|
||||
"category": "personal",
|
||||
"description": "Daniel Miessler's personal API",
|
||||
"triggers": ["daemon", "personal api"],
|
||||
"estimated_tokens": 300
|
||||
},
|
||||
"Foundry": {
|
||||
"type": "http",
|
||||
"category": "personal",
|
||||
"description": "Daniel Miessler's PAI infrastructure",
|
||||
"triggers": ["foundry", "pai tool"],
|
||||
"estimated_tokens": 500
|
||||
"estimated_tokens": 1000,
|
||||
},
|
||||
"notediscovery": {
|
||||
"type": "stdio",
|
||||
"category": "notes",
|
||||
"description": "Personal knowledge base - search, read, create, update notes",
|
||||
"triggers": ["note", "notes", "knowledge base", "remember", "save this", "my notes", "write down", "jot down", "search my notes", "create note", "update note", "notediscovery"],
|
||||
"estimated_tokens": 500
|
||||
}
|
||||
"triggers": [
|
||||
"note",
|
||||
"notes",
|
||||
"knowledge base",
|
||||
"remember",
|
||||
"save this",
|
||||
"my notes",
|
||||
"write down",
|
||||
"jot down",
|
||||
"search my notes",
|
||||
"create note",
|
||||
"update note",
|
||||
"notediscovery",
|
||||
],
|
||||
"estimated_tokens": 500,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@ -182,7 +176,9 @@ def get_mcp_status() -> Dict:
|
||||
"loaded": loaded,
|
||||
"available": list(MCP_REGISTRY.keys()),
|
||||
"unloaded": [m for m in MCP_REGISTRY.keys() if m not in loaded],
|
||||
"total_tokens": sum(MCP_REGISTRY[m]["estimated_tokens"] for m in loaded if m in MCP_REGISTRY)
|
||||
"total_tokens": sum(
|
||||
MCP_REGISTRY[m]["estimated_tokens"] for m in loaded if m in MCP_REGISTRY
|
||||
),
|
||||
}
|
||||
return status
|
||||
|
||||
@ -279,28 +275,28 @@ def list_mcps():
|
||||
"""List all MCPs with their status"""
|
||||
status = get_mcp_status()
|
||||
|
||||
print("\n" + "="*60)
|
||||
print("\n" + "=" * 60)
|
||||
print("MCP SERVER STATUS")
|
||||
print("="*60)
|
||||
print("=" * 60)
|
||||
|
||||
print(f"\n📊 Summary:")
|
||||
print(f" Loaded: {len(status['loaded'])}")
|
||||
print(f" Available: {len(status['available'])}")
|
||||
print(f" Context Usage: ~{status['total_tokens']} tokens")
|
||||
|
||||
if status['loaded']:
|
||||
if status["loaded"]:
|
||||
print(f"\n✅ Currently Loaded:")
|
||||
for mcp in status['loaded']:
|
||||
for mcp in status["loaded"]:
|
||||
info = MCP_REGISTRY.get(mcp, {})
|
||||
tokens = info.get('estimated_tokens', '?')
|
||||
desc = info.get('description', 'No description')
|
||||
tokens = info.get("estimated_tokens", "?")
|
||||
desc = info.get("description", "No description")
|
||||
print(f" • {mcp} (~{tokens} tokens) - {desc}")
|
||||
|
||||
if status['unloaded']:
|
||||
if status["unloaded"]:
|
||||
print(f"\n⭕ Available (Not Loaded):")
|
||||
for mcp in status['unloaded']:
|
||||
for mcp in status["unloaded"]:
|
||||
info = MCP_REGISTRY.get(mcp, {})
|
||||
desc = info.get('description', 'No description')
|
||||
desc = info.get("description", "No description")
|
||||
print(f" • {mcp} - {desc}")
|
||||
|
||||
print()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user