@sanqianx/project-knowledge 5.0.20-rc.1 → 5.0.21

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.
@@ -1,146 +1,148 @@
1
1
  {
2
2
  "schema": "project-knowledge/module-content/v1",
3
3
  "productFiles": {
4
- "ui/index.html": "3d7ae2f0e514393a50e2643949e6836a3089b0d9a5dd00185db66b939a486600",
5
- "ui/knowledge-panel.html": "13280b1e55545f09623daed7ae52a67b4c87d3ad0abaccf0bcee4d5ac5201626",
6
- "ui/product.js": "00c0b0afbed8f835b29e42ffd049715b458d8b5e2eb11acea2aaac1de1ac44ad",
4
+ "ui/index.html": "00864e2015de1b6564c1a43b6853e1efbf8385744e3cda79f279027818858672",
5
+ "ui/knowledge-panel.html": "dfd85f15759472252d797853263e9da0054b251c56bb9ccdc8a75e6301334ca8",
6
+ "ui/product.js": "26b2cc5438fdc331c0aeb1f77bdb1c8340ca1468211f78a5348d84706e953feb",
7
7
  "ui/live-client.js": "0d81fa894c629bb839e1931fc3c5ebad4d831aae8232d6ce8c0f542e9e3559e8",
8
- "ui/product.css": "e7e7847ab538cc115e9a07ee159fbefc002cab4f2c3d827b59ce2c5dc8b0b75d",
8
+ "ui/product.css": "7347c47148891b7799b5d3711baff1c7fe5db08c6209c30c391d6aee7eb30be8",
9
9
  "ui/favicon.svg": "c48be946b224112ebb0238b44263f7a61bda31e531afa895c2e9801c0ff24f32",
10
10
  "plugins/project-knowledge/hooks/claude.json": "d61510327e3e1facbb4c645228e9f50cad05a88b33d80c4c22e5ba9f8b9f5359",
11
11
  "plugins/project-knowledge/hooks/codex.json": "216e03c07295606ef6ebb2c4f669ad0d790b5e7c4f3f34600488033db75e4239",
12
12
  "plugins/project-knowledge/scripts/context-hook.cjs": "da666153ad5723592cce42d25337ae649f7d93e43fab76b3c6d1263933de063f",
13
13
  "plugins/project-knowledge/scripts/mcp-launcher.cjs": "7c68830b5c73eb53ef030756a4de33987f7eab6b1a6cc15602835aac3f954893",
14
- "plugins/project-knowledge/.claude-plugin/plugin.json": "71c200b7a72013a4bd78098147dc2bfe2f084819836118a16b871439b498f885",
15
- "plugins/project-knowledge/.codex-plugin/plugin.json": "e30db5d7d46dad1641b9722e4da689ed535dfbde1ee576677d62c7df1af5a9e9",
16
- "plugins/project-knowledge/.mcp.json": "12486e6d2088bc2928e683f51166b2b7599f6c325d1af730aa1afeb31d8da6f0"
14
+ "plugins/project-knowledge/.claude-plugin/plugin.json": "c4069b87a8f1364bd6732fe9ec03b581bef06c14e80f910b550ec81ef6a0f00f",
15
+ "plugins/project-knowledge/.codex-plugin/plugin.json": "caa287c40fe42fae5a9e2faaae3ff4e0ff7fab64a45a27bd7a1193e429a175a9",
16
+ "plugins/project-knowledge/.mcp.json": "01edf4f4b4fc1db43fbe59892120f15b32d38e4b1460c431a454e5a4cdff70ef"
17
17
  },
18
18
  "modules": {
19
19
  "terminal": {
20
20
  "name": "@sanqianx/claude-ai-workbench",
21
21
  "installName": "claude-ai-workbench",
22
- "version": "0.13.2-rc.22",
22
+ "version": "0.13.3",
23
23
  "files": {
24
- "LICENSE": "de260a483f1c8a229d61d833aaabad9f9a7438f3384c59abefa50182cb798199",
25
- "README.md": "aac0a5a6bc9b0ec860d5273530975c0f9e0993f05424517c8edb879d02aa0db7",
26
- "apps/agent-terminal/app.css": "1989662d054b31f6e3fcd16bb8eb6f842405660151551026ce95daf8927b626b",
27
- "apps/agent-terminal/app.js": "b76831a762c2515b4e602c3a62729b81fb3ae01337857a5641822575eec7243f",
28
- "apps/agent-terminal/index.html": "51ae269b10a4f4c8b83a4dbd7744cbef955b92d92658e0cf00bf54af06c08d20",
29
- "apps/agent-terminal/panel-host-proof.html": "4f242e4c4980653dd59690ffc7eec25f41542a0601f8ba01d92dd4f0b31c5446",
30
- "apps/agent-terminal/panel-proof-content.html": "df41d44495e1f697c75f28ec767238ffe00154589021c68b06a8880903002bae",
24
+ "LICENSE": "c1b9df1275e769f3dbab000d1e457a2d4b0f28eb5da6c77e48dc37eeba202ed7",
25
+ "README.md": "43938c8a64397d340dcf633edc40a7cea7dd8a95b5f82cf612b2c15b66c380b6",
26
+ "apps/agent-terminal/app.css": "fb308326290f6c1cf1b899725a8d401b66d178e7df59f28b05f86f2157f3b573",
27
+ "apps/agent-terminal/app.js": "b9f9c2f1cef784fe00ffa58ea814828612dd8424ac82d10c0e29ab5a873ff1fe",
28
+ "apps/agent-terminal/conversation-composer.js": "4f0135fa61f3a19de9bc518cb7001dcc333a793db6de643d4ee6eaa629489c58",
29
+ "apps/agent-terminal/index.html": "e48da485ed9931dfe06a6bdfddd8a2d34b920121c424247a5d8ac18aad9e1954",
30
+ "apps/agent-terminal/panel-host-proof.html": "b4b5c69cbd4d019002dd63b364523875f9b5e58c75c8fa873ed05d3717229fa6",
31
+ "apps/agent-terminal/panel-proof-content.html": "87f59cf76fc5e78aa24d51432d358aa15fc8242f469cabb164bf181d23f85778",
31
32
  "apps/agent-terminal/right-dock-panel-registry.js": "07a4b6d31b1b2d678f92b6f0786cf49129708bd38ef4a15976d824150cbadec6",
32
- "apps/agent-terminal/right-workspace-dock.css": "abd968a815c971f7a84f90fa712520589aa20e52900e34e723dfe3a763fe0b39",
33
- "apps/agent-terminal/right-workspace-dock.js": "b1aac615dd123d9bfc957ddfc9cd5ad7bb1dd804cd3cd4f81eece2fb42f7371e",
34
- "apps/ai-profile-settings-host/index.html": "ab98983ac6038fe169efa7430668c3c82b454f23b9964a8adbd4d82cd05d69ef",
35
- "apps/ai-profile-settings-host/page.css": "fae27a697afaee7046c0e45f5c98070fd047c7d226b63e16a6bf3f2b7bb524ce",
36
- "apps/ai-profile-settings-host/page.js": "986c1f4c5ed9b93d8cbdd94e5b5a6af79203e1416ca7c16508630415a8bb682c",
37
- "apps/minimal-test-host/host.css": "633de38f9d054792be6cdcbcacfdf383d2f8d9f6ffb7a53dbeb1f451878411de",
38
- "apps/minimal-test-host/host.js": "b24822372079a4e1b443657b4cbfa5c5a6cea63a183d418e570d600242b49c13",
39
- "apps/minimal-test-host/index.html": "e301b3fe8cf041addee094e7e65939467385921e6f0f842562a5a6825cc8eff4",
40
- "apps/minimal-test-host/optional-mock/fault-injection.js": "49f0a5f629e8d6e2e87eb80cad9b5f516c5e6a7794c856a15126714df9961515",
41
- "apps/minimal-test-host/README.md": "8f47acf0c32ce57ba511757b783e63638959a90d6d126fd6bf5204e9c7bebc69",
42
- "docs/sdk/FILE_LAYOUT.md": "0b0c6bca066b09c605f84ac3f6c4fda0a409d0a9d65093f0760eae45a26ec30c",
43
- "docs/sdk/INTEGRATION.md": "aa8e6ef40af78562ad3dd73cbba1a840a6041ac7eab86b70f48e13ff9cc52663",
44
- "docs/sdk/openapi.yaml": "cb6eaa18dd827e3c1c58d891666fed9cd0e4196000c18944963aaf8d816b5b70",
45
- "docs/sdk/README.md": "3d95a0d76cc48cff47779caef2ed0d1f5b76f3591216c6ebf7a06895b7c1a964",
46
- "docs/sdk/SESSION_EVENTS.md": "e9630f7c3b304b1f6b044eccf326841fb74ddcc0b3be6fed9fc6e7875f98932d",
47
- "package.json": "493c50e91c7d46e6c179f515ae93e154eeff8a5d21c63fc912a929b2a28635bd",
48
- "packages/client/index.d.ts": "707c53f687d70d8ae1231f286ab8bfac4f70e711f8c0270f7fe625f631e4b4b2",
49
- "packages/client/index.js": "b6639296a9fea84f716c048d7d43c0ac02a75e0574cdea0f359bf7048007792e",
50
- "packages/client/package.json": "dc9cfa449ee7d21c6806a29b134cddf0ea27171bb43c36c16b6803193aaac872",
51
- "packages/client/README.md": "6cc6ccdd25e38c61292636c3986aedbbfa54c3669f0ee92cce397ee1d569aa5d",
52
- "packages/contracts/index.d.ts": "03eb55f2c5efc635a03025cad1acb82436e0674be6fd69209632867ece1279b3",
53
- "packages/contracts/index.js": "72f09140f96b9cf23225647cedd415215c1e2741f99330ef333d3e48543c6aa5",
54
- "packages/contracts/package.json": "cbe11b72841d7ab9778250a55b65e3c927515229e5d1c3b51afc86b470290d89",
55
- "packages/contracts/README.md": "b1a0a90d07e7540503d4da45026f4135c83840a73005e4f07de8b13d5b077233",
56
- "packages/core/index.d.ts": "1387be7298aa2e76fca729275445de4bc813d749781f4a6ad13e07ff5567873e",
57
- "packages/core/index.js": "1e56043598cc26761569a8e3d1ae502447a512b59bbaaa26d30e0413e1523ae8",
58
- "packages/core/package.json": "cde6fd19ec109745e88d4e4007a96b68b8d2f3b37bcc064d4c6e39f224fcde00",
59
- "packages/core/README.md": "ba3d1bde0153afcd9bcb366803e4da3627815bd641eebf60c19a64ceda7d3005",
60
- "packages/server/bin/agent-terminal-server.js": "ba76c9f9ceb8ddb3736905d20afbba556370918f684181ad90610f227fd1a1eb",
33
+ "apps/agent-terminal/right-workspace-dock.css": "d368021905c9c77be871fbda300d820ef362f25f076f04f8d1073da70cbecfaa",
34
+ "apps/agent-terminal/right-workspace-dock.js": "05997169d6cd7f2564926ac1eca08aefde53bf5ee5f27092eaf85241998bb4b4",
35
+ "apps/ai-profile-settings-host/index.html": "bc158f68954506d2b8e43c690f28dbe931eff9a02b1524855ac17e74ea4df736",
36
+ "apps/ai-profile-settings-host/page.css": "8b75cbf7f1ea5aaa92f2889390720ece310a8fd4b9ca38c890fa447d4323a557",
37
+ "apps/ai-profile-settings-host/page.js": "f42755a3ed17bd7e00919cee56875b04035aa3c5526fce889f8ba52f4278a8b8",
38
+ "apps/minimal-test-host/host.css": "b870f0816a1fcd27b73ed20b4785b46f95729e55a6a5a56624234c74a012a915",
39
+ "apps/minimal-test-host/host.js": "dd18df55686f9f1a0eb6ba0713cdc3ae5b3e304aec0a2504d62c962b775778e7",
40
+ "apps/minimal-test-host/index.html": "a43ca39a89d9877bc658efc02f9de26ecd68356bd35078dfa440e11b7ba11394",
41
+ "apps/minimal-test-host/optional-mock/fault-injection.js": "4749c8210e5a2b9eab5c8b8188b9c9b2ce9dfc9bcb5eeb0d2d745042453f87f5",
42
+ "apps/minimal-test-host/README.md": "fa73136f4ee3865c2d91eb97b2e8c03679aa4688e44c1e1c8ec6e27d604b0de5",
43
+ "docs/sdk/FILE_LAYOUT.md": "17882f96505c8161bfb66876684b9d2d3f50021a111b8b844502d3cb4e97870a",
44
+ "docs/sdk/INTEGRATION.md": "d4c0c80d2d2fc610205102d703a429bfaa20f9f3a48f1718f5bab02ee90138df",
45
+ "docs/sdk/openapi.yaml": "1714e2ba9d1b72c0282c39f1978f90fc736332b696b7ab2d695ae327d2ced2da",
46
+ "docs/sdk/README.md": "7ab591d39c36a3b84cfdf487ff567040ec453975f3ef0fba86dc822094667b61",
47
+ "docs/sdk/SESSION_EVENTS.md": "578659512950fdaf99b9dd4b17bc5dd855079a4b4a2e910c79f43e7acf662252",
48
+ "package.json": "0b128b2462d8750ac97a0100e0c6daa46c8d502d67fdb4a6996c7cb4f7e8f78c",
49
+ "packages/client/index.d.ts": "7d86421a0dace70aaf27da87200cb8c1df46b583ff699a72d66189ab32779285",
50
+ "packages/client/index.js": "fbbeb0ea2125d5bd72e8b308f20901af5ae0d609d3f7be4f7e435f61b5a7b081",
51
+ "packages/client/package.json": "3424f76897eaf326cca6be22ea2043f36fbc3c0d5752a5ac8b57d70116eb075a",
52
+ "packages/client/README.md": "7a6a110ee5ef4a2aeb23afb1dcff7be00613a30a3ff2566cf3c6cdf4f6e3181a",
53
+ "packages/contracts/index.d.ts": "24c625b2ad1910ba428c155d52b5786af937e0a9695f92380748e5efe5c7d5f1",
54
+ "packages/contracts/index.js": "2640531e4ef5fd4ea5f56e63cc099f9d6357de7306ef9e6fe3dff3b97f3d9304",
55
+ "packages/contracts/package.json": "54ddad1b846160cc2e4c353e1d78abcda8b308e35bde2bf825b41a273bbb3f96",
56
+ "packages/contracts/README.md": "44d83a3cc508cec6c5c20dfa1f2c08d5ea03e3afb2853639fdc0a9cc8eb5b9c8",
57
+ "packages/core/index.d.ts": "c95b24a13f8aeeb128497833cf298790563baca6036ea5d29a9d8daff53199d7",
58
+ "packages/core/index.js": "825640d0edc7dd130f22da1f580d2cda355566a40b0b36e42e5f38909605bbfa",
59
+ "packages/core/package.json": "33ff6b6f081b19af6f83d1f0a7ddb5b603a01c423c43400a2743a4a4e5740319",
60
+ "packages/core/README.md": "e222c546104a168f1038d95c6c4efb8e5603edd6145ab2cab79cab977fb710e5",
61
+ "packages/server/bin/agent-terminal-server.js": "01ac54215f1fcbe64c4b78ce9cd83f66215177f67cdccddad30491c94f3b6746",
61
62
  "packages/server/bin/claude-workbench-server.js": "73fc7f1022b8cd5bbe8aed0eb105223e83627960e7208cffa6c29a2879932f38",
62
- "packages/server/bin/claude-workbench.js": "814623a85c0edb31ae1c39073fdfcda386d32460bedd2d3e2d26cb468a0f7b35",
63
- "packages/server/index.d.ts": "109357999c325742d459c292864e2fb846a654e4c22dbbbc317899038c94e26c",
64
- "packages/server/index.js": "bfe6752c331108e05e6bb33ec6a27068e9880c1ff46dca2ec652c65b6e9645af",
65
- "packages/server/lib/agent-discovery.js": "d279ede551f307c7d92427d64062b502335af426a0ae7404fec555311a9b2b43",
66
- "packages/server/lib/agent-registry.js": "6b975c715cb9c98ab3a2b2c0a5e49a87d4f3fe3963fc9e627915342d2f306df8",
67
- "packages/server/lib/agent-spawn-env.js": "c6d372a533adb4dc4677b46b351ffdd9cc5229dddaaed092698d0926b8d35784",
68
- "packages/server/lib/attachment-store.js": "60455754d2c421233708d09610c2d899820dd8953388904395cd7ea080ac5e19",
69
- "packages/server/lib/bridges/app-server-bridge.js": "6a8a725ce9b8b1f6e75c126f068df1a05fe51b37e8543897380f12d60327e712",
70
- "packages/server/lib/bridges/opencode-server-bridge.js": "514d432515a1eca8dce3ab2c87a569c4a4d8a16c733a693fbbeeb7ade9f3058b",
71
- "packages/server/lib/capture-settings-store.js": "1a2c84c01c577d199f723c7be1409ca6d8e013e01c089a8ec260d70423608671",
72
- "packages/server/lib/claude-history-recovery.js": "0b888e57846d40753e75deafb6894459fd7a52ee2cc1286fd1b76480058387d7",
73
- "packages/server/lib/cli-session-recovery.js": "9bb267bd38783731f9af9730bc13ed5b24c0f8a796e44cdd730afb63408ed39e",
74
- "packages/server/lib/context-resolver.js": "80a2e8ebf8c5f4de8d4d2476bec05d527aa185bfcea1975eab8b24ab3a4f1355",
75
- "packages/server/lib/conversation-capture.js": "a86e6254d4799d151c5c19328c7247a111736f4a27250e2baa46369aa5fad0bc",
76
- "packages/server/lib/delegation-phase-store.js": "ce0a6028d31a81ad6ed243ebfb96e8b1f6d8d7dce88d7e0287cf0e278f8b22b3",
77
- "packages/server/lib/delegation-store.js": "a84ec845eb11298250c81ea26ee88dac4091967b2fc45633ac72df8c2ba472c0",
78
- "packages/server/lib/diagnostics.js": "bc29ca5cb7759465e80256802fbf34cfd527bac95a57dd1e4384a7a7d239c36c",
79
- "packages/server/lib/drivers/cli-json-runner.js": "3802a9066bd78062c40441d43b23bf97333ec742f877c59f4426e4cb118e8e54",
80
- "packages/server/lib/drivers/codex-driver.js": "542be69cee306abbba72a9c3d02f98abaaafe0a74c616258ea2b84b2cf2e5935",
81
- "packages/server/lib/drivers/opencode-driver.js": "b7e0a338b32c2616fa3ce1fa438be5abc9794218eb1744b3a6eac877122a8c28",
82
- "packages/server/lib/drivers/zcode-driver.js": "b09246d6640d3986fc629f0861e4fc25c0ec8114109360f3cb3a8df9127182f9",
83
- "packages/server/lib/drivers/zcode-profile-runtime.js": "23881a8d447f0e4803ab0d8d8963dd665993243df0a30c405e2fbab53b647777",
84
- "packages/server/lib/event-stream.js": "c0106bd87ed208261be495bc1aeaf4404d5dfc691a602ea5684dde973d8fd918",
85
- "packages/server/lib/folder-picker.js": "70f55df999262b90433f2b4251aa69dd70a23b55a84756b5f1d24dbeacfbda31",
86
- "packages/server/lib/http-handler.js": "cf2e614065a7a9ac25b6d85369a6f549016beb8f913142e2f74d1bee098a1b00",
87
- "packages/server/lib/json-file.js": "c1034f052e3882b62d501edcda18b76e7edd485a82f0dd009efd186d7a8d533a",
88
- "packages/server/lib/knowledge-context.js": "f51441942897ef437e21ca344053a657f1047d224d01b4c95c4ba4afd65e2bf7",
89
- "packages/server/lib/model-detection.js": "2091ad1c426a4a7b9c7bd803febb6b1c8a944afb357570c133c58a9436164663",
90
- "packages/server/lib/profile-store.js": "1120791dd2517bd249caec4c43f19df6509b07d49bbc79a3edb1197d99cdfefa",
91
- "packages/server/lib/project-store.js": "736a21596d695f32d60632686406ccd137388e479b7f02b2252d71a329b02083",
92
- "packages/server/lib/runtime-loader.js": "ff549ef06d248bde63728aa050370a256f88cd3a83af451d5738077c5a796e1f",
93
- "packages/server/lib/session-archive-store.js": "1bf2756b2fb3920639b91c6e4c45836b917fe2999731b9d77ab67d9c502acc2d",
94
- "packages/server/lib/session-history.js": "b2ed7a6e1f4a0d96b62a8b4be8a0bc92bd7c261d621e7594acf11a39a2f1a096",
95
- "packages/server/lib/system-doctor.js": "af55a726220892ccb2d3d645ef1b2c2976c7712acbc3f6a3a32087d3979b89ab",
96
- "packages/server/lib/ui-preferences-store.js": "55b73c53c12d8f151468607f47c84facd5970604279effb7f0386f40e91dfbd7",
97
- "packages/server/lib/workbench-service.js": "dfa5123c05c15052d3359ad4b948f2accac31f9e3ad61861e7f41cbca2bafbff",
98
- "packages/server/package.json": "0ee6bfaaf304216a908547fec09b21e438b6452acd004e376b6b42f3641a1d1e",
99
- "packages/server/README.md": "0d78908cd40a84cb96eca01a42ee1ad2d8abc9c05b1490f5ebe2cd30d7e84e1d",
100
- "packages/ui/ai-profile-settings.d.ts": "460c5d1d5ddf328dcd60a5f51485c3c700a4892922b68da4dc89424116a85dbf",
101
- "packages/ui/ai-profile-settings.js": "1d95d4e18f919149871a2c9a6746db9db0e1f3600bd18b4b6e8713220feb975c",
102
- "packages/ui/claude-terminal.d.ts": "8e4bfc2819ab9fde8364d5b3dd1fccef870c71f279d2bae9a161d005f9a480f6",
103
- "packages/ui/claude-terminal.js": "7a8e52a9296273c2aa30aac3cfbec2541bc5e0eb57fc44666e876f8253a481a3",
104
- "packages/ui/index.d.ts": "8f6c415651370d7d796de289e789eea40817ce00e56d8f7f9ca816a25c52771b",
105
- "packages/ui/index.js": "f981b039a935ab1e0af9dc876701b56d8eddb459c3b5178f384f6d7e47e249f0",
106
- "packages/ui/package.json": "3b2ef356f5ca6734f43f53b022c825a788c58bd17353ad1a144c7c5aecc78e69",
107
- "packages/ui/README.md": "f831eaa4d064931fd11466d7fcd91c5481e399d63b3f03583984c3ee8aecce83",
108
- "packages/ui/theme.css": "e300d5bfda335466a6fb33e4927ee5ecc738b4d07837a149aff4c4a0f3072631",
109
- "src/assets/claude-prompts.json": "78369214ea6f9725f36842ce299bcb61610870770df83f63cfa54f357c8964b9",
110
- "src/backend/http/ai-profile-routes.js": "a874d9f638138baab144f739163f66e8c188e95c6f2278280538e169d6a84976",
111
- "src/backend/http/claude-routes.js": "8766066653bc3e1012ae062858bafd87a82a3db124e21ef33482aaec1da60adb",
112
- "src/backend/http/node-helpers.js": "6029f7a017be1f52d0a8b0aca29b127df9a396df052bbadc7277a7c947959691",
113
- "src/backend/index.js": "9e0376316098bc622970ef6e35cc1f2a90ad4b9df83f37e179a43cc8a4a1822e",
114
- "src/backend/lib/ai-adapter.js": "287f6f4c13594621480965ab256b0ff4992417871b34e453983c9706fd8aa042",
115
- "src/backend/lib/ai-profile-store.js": "1e82523616d4b23702bb70f97b7b609afa8d1ea9e5ae7e101a18971607166cb2",
116
- "src/backend/lib/ai-vendor-presets.js": "298ead7ba72b1ae70ffaf13fac3dae774a8bf87ebc880b6306e29e796717cef0",
117
- "src/backend/lib/ai-workspace.js": "d0f5211df8c6f63e708ecd381f6e0702bede0307d8075fb8255cde8ebffb8eda",
118
- "src/backend/lib/automation-config.js": "62611e062b2673b89a58ea35596d3aae537a9187e2ea3514d9262f99020351cf",
119
- "src/backend/lib/claude-cli-runner.js": "cadd6b44003bf16553d9d665b5f02e1dfabfff793c70cf535bf44927886ad2b6",
120
- "src/backend/lib/data-dir.js": "4daa0b0a71c9f2a84f931330623c5f0adb7dbee2fdeb597a23b2edd213619cc5",
121
- "src/backend/lib/llm-client.js": "8c71857d072f03b53feda87751185b8bd0649e57e653c976d0f80cc3bd6e22c1",
122
- "src/backend/lib/model-context-windows.js": "4612975165ee3319aba51e46566c556e18a6cfd2e5e3efd1e64077905c363373",
123
- "src/backend/lib/native-task-control.js": "0c7bf5dc6244d0c18bfd87d980389e3eef6b8f74be3527237a4b457e72eac414",
124
- "src/backend/lib/native-task-history-index.js": "f7c6cb657c648f8aa675fd899af8c785273dea4ffad8fa8418b3f62ed0f67264",
125
- "src/backend/lib/native-task-history-reader.js": "528cc7079f4101c8840a4a63d5bb01d4dcdb17a158d52a5ec0802726e9033a6d",
126
- "src/backend/lib/native-task-messages.js": "3889fa735cf608895733a38aec4c796c3af58b446e8e825beb7b7c34efa9dcca",
127
- "src/backend/lib/native-task-registry.js": "963350ebefe6a8338823ddad40b2a170fba0c1f55f42dd39ea9225f0b7e0268a",
128
- "src/backend/lib/native-task-runtime.js": "fa15c25dfe347fb9b0a434801601ae1536ec8df01ed5318adb6610a980d4b7eb",
129
- "src/backend/lib/native-task-trace.js": "d6d370d77e481811b37b0571332d89cb948df1ce3703f7e6e7f063732da581f1",
130
- "src/backend/lib/native-task-transcript.js": "0f96e9715cb84244ffc41c86e115687230c9bf02ad902077ac138ac949726939",
131
- "src/backend/lib/prompt-registry.js": "88ca170f4ac04e47e7cf85816511797634cc39b97ecf095548ee0772799de5e9",
132
- "src/backend/lib/runtime-config.js": "050bbfadb7bfa0f47786beb6dfd80f240ed3e64f265d7457ba85f8c31f8e458f",
133
- "src/backend/lib/sdk-session-stream.js": "f1003b41819cf28c559afca009d199c86bf506f5178e7813ac329d7b8a2759a4",
134
- "src/backend/lib/sdk-turn-stream.js": "f18301b9a660aaac4b09613750bf5645d338aa83d2001cb113a281b7c68c3b8c",
135
- "src/backend/lib/store-scope.js": "1acdd6ddb6038e654c5c6cd44d92817ba7c4a67aec023bc701ae0b49f20db746",
136
- "src/backend/lib/task-identity.js": "4261cd9164ad044a08bd03ff109b4e2b770d017422a446ea173f6426c024355a",
137
- "src/backend/lib/task-state-projection.js": "2f833ad4aa7676ac0fb1ab978bd999c6a87646af44ac8ec6450cc2d39de5affb",
138
- "src/index.js": "40801aa5fc71a239e057a735264134df8cbcb29db200322700427be9718a6312",
139
- "src/sdk-wave-a.ts": "5660f617af8d64696476315299332c0f45d88f47c83305e32c698092338d5b2b",
140
- "src/sdk-wave-b.ts": "de927fe52372e8454f66b764cb268d0b372d227702a1dfba60270e1bba156124",
141
- "src/sdk-wave-c.ts": "d169796348a85626650eba6d3577d7251c37164210f15f1168fceddcf56b5b72",
142
- "src/sdk-wave-d.ts": "7c85bad58a79e18d277def040c50f30065c193e9440ae9fbcda259c653ff4c65",
143
- "src/sdk-wave-e.ts": "87269a774575c0543f632b34a4a04cf67037e4b39be09aa778d997e4ac665564"
63
+ "packages/server/bin/claude-workbench.js": "98dbd550d4d657056a75a190e7ee0dffd9f760fba58783f3ffb8d389ad7a32de",
64
+ "packages/server/index.d.ts": "1bf40dae09d7f8730633a9f6c867c5fc6636ded560c3636f3340586916209d02",
65
+ "packages/server/index.js": "631d8254bf963ea527194bf6b69e026a0601e4ecdabdef448fd2c18f9a3f2048",
66
+ "packages/server/lib/agent-discovery.js": "c332e12b2b3736156b3e96a2683108944b5f7fd66abca1854bf75ff260729db8",
67
+ "packages/server/lib/agent-registry.js": "afacdbe75cc692cba9e2930eed69b2c27353147c7f9bfb34cab1af97d2d2ddb5",
68
+ "packages/server/lib/agent-spawn-env.js": "f34f672a6153c8454615c440f41b4c81582c4b7f74f6dace4e26c43df9dba6cf",
69
+ "packages/server/lib/attachment-store.js": "5c92c45c7ec5a8b0ee9c14edb42eeda5fce93d8e654718dcd75c12e3f0bfa6e7",
70
+ "packages/server/lib/bridges/app-server-bridge.js": "c860c6b9e0f63ead9f4f289dad1fe05fc93314e89b29cdf7722fba0472c9af11",
71
+ "packages/server/lib/bridges/opencode-server-bridge.js": "23b6065599bece60cc8d3d4779be90d62a6936ec437424287cc87325d250e02b",
72
+ "packages/server/lib/capture-settings-store.js": "eb18885d7bedd3e353287dd7d1cf81e815e5d65d5d82170aa8fe5506a03de8bd",
73
+ "packages/server/lib/claude-history-recovery.js": "a1c15ef2c863d85ab6447d6b70bda0d69ed1a65dd14e375cb2cad1252068a17e",
74
+ "packages/server/lib/cli-session-recovery.js": "e66dc0ad83af18841bf3a598bb27932af42a20cf9395c16dcbaf9b022a5201b5",
75
+ "packages/server/lib/context-resolver.js": "a89fa2b55a86a62396a59052fb394d08532e528c87160d5bd6057bd8bdc26952",
76
+ "packages/server/lib/conversation-capture.js": "c1474d1a3c148b68ac8974f9252a2c996b9a7378c9ab8272b9115480cb5143a2",
77
+ "packages/server/lib/delegation-phase-store.js": "5bfd5c0ee5c139001e1990a5c4eb2ba5862bd6549b42badcb670a31390502a01",
78
+ "packages/server/lib/delegation-store.js": "1caa803ed03bba6e722d589fa7a728ce0bac9355782be3fbd406429ab6709153",
79
+ "packages/server/lib/diagnostics.js": "b45687fcc07f8baeb33ffd08efdc875494d4e3205887514fdfd7e1ce6370753b",
80
+ "packages/server/lib/drivers/cli-json-runner.js": "2d182ef4b4f957f04e12036da055e881837e5f1fc86c351bef6b755189b08c9a",
81
+ "packages/server/lib/drivers/codex-driver.js": "22166b9467768f813ae04a4b12093ea8407c5ac17bd943d2d87666199c6590de",
82
+ "packages/server/lib/drivers/opencode-driver.js": "ae97fbdae954dbe6ce21e1f7faac6c3440f2424fdd609d39f7645abe9dc8b598",
83
+ "packages/server/lib/drivers/zcode-driver.js": "429ffc17c60c3732e57fa86b7c8b16697e1ea82bb2f2770a2aff7927ba346ae3",
84
+ "packages/server/lib/drivers/zcode-profile-runtime.js": "77c5ac83551cc424375918863d4a31039984492c3a1c987a615a072ac7cb1f14",
85
+ "packages/server/lib/event-stream.js": "cfbe8207594f004ed0ad65a907401eef833f641b94064fa88852b9ae8c15fe59",
86
+ "packages/server/lib/folder-picker.js": "da2caf8b6a4c00a22556fe355d28d735d78dd814fa0aa7edfc6c4cde8ca8c384",
87
+ "packages/server/lib/http-handler.js": "0370a594f8386f2083693ce0a40a0104021125c9ea6002e55cd57d87224d947d",
88
+ "packages/server/lib/json-file.js": "4252b57abcd0aafa45c584bac98fcbaf09174774addbb5a4798b381a7aeb35cc",
89
+ "packages/server/lib/knowledge-context.js": "c3d8a9545547c636e6cdf908be53bef4968e674d2aab235562e762e25c210c06",
90
+ "packages/server/lib/model-detection.js": "fa52213200c1f1a1f00e463ada57c415bf1bd4e2aedfebd04de50750509d06cf",
91
+ "packages/server/lib/parent-context.js": "488fe97855cc53934d0a68fb3ccb64a17da78274937b8c036c7e1bbf42099944",
92
+ "packages/server/lib/profile-store.js": "70a9ff6aa31fe438ba8431f3e461f72e5d977f3510f2c42d39e9133e2f3491a8",
93
+ "packages/server/lib/project-store.js": "5225c78f3216340f01b99356496c8e2c2d9cfc6247954a3f00b273dd2cc5b692",
94
+ "packages/server/lib/runtime-loader.js": "33e152cb630d986581946928d7ab7d25d53e63647a433b0c1ff4d02c32a6298f",
95
+ "packages/server/lib/session-archive-store.js": "d3335b832a6e9fb9792991056f6596a997a4959efa6e62b60fb60133fb724196",
96
+ "packages/server/lib/session-history.js": "89437e20bdcaf90d792c122be19c5af22de740593391dfb4d1054937bade2d5e",
97
+ "packages/server/lib/system-doctor.js": "d098a046f425e90ef25209be69d78beefdfd9c2af92f08068a9bfc52053a8f7d",
98
+ "packages/server/lib/ui-preferences-store.js": "e108cb22e7cc1f3438704913d5401e01de2c0e717eb2abd3bdc4727209393819",
99
+ "packages/server/lib/workbench-service.js": "e6969c67f8c4155312ff3f81a6f4ec95a8d0908771b6d43feb8e69ac22633522",
100
+ "packages/server/package.json": "e67cb6d4399f9548dcb14d02db0239801f2705e7f6b9c47e1c785f200b7e6355",
101
+ "packages/server/README.md": "a34cfaa4f4e859008b44e2be8e1aafb56e97fe83e6129c968a8562945fa843f3",
102
+ "packages/ui/ai-profile-settings.d.ts": "0551b6c6eda6d18ea89a976daddf01b2161195f4874fe2d67a57cd9ecc6ce643",
103
+ "packages/ui/ai-profile-settings.js": "e92bbac67a1199d473e4e44b32d1cc76c5b6c79306d4fef9d9067a1bb6ec42ca",
104
+ "packages/ui/claude-terminal.d.ts": "2e8b4ae14f69ec791e2aacbec48ea2bc6e0076e0445a38e99cc477cf2e0a3011",
105
+ "packages/ui/claude-terminal.js": "96bd217a4a7e4792ae3fbaaf46249ecee13b0f4e01fc6d25a1b8b22d8f8fe00c",
106
+ "packages/ui/index.d.ts": "e547ab39640fe7519fb367b78442dc8a2c51b2efd17b66f8b0a003b154b36ead",
107
+ "packages/ui/index.js": "f4394aabd395938f5c3fe587e430471d4033e83945a9b9c7e0149ad4040982c9",
108
+ "packages/ui/package.json": "e136e16aef0304bb5107fca1ed076f6fd479af9757817e38c8f16276d59d9783",
109
+ "packages/ui/README.md": "793c4a9c286fee23f39062a1976ca3afe9d2816dcdb55e156ba940e1ef514f89",
110
+ "packages/ui/theme.css": "8f03a081272a7db11b196f7a70d0fafb1f8d954778f329f1ba53d110d9d5fd98",
111
+ "src/assets/claude-prompts.json": "cb111f2e0a45afe8a31c251a504d1ab5375966ed61291660e61fd2efd77f6d9f",
112
+ "src/backend/http/ai-profile-routes.js": "4b13a8e9ccbb0317f2ae7b3d468c060c33a9e1ffa49b781a495193a8eebaca68",
113
+ "src/backend/http/claude-routes.js": "63730f0a5b5798152017f9b8679828ec25984a0c88d4ca883012841c13989c82",
114
+ "src/backend/http/node-helpers.js": "da365da8223ee999e6addb3c2607f286bbe1ebf8e88423c7fdaf130de88c5d78",
115
+ "src/backend/index.js": "b94cfffde773555041d7c524eaf676f5010b1688929e327c5967bacbe5942bf6",
116
+ "src/backend/lib/ai-adapter.js": "7e6c6645c6d7e3d9dece10be75a1f6e54e37c6aa4d24167faff83dd2cc2c98d0",
117
+ "src/backend/lib/ai-profile-store.js": "373e82d24b3b94017aceffdd49a7ce983cc8044871e5dcc245a4834e646e33c5",
118
+ "src/backend/lib/ai-vendor-presets.js": "02c6de9c2e89ad0286426e8eb4900c3c6a4960ef0e8f9d27ffb5836062abfbb2",
119
+ "src/backend/lib/ai-workspace.js": "969917f26cd0b0a272932714819d838a2bab2a5aac5c4e946647dfa3afa479bf",
120
+ "src/backend/lib/automation-config.js": "00da7ec85a4d665695cc56cbfe353b11912af5486bc7d81469425ec93c4c0ce7",
121
+ "src/backend/lib/claude-cli-runner.js": "111e4361c0779252406fa5c5c417980a1c6fd81fc41fadecbed961e1da41e8f4",
122
+ "src/backend/lib/data-dir.js": "a62d96d1ab538e37690ad31fe4f51e84120b55b6bc767661ed98ad9242f879db",
123
+ "src/backend/lib/llm-client.js": "834cb8be7081e38b3a593e8559e6698a5211199e5652526a4f50d305a2134bbc",
124
+ "src/backend/lib/model-context-windows.js": "f64f7c995143407b7390105087e3ebcd56a5a3ba2fd3019478a86f9e3c6b7896",
125
+ "src/backend/lib/native-task-control.js": "c52fb866325ae13430360cbac3634575c8abf0833f6863133a3b60fb25d62a39",
126
+ "src/backend/lib/native-task-history-index.js": "032d4126426479a1126442ac41c8e0a53db5d044c14173fc1f40749da716c682",
127
+ "src/backend/lib/native-task-history-reader.js": "22fb45a6866a98387392252e663eda9e4c6ffd7590a505e1c9dac9f9d765fe93",
128
+ "src/backend/lib/native-task-messages.js": "107472a0f47f6838ddc7de481ee5f45eec283d94f44affd24972d959dfcb4d48",
129
+ "src/backend/lib/native-task-registry.js": "800849951625e647c91e4179aab26896e06d350d9836baffe5bdb9aa743ff53b",
130
+ "src/backend/lib/native-task-runtime.js": "4aabfa755fdd81dd7917ac04de108b103e5f7fe125c176e7752489dfeec1b64f",
131
+ "src/backend/lib/native-task-trace.js": "3ebcef282c917e32588d3856b8359a2e6ca74cf28f4c887f8a0fcf64387baaa3",
132
+ "src/backend/lib/native-task-transcript.js": "b23cae1c34c0c83893f2436825f2009bc0b87ae1ec93c982d3fb8af78ed5e128",
133
+ "src/backend/lib/prompt-registry.js": "9af496af837c7ae98cea2c5f55e81485dcaedf6f27c94b1d6d0384de897f94b9",
134
+ "src/backend/lib/runtime-config.js": "8335525d2aff757f8022ab037dd00eb7bef7ff87a75ac946d599c2666b092323",
135
+ "src/backend/lib/sdk-session-stream.js": "d7cac7e8d8f19e2aa34f403382c79f2bba26b0dfab79f5b855b4318bfcd112ee",
136
+ "src/backend/lib/sdk-turn-stream.js": "3177bbec81cc0d4b1b578305056e4547b26069dde4f0133766a8a16fa3d8f923",
137
+ "src/backend/lib/store-scope.js": "c07640abe888490b87e9287c77dbc1972cd9b414d7669a07e5e22bf5266cd051",
138
+ "src/backend/lib/task-identity.js": "5fbea33d0e31552e98dbea277f7f3fe8c46ba47d53e84451161615b50c297c09",
139
+ "src/backend/lib/task-state-projection.js": "df8f96fdd877220ec151463071f8ce4416f9c13e59a04223be7b6b7920ee1063",
140
+ "src/index.js": "12e436e628ccdaaed1975602507427b8b3fe3493d70beb54023e02a5d19c4fc9",
141
+ "src/sdk-wave-a.ts": "dc6c049b4e6f7a8c4a240b02498e6b247b679f34aefc7ff5b71322d96987de5f",
142
+ "src/sdk-wave-b.ts": "63c7a01b7f003f46439b23d584a01f9c362cc86b368381b96c6b6a83db1ba97a",
143
+ "src/sdk-wave-c.ts": "e69aa2cd61174baf790fe2f703e0e364d1228a55d9a7d0be9a2030d7500b9843",
144
+ "src/sdk-wave-d.ts": "6b04f955b70ed3dbe9df02012e99f05d977530dbac038b8eae5039131c7a6093",
145
+ "src/sdk-wave-e.ts": "31acfa15505c6b08f4da253bc21e94859d7972576dcd760effeba4656a36577f"
144
146
  }
145
147
  },
146
148
  "vectorHub": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanqianx/project-knowledge",
3
- "version": "5.0.20-rc.1",
3
+ "version": "5.0.21",
4
4
  "description": "Knowledge base manager with Git integration, AI-driven analysis, and bilingual (zh-CN/en-US) knowledge output",
5
5
  "main": "_site/server.js",
6
6
  "scripts": {
@@ -90,7 +90,7 @@
90
90
  "@sanqianx/vector-hub": "1.0.8-rc.8",
91
91
  "buffer": "^6.0.3",
92
92
  "cheerio": "^1.2.0",
93
- "claude-ai-workbench": "npm:@sanqianx/claude-ai-workbench@0.13.2-rc.22",
93
+ "claude-ai-workbench": "npm:@sanqianx/claude-ai-workbench@0.13.3",
94
94
  "cross-spawn": "7.0.6",
95
95
  "dotenv": "^17.4.2",
96
96
  "gpt-tokenizer": "^3.4.0",
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
3
3
  "name": "project-knowledge",
4
4
  "hooks": "./hooks/claude.json",
5
- "version": "5.0.20-rc.1",
5
+ "version": "5.0.21",
6
6
  "description": "Read durable project decisions and implementation history from Project Knowledge.",
7
7
  "author": {
8
8
  "name": "SanQianX",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-knowledge",
3
- "version": "5.0.20-rc.1",
3
+ "version": "5.0.21",
4
4
  "description": "Read durable project decisions and implementation history from Project Knowledge.",
5
5
  "author": {
6
6
  "name": "SanQianX",
@@ -8,7 +8,7 @@
8
8
  "const fs=require('fs'),path=require('path'),os=require('os');const PKG='@sanqianx/project-knowledge',SC='project-knowledge/integration-runtime/v1';let f='';const root=process.env.CLAUDE_PLUGIN_ROOT||process.env.PLUGIN_ROOT;if(root){f=path.join(root,'scripts','mcp-launcher.cjs');if(!fs.existsSync(f))f=''}if(!f){const dd=process.env.KB_DATA_DIR||path.join(os.homedir(),'.project-knowledge-v5');try{const bp=path.join(dd,'integration-runtime.json');const st=fs.statSync(bp);if(st.isFile()&&st.size<=32768){const b=JSON.parse(fs.readFileSync(bp,'utf8'));if(b&&b.schema===SC&&b.packageName===PKG&&typeof b.packageRoot==='string'&&path.isAbsolute(b.packageRoot)){const c=path.join(b.packageRoot,'plugins','project-knowledge','scripts','mcp-launcher.cjs');const rr=fs.realpathSync(b.packageRoot),cr=fs.realpathSync(c);const rel=path.relative(rr,cr);if(rel&&rel!=='..'&&!rel.startsWith('..'+path.sep)&&!path.isAbsolute(rel)&&fs.statSync(cr).isFile())f=cr}}}catch(e){}}if(!f){console.error('[project-knowledge-mcp] 未能通过受信任插件根或已验证的安装绑定定位启动器,已停止;不访问网络,也不加载工作目录源码。');process.exit(127)}require(f);"
9
9
  ],
10
10
  "env": {
11
- "KB_PLUGIN_VERSION": "5.0.20-rc.1"
11
+ "KB_PLUGIN_VERSION": "5.0.21"
12
12
  }
13
13
  }
14
14
  }
package/ui/index.html CHANGED
@@ -23,7 +23,7 @@
23
23
  <header class="topbar"><div><small id="breadcrumb">我的智脑</small><h1 id="pageTitle">智脑首页</h1></div><div class="spacer"></div><select id="projectSelect" aria-label="当前项目" disabled><option value="">尚未导入项目</option></select><button id="themeToggle" class="icon-button" title="切换浅色或深色主题" aria-label="切换主题"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="4"/><path d="M12 2v3M12 19v3M2 12h3M19 12h3"/></svg></button></header>
24
24
  <div class="content">
25
25
  <section class="view" id="view-home"><div class="welcome"><div><small>工作概览</small><h2 id="homeTitle">我的智脑</h2><p>保存项目事实,连接相关经验。你的长期偏好,只在确认后使用。</p></div><div class="actions"><button class="primary" data-go="work">开始工作</button><button data-action="import">导入项目</button></div></div><div id="homeContent"></div></section>
26
- <section class="view module-view" id="view-work"><div id="workEmpty" class="empty" hidden>导入项目后,就可以在这里开始工作。<button data-action="import">导入项目</button></div><div class="work-layout" id="workLayout"><div class="frame-container"><iframe id="workFrame" title="Agent 工作台" referrerpolicy="same-origin"></iframe></div><aside class="knowledge-context"><header><h2>本次知识引用</h2><small id="contextScope">任务发送前自动检索</small><small id="panelNotice" class="panel-notice" hidden></small></header><div id="contextContent" class="empty small-empty">发送任务后显示实际检索到的项目事实、领域经验和已确认记忆。</div></aside></div></section>
26
+ <section class="view module-view" id="view-work"><div id="workEmpty" class="empty" hidden>导入项目后,就可以在这里开始工作。<button data-action="import">导入项目</button></div><div class="work-layout" id="workLayout"><div class="frame-container"><iframe id="workFrame" title="Agent 工作台" referrerpolicy="same-origin"></iframe></div></div></section>
27
27
  <section class="view module-view" id="view-search"><div class="module-toolbar"><span>查找知识</span><div class="segmented" id="searchScope"><button data-scope="project">当前项目</button><button data-scope="domain">所属领域</button><button data-scope="brain">整个智脑</button></div></div><div id="searchEmpty" class="empty" hidden>尚未导入项目。<button data-action="import">导入项目</button></div><div class="frame-container"><iframe id="vectorFrame" title="知识检索" referrerpolicy="same-origin"></iframe></div></section>
28
28
  <section class="view" id="view-memory"><div class="section-heading"><div><h2>长期记忆</h2><p>手动添加约定,或审核 Agent 提取的候选;确认内容与适用范围后生效。</p></div><button id="addMemory" class="primary" disabled>添加记忆</button></div><div class="memory-toolbar"><div class="segmented" id="memoryTabs"><button data-memory-tab="confirmed">已确认</button><button data-memory-tab="candidate">候选箱 <span id="candidateCount"></span></button></div><div class="actions"><select id="memoryScopeFilter" aria-label="筛选记忆范围"><option value="">全部范围</option><option value="global">全局记忆</option><option value="domain">领域记忆</option><option value="project">项目记忆</option></select><select id="memoryTargetFilter" aria-label="筛选记忆目标" hidden></select></div></div><div id="memoryContent"></div></section>
29
29
  <section class="view" id="view-projects"><div class="section-heading"><div><h2>领域与项目</h2><p>统一管理归属,项目知识仍保存在原来的目录。</p></div><div class="actions"><button id="createDomain">创建领域</button><button class="primary" data-action="import">导入项目</button></div></div><div class="hierarchy"><div class="panel tree" id="projectTree"></div><div class="panel" id="projectDetail"></div></div></section>
@@ -6,19 +6,18 @@
6
6
  <meta name="color-scheme" content="light dark">
7
7
  <title>本次知识引用</title>
8
8
  <style>
9
- :root{color-scheme:light dark;font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif}
10
- body{margin:0;padding:16px 12px;background:#f7f7f5;color:#1f2328;font-size:13px;line-height:1.6}
11
- h1{font-size:13px;margin:0 0 4px}
9
+ :root{color-scheme:light;font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;--page:#fff;--text:#202733;--muted:#687587;--line:#dce2e8}
10
+ :root[data-theme="dark"]{color-scheme:dark;--page:#20252d;--text:#e6ebf0;--muted:#a0aaba;--line:#39424f}
11
+ body{margin:0;padding:24px;background:var(--page);color:var(--text);font-size:14px;line-height:1.65}
12
+ h1{font-size:14px;margin:0 0 4px}
12
13
  #panelStatus{margin:0 0 12px;color:#5a6069}
13
14
  #panelProject{display:block;margin:0 0 12px;color:#5a6069;font-size:12px}
14
- .reference{border:1px solid #e3e4e8;border-radius:8px;background:#fff;padding:10px 12px;margin:0 0 8px}
15
- .reference h2{font-size:13px;margin:0 0 4px}
15
+ .reference{border:1px solid var(--line);border-radius:10px;padding:14px;margin:0 0 12px}
16
+ .reference h2{font-size:14px;margin:0 0 4px}
16
17
  .reference small{display:block;color:#5a6069;overflow-wrap:anywhere}
17
- .reference code{display:block;color:#5a6069;font-size:11px;margin-top:4px;overflow-wrap:anywhere}
18
18
  .reference p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
19
19
  .kb-empty{color:#5a6069}
20
- #panelMarker{display:block;margin-top:16px;color:#9aa0a8;font-size:11px;letter-spacing:.04em}
21
- @media (prefers-color-scheme:dark){body{background:#14161a;color:#e6e8eb}.reference{background:#1c1f24;border-color:#2c3038}#panelStatus,#panelProject,.reference small,.reference code,.kb-empty{color:#9aa0a8}}
20
+ #panelStatus,#panelProject,.reference small,.kb-empty{color:var(--muted);font-size:12px}
22
21
  </style>
23
22
  </head>
24
23
  <body>
@@ -26,7 +25,6 @@ h1{font-size:13px;margin:0 0 4px}
26
25
  <small id="panelProject"></small>
27
26
  <p id="panelStatus">等待知识内容…</p>
28
27
  <div id="panelReferences"><p class="kb-empty">面板就绪后显示实际检索到的项目事实、领域经验和已确认记忆。</p></div>
29
- <footer id="panelMarker">KB-K1-KNOWLEDGE-PANEL-v1</footer>
30
28
  <script>
31
29
  (function () {
32
30
  'use strict';
@@ -67,11 +65,9 @@ h1{font-size:13px;margin:0 0 4px}
67
65
  heading.textContent = String(entry.title || entry.entryId || '知识引用');
68
66
  var source = document.createElement('small');
69
67
  source.textContent = String(entry.source || '');
70
- var entryId = document.createElement('code');
71
- entryId.textContent = String(entry.entryId || '');
72
68
  var text = document.createElement('p');
73
69
  text.textContent = String(entry.text || '').slice(0, 800);
74
- item.append(heading, source, text, entryId);
70
+ item.append(heading, source, text);
75
71
  return item;
76
72
  }
77
73
 
@@ -80,8 +76,9 @@ h1{font-size:13px;margin:0 0 4px}
80
76
  if (content === null || typeof content !== 'object' || Array.isArray(content)) {
81
77
  throw new Error('内容必须是普通对象');
82
78
  }
79
+ document.documentElement.dataset.theme = content.theme === 'dark' ? 'dark' : 'light';
83
80
  titleNode.textContent = String(content.title || '本次知识引用');
84
- projectNode.textContent = String(content.projectId || '');
81
+ projectNode.textContent = String(content.projectName || '');
85
82
  statusNode.textContent = STATUS_LABELS[String(content.status || '')] || '本次任务上下文';
86
83
  refsNode.replaceChildren();
87
84
  var references = Array.isArray(content.references) ? content.references : [];
@@ -108,7 +105,7 @@ h1{font-size:13px;margin:0 0 4px}
108
105
  render(data);
109
106
  acknowledge(data.panelId, data.version, true, null);
110
107
  } catch (error) {
111
- statusNode.textContent = '知识内容渲染失败,已通知工作台恢复固定知识栏。';
108
+ statusNode.textContent = '知识引用暂时无法显示,请稍后重试。';
112
109
  acknowledge(data.panelId, data.version, false, error && error.message ? error.message : 'render failed');
113
110
  }
114
111
  });
package/ui/product.css CHANGED
@@ -5,17 +5,9 @@ label>.detail-path{display:block;width:100%;margin:8px 0 0;color:var(--text)}
5
5
  .agent-detail{margin-top:8px}.agent-detail summary{cursor:pointer;color:var(--muted);font-size:12px;user-select:none}.agent-detail[open] summary{margin-bottom:2px}.agent-detail .actions{margin-top:8px}
6
6
  #logsDialog{display:flex;flex-direction:column;overflow:hidden}#logsDialog:not([open]){display:none}#logsContent{overflow:auto;min-height:0;flex:1;margin-top:16px}#logsContent .row{align-items:flex-start;cursor:pointer}#logsContent pre{flex:1;min-width:0;margin:0}#logsContent .log-entry{border-bottom:1px solid var(--line)}#logsContent .log-detail{padding:16px;background:var(--surface2);max-height:320px;overflow:auto}#logsContent [data-level=warn],#logsContent [data-level=error],#logsContent [data-level=fatal]{color:var(--bad)}#logsContent .row time,#logsContent .row pre{color:inherit}
7
7
  @media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
8
- .knowledge-context{overflow-x:hidden}.reference{overflow-wrap:anywhere}.reference small{min-width:0;max-width:100%}
8
+ .reference{overflow-wrap:anywhere}.reference small{min-width:0;max-width:100%}
9
9
  html[data-theme=dark]{--page:#171a1f;--surface:#20252d;--surface2:#252b34;--surface3:#2c333e;--line:#39424f;--text:#e6ebf0;--muted:#a0aaba;--faint:#788393;--nav:#1b2028;--accent:#8aa8cf;--accent-soft:#293748;--good:#81b29a;--bad:#d88b8b;--bad-soft:#39292d;color-scheme:dark}
10
10
  *{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:0;overflow:hidden;background:var(--page);color:var(--text);font:13px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}button:hover{background:var(--surface3)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}h1,h2,h3,p{margin:0}h1{font-size:18px;font-weight:650}h2{font-size:16px;font-weight:600}h3{font-size:13px;font-weight:600}small,.muted{color:var(--muted)}small{font-size:11px}p{color:var(--muted);margin-top:8px}input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-width:0}label{display:block;font-size:12px;margin:16px 0;color:var(--muted)}label>input,label>select,label>textarea{display:block;width:100%;margin-top:8px;color:var(--text)}pre{font:12px/1.8 Consolas,"Microsoft YaHei",monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}
11
- .app{height:100%;display:grid;grid-template-columns:232px minmax(0,1fr)}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--nav);min-height:0}.brand{display:flex;align-items:center;gap:8px;padding:24px 20px 16px}.brand-mark{width:32px;height:32px;display:block;flex:none;object-fit:contain}.brand strong{font-size:14px}.brand small{display:block}.brain-label{padding:0 20px 16px;color:var(--muted);overflow-wrap:anywhere}.sidebar nav{display:grid;gap:8px;padding:8px 12px}.sidebar nav button{justify-content:flex-start;min-height:40px;text-align:left;border-color:transparent;background:transparent;color:var(--muted)}.sidebar nav button.active{border-color:var(--line);background:var(--surface);color:var(--text)}.count{margin-left:auto;background:var(--surface3);padding:0 6px;border-radius:4px}.system-button{margin: auto 12px 16px;justify-content:flex-start;min-height:56px;background:transparent;border-color:transparent;padding:8px}.system-button>span:nth-child(2){flex:1;text-align:left}.system-button b,.system-button small{display:block;font-size:11px}.dot{width:7px;height:7px;border-radius:50%;background:var(--faint);flex:none}.dot.up{background:var(--good)}.dot.issue{background:var(--bad)}main{min-width:0;min-height:0;display:flex;flex-direction:column}.topbar{height:72px;flex:none;display:flex;align-items:center;gap:16px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--line)}.spacer{flex:1}.topbar select{width:240px}.icon-button{padding:8px;min-width:34px}.content{position:relative;flex:1;min-height:0}.view{display:none;height:100%;overflow:auto;padding:32px}.view.active{display:block}.view.module-view{padding:0;overflow:hidden}.module-view.active{display:flex;flex-direction:column}.frame-container{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;background:var(--surface)}iframe{display:block;width:100%;height:100%;border:0;background:var(--surface)}.work-layout{display:grid;grid-template-columns:minmax(0,1fr) 288px;height:100%;min-height:0}.knowledge-context{background:var(--surface2);border-left:1px solid var(--line);overflow:auto;padding:24px 16px}.knowledge-context header{margin-bottom:24px}.knowledge-context h2{font-size:13px}.module-toolbar{flex:none;min-height:56px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.segmented{display:flex;gap:4px}.segmented button{background:transparent;border-color:transparent;color:var(--muted)}.segmented button.active{background:var(--surface);border-color:var(--line);color:var(--text)}
11
+ .app{height:100%;display:grid;grid-template-columns:232px minmax(0,1fr)}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--nav);min-height:0}.brand{display:flex;align-items:center;gap:8px;padding:24px 20px 16px}.brand-mark{width:32px;height:32px;display:block;flex:none;object-fit:contain}.brand strong{font-size:14px}.brand small{display:block}.brain-label{padding:0 20px 16px;color:var(--muted);overflow-wrap:anywhere}.sidebar nav{display:grid;gap:8px;padding:8px 12px}.sidebar nav button{justify-content:flex-start;min-height:40px;text-align:left;border-color:transparent;background:transparent;color:var(--muted)}.sidebar nav button.active{border-color:var(--line);background:var(--surface);color:var(--text)}.count{margin-left:auto;background:var(--surface3);padding:0 6px;border-radius:4px}.system-button{margin: auto 12px 16px;justify-content:flex-start;min-height:56px;background:transparent;border-color:transparent;padding:8px}.system-button>span:nth-child(2){flex:1;text-align:left}.system-button b,.system-button small{display:block;font-size:11px}.dot{width:7px;height:7px;border-radius:50%;background:var(--faint);flex:none}.dot.up{background:var(--good)}.dot.issue{background:var(--bad)}main{min-width:0;min-height:0;display:flex;flex-direction:column}.topbar{height:72px;flex:none;display:flex;align-items:center;gap:16px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--line)}.spacer{flex:1}.topbar select{width:240px}.icon-button{padding:8px;min-width:34px}.content{position:relative;flex:1;min-height:0}.view{display:none;height:100%;overflow:auto;padding:32px}.view.active{display:block}.view.module-view{padding:0;overflow:hidden}.module-view.active{display:flex;flex-direction:column}.frame-container{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;background:var(--surface)}iframe{display:block;width:100%;height:100%;border:0;background:var(--surface)}.work-layout{display:grid;grid-template-columns:minmax(0,1fr);height:100%;min-height:0}.module-toolbar{flex:none;min-height:56px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.segmented{display:flex;gap:4px}.segmented button{background:transparent;border-color:transparent;color:var(--muted)}.segmented button.active{background:var(--surface);border-color:var(--line);color:var(--text)}
12
12
  .welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.welcome h2{font-size:24px;margin-top:8px}.actions{display:flex;gap:8px;align-items:center}.grid2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);gap:24px}.stack{display:grid;gap:24px}.panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:24px;min-width:0}.panel h2{margin-bottom:16px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.section-heading p{font-size:12px}.row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row>div{flex:1;min-width:0}.row b{font-weight:600}.row small{display:block;margin-top:4px;overflow-wrap:anywhere}.row time{color:var(--muted);font-size:11px;flex:none}.status{font-size:11px;border:1px solid var(--line);border-radius:4px;padding:2px 8px;white-space:nowrap;color:var(--muted)}.status.up{color:var(--good)}.status.issue{color:var(--bad);background:var(--bad-soft)}.empty{padding:64px 24px;text-align:center;color:var(--muted);background:var(--surface);border-radius:8px;line-height:1.9}.empty button{display:block;margin:16px auto 0}.small-empty{padding:16px 0;text-align:left;background:transparent;font-size:12px}.hierarchy{display:grid;grid-template-columns:296px minmax(0,1fr);gap:24px}.tree h3{margin:24px 0 8px;color:var(--muted);font-size:11px}.tree button{width:100%;justify-content:flex-start;text-align:left;background:transparent;border-color:transparent;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree button.active{background:var(--accent-soft);color:var(--accent)}.detail-path{padding:12px 16px;background:var(--surface2);border:1px solid var(--line);border-radius:8px;margin:8px 0 24px;font:12px/1.8 Consolas,"Microsoft YaHei",monospace;overflow-wrap:anywhere}.detail-label{color:var(--muted);font-size:11px}.memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}.memory-card{padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.memory-card p{color:var(--text);margin:0 0 16px;white-space:pre-wrap}.memory-card .actions{margin-top:16px}.reference{display:block;text-align:left;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 0}.reference b,.reference small{display:block;text-align:left}.reference p{font-size:12px;text-align:left}.activity-updates{flex:1;overflow:auto;padding:24px 32px}.run{margin-bottom:16px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.run summary{padding:16px 24px;cursor:pointer;display:flex;align-items:center;gap:16px}.run summary strong{flex:1}.run>div{padding:0 24px 24px}.run .error{color:var(--bad)}.operation{padding:8px 0;color:var(--muted)}
13
13
  .drawer-backdrop{position:fixed;inset:0;background:rgba(10,18,25,.25);z-index:20}.drawer{position:fixed;right:0;top:0;height:100%;width:448px;background:var(--surface);border-left:1px solid var(--line);z-index:21;display:flex;flex-direction:column}.drawer>header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--line)}.drawer-content{overflow:auto;flex:1;padding:24px}.drawer section{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.drawer select{width:100%;margin:16px 0}.drawer .actions{flex-wrap:wrap}.drawer section:last-child{border-bottom:0}.input-with-action{display:flex;gap:8px;margin-top:8px}.input-with-action input{flex:1}.input-with-action button{flex:none}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input{width:auto;margin:0}dialog{width:560px;max-width:90vw;max-height:90vh;overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:24px}dialog::backdrop{background:rgba(10,18,25,.35)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dialog-heading>button{border:0;background:transparent;font-size:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.feedback{padding:12px 16px;background:var(--surface2);border:1px solid var(--line);border-radius:8px;color:var(--muted);white-space:pre-wrap}.feedback.issue{color:var(--bad)}.reference-dialog{width:880px}.reference-dialog pre{margin-top:24px;max-height:60vh;overflow:auto}.engine-dialog{width:calc(100vw - 96px);height:calc(100vh - 96px);padding:0;overflow:hidden}.engine-dialog .dialog-heading{height:64px;padding:16px 24px;border-bottom:1px solid var(--line);margin:0}.engine-dialog iframe{height:calc(100% - 64px)}.toast{position:fixed;bottom:24px;right:24px;z-index:50;background:var(--surface);padding:12px 16px;border:1px solid var(--line);border-radius:8px;max-width:480px;color:var(--text)}
14
- /* K1 knowledge panel: when the dock panel owns the content, the fixed column
15
- folds via a grid-track animation - no extra toggle button is introduced. */
16
- .work-layout{transition:grid-template-columns .2s ease}
17
- .work-layout.kb-panel-collapsed{grid-template-columns:minmax(0,1fr) 0px}
18
- .knowledge-context{min-width:0;transition:visibility .2s ease,padding .2s ease}
19
- .work-layout.kb-panel-collapsed .knowledge-context{visibility:hidden;border-left-width:0;padding-left:0;padding-right:0}
20
- .panel-notice{display:block;margin-top:4px;color:var(--bad,#b3261e)}
21
- @media (prefers-reduced-motion: reduce){.work-layout,.knowledge-context{transition:none}}