@tonyclaw/agent-inspector 2.0.1 → 2.0.3

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.
Files changed (53) hide show
  1. package/.output/cli.js +344 -53
  2. package/.output/nitro.json +1 -1
  3. package/.output/public/assets/{CompareDrawer-sVLGhCO3.js → CompareDrawer-D5A4bTfV.js} +1 -1
  4. package/.output/public/assets/ProxyViewerContainer-Da0jpBkp.js +101 -0
  5. package/.output/public/assets/{ReplayDialog-DxbFUqNW.js → ReplayDialog-CxUk_TF0.js} +1 -1
  6. package/.output/public/assets/{RequestAnatomy-CSmGQa_g.js → RequestAnatomy-DIlzjgjJ.js} +1 -1
  7. package/.output/public/assets/ResponseView-DQCuKJ1G.js +1 -0
  8. package/.output/public/assets/{StreamingChunkSequence-BzqpY0TN.js → StreamingChunkSequence-DHk4SGGL.js} +1 -1
  9. package/.output/public/assets/_sessionId-dY1TTl7N.js +1 -0
  10. package/.output/public/assets/index-D7wwbwly.css +1 -0
  11. package/.output/public/assets/index-FqQZbfl2.js +1 -0
  12. package/.output/public/assets/{json-viewer-CKNMihlh.js → json-viewer-BbU0n8eM.js} +1 -1
  13. package/.output/public/assets/{main-yWf8dv9w.js → main-CZT_F-gu.js} +2 -2
  14. package/.output/server/_libs/lucide-react.mjs +8 -8
  15. package/.output/server/{_sessionId-DfHd0gd8.mjs → _sessionId-B-s9P7fJ.mjs} +2 -2
  16. package/.output/server/_ssr/{CompareDrawer-DGYAUWgF.mjs → CompareDrawer-C08L3UOO.mjs} +4 -4
  17. package/.output/server/_ssr/{ProxyViewerContainer-fawglkTo.mjs → ProxyViewerContainer-CMWl3Ijy.mjs} +414 -70
  18. package/.output/server/_ssr/{ReplayDialog-B4vlKa2W.mjs → ReplayDialog-CPDo9_G5.mjs} +4 -4
  19. package/.output/server/_ssr/{RequestAnatomy-BNQvEIZK.mjs → RequestAnatomy-D9wt_K1E.mjs} +3 -3
  20. package/.output/server/_ssr/{ResponseView-X6X6G16_.mjs → ResponseView-DXaL7nY3.mjs} +4 -4
  21. package/.output/server/_ssr/{StreamingChunkSequence-BPVN3MnF.mjs → StreamingChunkSequence-B_hudZyb.mjs} +3 -3
  22. package/.output/server/_ssr/{index-CXmpc2X5.mjs → index-CuE_BN86.mjs} +2 -2
  23. package/.output/server/_ssr/index.mjs +2 -2
  24. package/.output/server/_ssr/{json-viewer-3XC3eq4R.mjs → json-viewer-Ci6kkjde.mjs} +2 -2
  25. package/.output/server/_ssr/{router-C0B2qvIM.mjs → router-BemxgIg7.mjs} +402 -131
  26. package/.output/server/{_tanstack-start-manifest_v-7tfsmd2I.mjs → _tanstack-start-manifest_v--L1_b4sd.mjs} +1 -1
  27. package/.output/server/index.mjs +62 -62
  28. package/README.md +50 -7
  29. package/package.json +3 -2
  30. package/scripts/setup-codex-skill.mjs +38 -0
  31. package/scripts/setup-windows-runtime.mjs +4 -3
  32. package/src/cli/onboard.ts +175 -68
  33. package/src/cli/templates/codex-skill-onboard.ts +210 -0
  34. package/src/components/providers/ProviderCard.tsx +2 -27
  35. package/src/components/providers/ProvidersPanel.tsx +16 -0
  36. package/src/components/proxy-viewer/AgentTraceSummary.tsx +218 -0
  37. package/src/components/proxy-viewer/ConversationGroup.tsx +6 -0
  38. package/src/components/proxy-viewer/ToolTraceEvents.tsx +33 -0
  39. package/src/components/proxy-viewer/TurnGroup.tsx +11 -1
  40. package/src/components/proxy-viewer/viewerState.ts +177 -0
  41. package/src/knowledge/openclawClient.ts +34 -5
  42. package/src/knowledge/openclawGatewayClient.ts +237 -0
  43. package/src/knowledge/openclawMarkdown.ts +146 -0
  44. package/src/lib/providerTestPrompt.ts +78 -0
  45. package/src/proxy/chunkStorage.ts +3 -4
  46. package/src/proxy/logger.ts +8 -15
  47. package/src/proxy/store.ts +8 -16
  48. package/src/routes/api/providers.$providerId.test.log.ts +7 -99
  49. package/.output/public/assets/ProxyViewerContainer-p9QvzZ6U.js +0 -101
  50. package/.output/public/assets/ResponseView-B5f89c8Z.js +0 -1
  51. package/.output/public/assets/_sessionId-BF7ftHV3.js +0 -1
  52. package/.output/public/assets/index-BU0PpLby.js +0 -1
  53. package/.output/public/assets/index-CpWG2hFn.css +0 -1
@@ -1,4 +1,4 @@
1
- const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", "children": ["/", "/api/config", "/api/health", "/api/logs", "/api/mcp", "/api/models", "/api/providers", "/api/sessions", "/proxy/$", "/session/$sessionId", "/api/knowledge/candidates", "/api/knowledge/project-context", "/api/knowledge/search", "/api/knowledge/sessions/$sessionId/candidates"], "preloads": ["/assets/main-yWf8dv9w.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-BU0PpLby.js", "/assets/ProxyViewerContainer-p9QvzZ6U.js"] }, "/api/config": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/config.ts", "children": ["/api/config/paths"] }, "/api/health": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/health.ts" }, "/api/logs": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.ts", "children": ["/api/logs/$id", "/api/logs/stream"] }, "/api/mcp": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/mcp.ts" }, "/api/models": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/models.ts" }, "/api/providers": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.ts", "children": ["/api/providers/$providerId", "/api/providers/export", "/api/providers/import", "/api/providers/scan"] }, "/api/sessions": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/sessions.ts" }, "/proxy/$": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/proxy/$.ts" }, "/session/$sessionId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/session/$sessionId.tsx", "assets": [], "preloads": ["/assets/_sessionId-BF7ftHV3.js", "/assets/ProxyViewerContainer-p9QvzZ6U.js"] }, "/api/config/paths": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/config.paths.ts" }, "/api/knowledge/candidates": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.candidates.ts", "children": ["/api/knowledge/candidates/$candidateId/promote"] }, "/api/knowledge/project-context": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.project-context.ts" }, "/api/knowledge/search": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.search.ts" }, "/api/logs/$id": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.ts", "children": ["/api/logs/$id/chunks", "/api/logs/$id/replay"] }, "/api/logs/stream": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.stream.ts" }, "/api/providers/$providerId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.ts", "children": ["/api/providers/$providerId/test"] }, "/api/providers/export": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.export.ts" }, "/api/providers/import": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.import.ts" }, "/api/providers/scan": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.scan.ts" }, "/api/logs/$id/chunks": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.chunks.ts" }, "/api/logs/$id/replay": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.replay.ts" }, "/api/providers/$providerId/test": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.test.ts", "children": ["/api/providers/$providerId/test/log"] }, "/api/knowledge/candidates/$candidateId/promote": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.candidates.$candidateId.promote.ts" }, "/api/knowledge/sessions/$sessionId/candidates": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.sessions.$sessionId.candidates.ts" }, "/api/providers/$providerId/test/log": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.test.log.ts" } }, "clientEntry": "/assets/main-yWf8dv9w.js" });
1
+ const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", "children": ["/", "/api/config", "/api/health", "/api/logs", "/api/mcp", "/api/models", "/api/providers", "/api/sessions", "/proxy/$", "/session/$sessionId", "/api/knowledge/candidates", "/api/knowledge/project-context", "/api/knowledge/search", "/api/knowledge/sessions/$sessionId/candidates"], "preloads": ["/assets/main-CZT_F-gu.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-FqQZbfl2.js", "/assets/ProxyViewerContainer-Da0jpBkp.js"] }, "/api/config": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/config.ts", "children": ["/api/config/paths"] }, "/api/health": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/health.ts" }, "/api/logs": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.ts", "children": ["/api/logs/$id", "/api/logs/stream"] }, "/api/mcp": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/mcp.ts" }, "/api/models": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/models.ts" }, "/api/providers": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.ts", "children": ["/api/providers/$providerId", "/api/providers/export", "/api/providers/import", "/api/providers/scan"] }, "/api/sessions": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/sessions.ts" }, "/proxy/$": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/proxy/$.ts" }, "/session/$sessionId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/session/$sessionId.tsx", "assets": [], "preloads": ["/assets/_sessionId-dY1TTl7N.js", "/assets/ProxyViewerContainer-Da0jpBkp.js"] }, "/api/config/paths": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/config.paths.ts" }, "/api/knowledge/candidates": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.candidates.ts", "children": ["/api/knowledge/candidates/$candidateId/promote"] }, "/api/knowledge/project-context": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.project-context.ts" }, "/api/knowledge/search": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.search.ts" }, "/api/logs/$id": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.ts", "children": ["/api/logs/$id/chunks", "/api/logs/$id/replay"] }, "/api/logs/stream": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.stream.ts" }, "/api/providers/$providerId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.ts", "children": ["/api/providers/$providerId/test"] }, "/api/providers/export": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.export.ts" }, "/api/providers/import": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.import.ts" }, "/api/providers/scan": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.scan.ts" }, "/api/logs/$id/chunks": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.chunks.ts" }, "/api/logs/$id/replay": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.replay.ts" }, "/api/providers/$providerId/test": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.test.ts", "children": ["/api/providers/$providerId/test/log"] }, "/api/knowledge/candidates/$candidateId/promote": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.candidates.$candidateId.promote.ts" }, "/api/knowledge/sessions/$sessionId/candidates": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.sessions.$sessionId.candidates.ts" }, "/api/providers/$providerId/test/log": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.test.log.ts" } }, "clientEntry": "/assets/main-CZT_F-gu.js" });
2
2
  export {
3
3
  tsrStartManifest
4
4
  };
@@ -38,107 +38,107 @@ const assets = {
38
38
  "/assets/alibaba-TTwafVwX.svg": {
39
39
  "type": "image/svg+xml",
40
40
  "etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
41
- "mtime": "2026-06-20T04:11:08.016Z",
41
+ "mtime": "2026-06-20T07:49:57.206Z",
42
42
  "size": 5915,
43
43
  "path": "../public/assets/alibaba-TTwafVwX.svg"
44
44
  },
45
- "/assets/index-BU0PpLby.js": {
45
+ "/assets/CompareDrawer-D5A4bTfV.js": {
46
46
  "type": "text/javascript; charset=utf-8",
47
- "etag": '"74-VQLwqrYKW1w1vyDegF1mvh4xcEg"',
48
- "mtime": "2026-06-20T04:11:08.016Z",
49
- "size": 116,
50
- "path": "../public/assets/index-BU0PpLby.js"
47
+ "etag": '"4a1f-mEPVKgxEcmIrRzyfYSrf+TEFNes"',
48
+ "mtime": "2026-06-20T07:49:57.206Z",
49
+ "size": 18975,
50
+ "path": "../public/assets/CompareDrawer-D5A4bTfV.js"
51
51
  },
52
- "/assets/CompareDrawer-sVLGhCO3.js": {
52
+ "/assets/index-FqQZbfl2.js": {
53
53
  "type": "text/javascript; charset=utf-8",
54
- "etag": '"4a1f-I4v3MS54eYnnzDhhqEIEsaLQr9E"',
55
- "mtime": "2026-06-20T04:11:08.016Z",
56
- "size": 18975,
57
- "path": "../public/assets/CompareDrawer-sVLGhCO3.js"
54
+ "etag": '"74-el2/zDM0d+yANqsiilX18eIScpc"',
55
+ "mtime": "2026-06-20T07:49:57.206Z",
56
+ "size": 116,
57
+ "path": "../public/assets/index-FqQZbfl2.js"
58
58
  },
59
- "/assets/index-CpWG2hFn.css": {
59
+ "/assets/index-D7wwbwly.css": {
60
60
  "type": "text/css; charset=utf-8",
61
- "etag": '"17063-Htyi07AI/KjwlBt4Ff8s9XjH2HE"',
62
- "mtime": "2026-06-20T04:11:08.016Z",
63
- "size": 94307,
64
- "path": "../public/assets/index-CpWG2hFn.css"
65
- },
66
- "/assets/json-viewer-CKNMihlh.js": {
67
- "type": "text/javascript; charset=utf-8",
68
- "etag": '"1e651-bsyUi317U2guBJsuPZODPYIDT3I"',
69
- "mtime": "2026-06-20T04:11:08.018Z",
70
- "size": 124497,
71
- "path": "../public/assets/json-viewer-CKNMihlh.js"
61
+ "etag": '"17293-5C6kMCq9PaxOjrbr7Or2ITIT6Lo"',
62
+ "mtime": "2026-06-20T07:49:57.206Z",
63
+ "size": 94867,
64
+ "path": "../public/assets/index-D7wwbwly.css"
72
65
  },
73
66
  "/assets/minimax-BPMzvuL-.jpeg": {
74
67
  "type": "image/jpeg",
75
68
  "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
76
- "mtime": "2026-06-20T04:11:08.016Z",
69
+ "mtime": "2026-06-20T07:49:57.206Z",
77
70
  "size": 6918,
78
71
  "path": "../public/assets/minimax-BPMzvuL-.jpeg"
79
72
  },
80
- "/assets/main-yWf8dv9w.js": {
73
+ "/assets/json-viewer-BbU0n8eM.js": {
74
+ "type": "text/javascript; charset=utf-8",
75
+ "etag": '"1e652-M43x58m2bH0hBJMNDpGZ/fDfT5s"',
76
+ "mtime": "2026-06-20T07:49:57.207Z",
77
+ "size": 124498,
78
+ "path": "../public/assets/json-viewer-BbU0n8eM.js"
79
+ },
80
+ "/assets/main-CZT_F-gu.js": {
81
81
  "type": "text/javascript; charset=utf-8",
82
- "etag": '"5138c-ajuPEmTU5gk81OjbjPWHjuTkUeM"',
83
- "mtime": "2026-06-20T04:11:08.016Z",
82
+ "etag": '"5138c-VrHslavJjlr9YgDZ13bVuWsHMqQ"',
83
+ "mtime": "2026-06-20T07:49:57.207Z",
84
84
  "size": 332684,
85
- "path": "../public/assets/main-yWf8dv9w.js"
85
+ "path": "../public/assets/main-CZT_F-gu.js"
86
86
  },
87
- "/assets/ReplayDialog-DxbFUqNW.js": {
87
+ "/assets/ReplayDialog-CxUk_TF0.js": {
88
88
  "type": "text/javascript; charset=utf-8",
89
- "etag": '"11c0-HRfvYJdzqa0jHhOxOHXszP4gZZY"',
90
- "mtime": "2026-06-20T04:11:08.016Z",
89
+ "etag": '"11c0-esa6w7Upc98DpnzYsJtOduS9W7w"',
90
+ "mtime": "2026-06-20T07:49:57.207Z",
91
91
  "size": 4544,
92
- "path": "../public/assets/ReplayDialog-DxbFUqNW.js"
92
+ "path": "../public/assets/ReplayDialog-CxUk_TF0.js"
93
93
  },
94
- "/assets/RequestAnatomy-CSmGQa_g.js": {
94
+ "/assets/RequestAnatomy-DIlzjgjJ.js": {
95
95
  "type": "text/javascript; charset=utf-8",
96
- "etag": '"142a-/7Ujr1VdEsMRLbp8oA7QUq4987M"',
97
- "mtime": "2026-06-20T04:11:08.018Z",
96
+ "etag": '"142a-Say/U0wBSXeJXbMdzIFCiD2Yq8o"',
97
+ "mtime": "2026-06-20T07:49:57.207Z",
98
98
  "size": 5162,
99
- "path": "../public/assets/RequestAnatomy-CSmGQa_g.js"
99
+ "path": "../public/assets/RequestAnatomy-DIlzjgjJ.js"
100
100
  },
101
- "/assets/ResponseView-B5f89c8Z.js": {
101
+ "/assets/ResponseView-DQCuKJ1G.js": {
102
102
  "type": "text/javascript; charset=utf-8",
103
- "etag": '"6e91-8GOJTIuom7L8X7ehEPf9HfaFuGs"',
104
- "mtime": "2026-06-20T04:11:08.018Z",
105
- "size": 28305,
106
- "path": "../public/assets/ResponseView-B5f89c8Z.js"
103
+ "etag": '"6c88-pdMfEcfub7CjHnge4PzxOHEcbPE"',
104
+ "mtime": "2026-06-20T07:49:57.207Z",
105
+ "size": 27784,
106
+ "path": "../public/assets/ResponseView-DQCuKJ1G.js"
107
107
  },
108
108
  "/assets/zhipuai-BPNAnxo-.svg": {
109
109
  "type": "image/svg+xml",
110
110
  "etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
111
- "mtime": "2026-06-20T04:11:08.016Z",
111
+ "mtime": "2026-06-20T07:49:57.206Z",
112
112
  "size": 11256,
113
113
  "path": "../public/assets/zhipuai-BPNAnxo-.svg"
114
114
  },
115
- "/assets/StreamingChunkSequence-BzqpY0TN.js": {
116
- "type": "text/javascript; charset=utf-8",
117
- "etag": '"d81-5rce/n28nmO176CRcqCDrcHI9uw"',
118
- "mtime": "2026-06-20T04:11:08.018Z",
119
- "size": 3457,
120
- "path": "../public/assets/StreamingChunkSequence-BzqpY0TN.js"
121
- },
122
- "/assets/_sessionId-BF7ftHV3.js": {
123
- "type": "text/javascript; charset=utf-8",
124
- "etag": '"d2-qBNzxlXPxxp+2NZarjxCyy5PG+Q"',
125
- "mtime": "2026-06-20T04:11:08.016Z",
126
- "size": 210,
127
- "path": "../public/assets/_sessionId-BF7ftHV3.js"
128
- },
129
115
  "/assets/qwen-CONDcHqt.png": {
130
116
  "type": "image/png",
131
117
  "etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
132
- "mtime": "2026-06-20T04:11:08.016Z",
118
+ "mtime": "2026-06-20T07:49:57.206Z",
133
119
  "size": 357059,
134
120
  "path": "../public/assets/qwen-CONDcHqt.png"
135
121
  },
136
- "/assets/ProxyViewerContainer-p9QvzZ6U.js": {
122
+ "/assets/_sessionId-dY1TTl7N.js": {
123
+ "type": "text/javascript; charset=utf-8",
124
+ "etag": '"d2-gUdCO5tW0loAHOM6KOFd73K/+Es"',
125
+ "mtime": "2026-06-20T07:49:57.206Z",
126
+ "size": 210,
127
+ "path": "../public/assets/_sessionId-dY1TTl7N.js"
128
+ },
129
+ "/assets/ProxyViewerContainer-Da0jpBkp.js": {
137
130
  "type": "text/javascript; charset=utf-8",
138
- "etag": '"77564-16W0V8xckeXv7EkaIbc7W0w1HT8"',
139
- "mtime": "2026-06-20T04:11:08.016Z",
140
- "size": 488804,
141
- "path": "../public/assets/ProxyViewerContainer-p9QvzZ6U.js"
131
+ "etag": '"79801-1JDGhvSsOIGys3Enbh6ed4oyMoE"',
132
+ "mtime": "2026-06-20T07:49:57.207Z",
133
+ "size": 497665,
134
+ "path": "../public/assets/ProxyViewerContainer-Da0jpBkp.js"
135
+ },
136
+ "/assets/StreamingChunkSequence-DHk4SGGL.js": {
137
+ "type": "text/javascript; charset=utf-8",
138
+ "etag": '"d81-q+WustPR2MRDE/q2wIQ/H/VHcAc"',
139
+ "mtime": "2026-06-20T07:49:57.207Z",
140
+ "size": 3457,
141
+ "path": "../public/assets/StreamingChunkSequence-DHk4SGGL.js"
142
142
  }
143
143
  };
144
144
  function readAsset(id) {
package/README.md CHANGED
@@ -24,9 +24,12 @@ agent-inspector
24
24
 
25
25
  On Windows, the npm install step creates a local `agent-inspector.exe` runtime
26
26
  from the user's installed Node.js runtime. The long-running server process
27
- therefore appears in Task Manager as **Agent Inspector** with the project icon.
28
- If npm lifecycle scripts are disabled, Agent Inspector falls back to `node.exe`
29
- and keeps working normally.
27
+ therefore appears in Task Manager as **Agent Inspector <version>** with the
28
+ project icon. The executable also carries standard `FileVersion` and
29
+ `ProductVersion` metadata for the installed package version. If npm lifecycle
30
+ scripts are disabled, Agent Inspector falls back to `node.exe` and keeps
31
+ working normally. Set `AGENT_INSPECTOR_SKIP_WINDOWS_RUNTIME=1` to skip the
32
+ Windows runtime metadata step explicitly.
30
33
 
31
34
  For Linux containers, the Windows runtime setup is a no-op. To keep images lean,
32
35
  install with optional dependencies omitted:
@@ -41,6 +44,18 @@ Optional guided setup:
41
44
  agent-inspector onboard
42
45
  ```
43
46
 
47
+ The onboarding command installs guided setup skills for local agents:
48
+
49
+ - Claude Code: `~/.claude/skills/agent-inspector-onboard/SKILL.md` plus a slash command.
50
+ - Codex: `~/.codex/skills/agent-inspector-onboard/SKILL.md`, focused on connecting
51
+ `http://localhost:25947/api/mcp` through Codex `mcp_servers.agent-inspector`.
52
+
53
+ During npm global install, Agent Inspector also makes a best-effort Codex skill install when
54
+ `~/.codex` already exists. Set `AGENT_INSPECTOR_SKIP_CODEX_SKILL=1` to skip that postinstall step,
55
+ set `AGENT_INSPECTOR_INSTALL_CODEX_SKILL=1` to attempt it even before `~/.codex` exists, or run
56
+ `agent-inspector onboard --codex-only --force` later to refresh it. For a full refresh of all
57
+ generated onboarding files, run `agent-inspector onboard --force`.
58
+
44
59
  For local development from source:
45
60
 
46
61
  ```bash
@@ -58,8 +73,36 @@ The web UI runs at http://localhost:25947.
58
73
 
59
74
  ## Project Direction
60
75
 
61
- Agent Inspector should stay close to the proven inspector codebase while growing into an agent knowledge layer. The core product direction has three layers:
76
+ Agent Inspector should stay close to the proven inspector codebase while growing into an agent knowledge layer. The memory flow has four layers:
77
+
78
+ 1. Raw Trace: capture requests, responses, streaming chunks, tools, errors, and token usage.
79
+ 2. Episode: summarize a session into goal, steps, outcome, failures, and artifacts.
80
+ 3. Memory Candidate: create reviewable, redacted knowledge candidates with evidence ids.
81
+ 4. OpenClaw Memory: write approved candidates into OpenClaw's durable recall system.
82
+
83
+ Agent Inspector owns the first three layers. OpenClaw owns indexing, retrieval, consolidation, and long-term recall.
84
+
85
+ ## OpenClaw Memory Bridge
86
+
87
+ Agent Inspector treats OpenClaw as a hidden memory backend. The preferred integration uses OpenClaw's file-backed memory layout:
88
+
89
+ ```bash
90
+ OPENCLAW_WORKSPACE_DIR=C:\Users\<you>\.openclaw\workspace
91
+ OPENCLAW_GATEWAY_URL=http://127.0.0.1:18789
92
+ OPENCLAW_GATEWAY_TOKEN=<gateway-token>
93
+ OPENCLAW_SESSION_KEY=main
94
+ ```
95
+
96
+ When a candidate is promoted, Agent Inspector writes sanitized Markdown under:
97
+
98
+ ```text
99
+ memory/agent-inspector/YYYY-MM-DD/<candidate>.md
100
+ ```
101
+
102
+ OpenClaw remains responsible for indexing and recall. Run `openclaw memory index --force` when you
103
+ need immediate reindexing, or rely on the running OpenClaw memory runtime to sync according to its
104
+ own policy.
105
+
106
+ Search stays behind the Inspector facade. Agents call Inspector MCP/API tools, and Inspector invokes OpenClaw Gateway `memory_search` when `OPENCLAW_GATEWAY_URL` is configured.
62
107
 
63
- 1. Observe: normalize agent and model traffic into stable interaction events.
64
- 2. Analyze: identify reusable facts, decisions, tool patterns, failures, and user preferences.
65
- 3. Remember: publish curated memory candidates into an external memory system while keeping user control and auditability.
108
+ For older deployments, `OPENCLAW_MEMORY_URL` / `OPENCLAW_API_URL` remain supported as a legacy HTTP backend.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tonyclaw/agent-inspector",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "type": "module",
5
5
  "description": "Agent observability and knowledge capture layer for AI coding tools.",
6
6
  "license": "MIT",
@@ -38,6 +38,7 @@
38
38
  "!src/**/__fixtures__",
39
39
  "!src/routeTree.gen.ts",
40
40
  "scripts/setup-windows-runtime.mjs",
41
+ "scripts/setup-codex-skill.mjs",
41
42
  "styles",
42
43
  ".output",
43
44
  "!.output/*.exe"
@@ -47,7 +48,7 @@
47
48
  "start": "node .output/cli.js",
48
49
  "build": "vite build && bun build:cli",
49
50
  "build:cli": "npx esbuild src/cli.ts --bundle --platform=node --target=node18 --format=esm --outfile=.output/cli.js",
50
- "postinstall": "node scripts/setup-windows-runtime.mjs",
51
+ "postinstall": "node scripts/setup-windows-runtime.mjs && node scripts/setup-codex-skill.mjs",
51
52
  "prepublishOnly": "npm run build",
52
53
  "typecheck": "tsc --noEmit",
53
54
  "lint": "eslint .",
@@ -0,0 +1,38 @@
1
+ import { existsSync } from "node:fs";
2
+ import { homedir } from "node:os";
3
+ import { dirname, join } from "node:path";
4
+ import { spawnSync } from "node:child_process";
5
+ import { fileURLToPath } from "node:url";
6
+
7
+ const scriptDir = dirname(fileURLToPath(import.meta.url));
8
+ const packageRoot = dirname(scriptDir);
9
+ const cliEntry = join(packageRoot, ".output", "cli.js");
10
+ const codexHome = process.env["CODEX_HOME"] ?? join(homedir(), ".codex");
11
+
12
+ function shouldSkip() {
13
+ return (
14
+ process.env["AGENT_INSPECTOR_SKIP_CODEX_SKILL"] === "1" ||
15
+ !existsSync(cliEntry) ||
16
+ (!existsSync(codexHome) && process.env["AGENT_INSPECTOR_INSTALL_CODEX_SKILL"] !== "1")
17
+ );
18
+ }
19
+
20
+ function main() {
21
+ if (shouldSkip()) return;
22
+
23
+ const result = spawnSync(process.execPath, [cliEntry, "onboard", "--codex-only"], {
24
+ stdio: "ignore",
25
+ windowsHide: true,
26
+ });
27
+
28
+ if (result.status !== 0) {
29
+ console.warn("Skipping Codex onboard skill installation.");
30
+ }
31
+ }
32
+
33
+ try {
34
+ main();
35
+ } catch (error) {
36
+ const message = error instanceof Error ? error.message : String(error);
37
+ console.warn(`Skipping Codex onboard skill installation: ${message}`);
38
+ }
@@ -40,6 +40,7 @@ async function main() {
40
40
 
41
41
  const version = await readPackageVersion();
42
42
  const windowsVersion = normalizeWindowsVersion(version);
43
+ const displayName = `Agent Inspector ${version}`;
43
44
  const rcedit = require("rcedit");
44
45
 
45
46
  await mkdir(outputDir, { recursive: true });
@@ -50,10 +51,10 @@ async function main() {
50
51
  "product-version": windowsVersion,
51
52
  "version-string": {
52
53
  CompanyName: "TonyClaw",
53
- FileDescription: "Agent Inspector",
54
- InternalName: "Agent Inspector",
54
+ FileDescription: displayName,
55
+ InternalName: displayName,
55
56
  OriginalFilename: "agent-inspector.exe",
56
- ProductName: "Agent Inspector",
57
+ ProductName: displayName,
57
58
  ProductVersion: version,
58
59
  LegalCopyright: "Copyright (c) TonyClaw",
59
60
  },