feat: 更新依赖项,添加 OpenCode 支持,重构代理和路由逻辑,新增 AGENTS 文档

This commit is contained in:
2026-01-20 02:46:29 +08:00
parent 26b4ffa3a2
commit 9f20e149a0
16 changed files with 531 additions and 32 deletions

90
pnpm-lock.yaml generated
View File

@@ -20,6 +20,9 @@ importers:
'@kevisual/use-config':
specifier: ^1.0.28
version: 1.0.28(dotenv@17.2.3)
'@opencode-ai/sdk':
specifier: ^1.1.25
version: 1.1.25
'@types/busboy':
specifier: ^1.5.4
version: 1.5.4
@@ -27,8 +30,8 @@ importers:
specifier: ^1.6.0
version: 1.6.0
eventemitter3:
specifier: ^5.0.1
version: 5.0.1
specifier: ^5.0.4
version: 5.0.4
lowdb:
specifier: ^7.0.1
version: 7.0.1
@@ -126,9 +129,15 @@ importers:
'@kevisual/video-tools':
specifier: ^0.0.13
version: 0.0.13(dotenv@17.2.3)(supports-color@10.2.2)
'@opencode-ai/sdk':
specifier: ^1.1.25
version: 1.1.25
es-toolkit:
specifier: ^1.44.0
version: 1.44.0
eventemitter3:
specifier: ^5.0.1
version: 5.0.1
specifier: ^5.0.4
version: 5.0.4
lowdb:
specifier: ^7.0.1
version: 7.0.1
@@ -143,8 +152,8 @@ importers:
version: 1.17.4(idb-keyval@6.2.2)
devDependencies:
'@kevisual/ai':
specifier: ^0.0.20
version: 0.0.20
specifier: ^0.0.21
version: 0.0.21
'@kevisual/load':
specifier: ^0.0.6
version: 0.0.6
@@ -161,14 +170,17 @@ importers:
specifier: 0.0.7
version: 0.0.7(@kevisual/query@0.0.35)
'@kevisual/router':
specifier: ^0.0.55
version: 0.0.55
specifier: ^0.0.56
version: 0.0.56
'@kevisual/types':
specifier: ^0.0.11
version: 0.0.11
'@kevisual/use-config':
specifier: ^1.0.28
version: 1.0.28(dotenv@17.2.3)
'@opencode-ai/plugin':
specifier: ^1.1.25
version: 1.1.25
'@types/bun':
specifier: ^1.3.6
version: 1.3.6
@@ -1257,8 +1269,8 @@ packages:
'@kevisual/ai@0.0.19':
resolution: {integrity: sha512-AFc8m6OcHZNxCb88bvzhvwWTZ4EVYyPupBzPUsLKLpdNBvsqm9TRboKCM2brJj2cqHnm+H+RbAk9AcGJkYhRCA==}
'@kevisual/ai@0.0.20':
resolution: {integrity: sha512-RW4a1T8XbIaonjp4ndt+5YIVeHR9O+pAzZZ1dWeYIlqQXvDuJdHSVukOh4ohgFS0tyEPzCr39seFeb6Y0YNzkw==}
'@kevisual/ai@0.0.21':
resolution: {integrity: sha512-4YvnEDpgCje3jDZug95pXzmIS4jHHulDjXONXSWLScsSLiqIRZnZQ6K+2IbCnIDAFmGIBYR/xFt0fyJIKJmrDQ==}
'@kevisual/api@0.0.17':
resolution: {integrity: sha512-hW3Q182Lm8wggWfHTEKVTKsmp8MWFINB9l82nEbnwTnd1Lh9DPeQo1hMft7aeL8aGe4vjFCTv4MHixXjmQTzGg==}
@@ -1332,8 +1344,8 @@ packages:
'@kevisual/router@0.0.51':
resolution: {integrity: sha512-i9qYBeS/um78oC912oWJD3iElB+5NTKyTrz1Hzf4DckiUFnjLL81UPwjIh5I2l9+ul0IZ/Pxx+sFSF99fJkzKg==}
'@kevisual/router@0.0.55':
resolution: {integrity: sha512-DVhXbbUCfSWWXsp1id1HBrkGiMZ6nFUBD1/C5E7IpLE5B32w7sv2xjKUt98OriFl0uyuneMEIZuZsAQaKplQ5g==}
'@kevisual/router@0.0.56':
resolution: {integrity: sha512-3k+wRUNT+kHqoA3r+6+lJRVHvbDMqNW75iWcYrzRFbf9lkEADYXzdIXHrOj/0Dk1EiTuLpK1i1e5dpWNpqlegA==}
'@kevisual/types@0.0.11':
resolution: {integrity: sha512-idNLDTEKVdNXZHFQq8PTN62nflh94kvGtx+v8YDcMxt0Zo+HWVZTFElm+dMQxAs/vn4wo8F2r3VwzWNX/vcqwQ==}
@@ -1399,6 +1411,12 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
'@opencode-ai/plugin@1.1.25':
resolution: {integrity: sha512-oTUWS446H/j7z3pdzo3cOrB5N87XZ/RKdgPD8yHv/rLX92B4YQHjOqggVQ56Q+1VEnN0jxzhoqRylv/0ZEts/Q==}
'@opencode-ai/sdk@1.1.25':
resolution: {integrity: sha512-mWUX489ArEF2ICg3iZsx2VQaGS3Z2j/dwAJDacao9t7dGDzjOIaacPw2weZ10zld7XmT9V9C0PM/A5lDZ52J+w==}
'@oslojs/encoding@1.1.0':
resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==}
@@ -3096,8 +3114,8 @@ packages:
eventemitter2@6.4.9:
resolution: {integrity: sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==}
eventemitter3@5.0.1:
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
eventemitter3@5.0.4:
resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
execa@9.6.1:
resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==}
@@ -3342,6 +3360,10 @@ packages:
resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==}
engines: {node: '>=12.0.0'}
hono@4.11.4:
resolution: {integrity: sha512-U7tt8JsyrxSRKspfhtLET79pU8K+tInj5QZXs1jSugO1Vq5dFj3kmZsRldo29mTBfcjDRVRXrEZ6LS63Cog9ZA==}
engines: {node: '>=16.9.0'}
hookable@5.5.3:
resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
@@ -5036,6 +5058,9 @@ packages:
zod@3.25.76:
resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
zod@4.1.8:
resolution: {integrity: sha512-5R1P+WwQqmmMIEACyzSvo4JXHY5WiAFHRMg+zBZKgKS+Q1viRa0C1hmUKtHltoIFKtIdki3pRxkmpP74jnNYHQ==}
zustand@5.0.10:
resolution: {integrity: sha512-U1AiltS1O9hSy3rul+Ub82ut2fqIAefiSuwECWt6jlMVUGejvf+5omLcRBSzqbRagSM3hQZbtzdeRc6QVScXTg==}
engines: {node: '>=12.20.0'}
@@ -6359,7 +6384,7 @@ snapshots:
'@kevisual/permission': 0.0.3
'@kevisual/query': 0.0.31
'@kevisual/ai@0.0.20':
'@kevisual/ai@0.0.21':
dependencies:
'@kevisual/logger': 0.0.4
'@kevisual/permission': 0.0.3
@@ -6370,7 +6395,7 @@ snapshots:
'@kevisual/js-filter': 0.0.3
'@kevisual/load': 0.0.6
es-toolkit: 1.44.0
eventemitter3: 5.0.1
eventemitter3: 5.0.4
nanoid: 5.1.6
'@kevisual/app@0.0.1(dotenv@17.2.3)':
@@ -6444,7 +6469,7 @@ snapshots:
'@kevisual/context': 0.0.4
codemirror: 6.0.2
dayjs: 1.11.19
eventemitter3: 5.0.1
eventemitter3: 5.0.4
lit-html: 3.3.1
nanoid: 5.1.6
prettier: 3.7.4
@@ -6460,7 +6485,7 @@ snapshots:
'@kevisual/load@0.0.6':
dependencies:
eventemitter3: 5.0.1
eventemitter3: 5.0.4
'@kevisual/local-app-manager@0.1.32(supports-color@10.2.2)':
dependencies:
@@ -6532,7 +6557,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@kevisual/router@0.0.55': {}
'@kevisual/router@0.0.56':
dependencies:
hono: 4.11.4
'@kevisual/types@0.0.11': {}
@@ -6550,7 +6577,7 @@ snapshots:
'@kevisual/video': 0.0.2
crypto-js: 4.2.0
dayjs: 1.11.19
eventemitter3: 5.0.1
eventemitter3: 5.0.4
nanoid: 5.1.6
transitivePeerDependencies:
- dotenv
@@ -6645,6 +6672,13 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1
'@opencode-ai/plugin@1.1.25':
dependencies:
'@opencode-ai/sdk': 1.1.25
zod: 4.1.8
'@opencode-ai/sdk@1.1.25': {}
'@oslojs/encoding@1.1.0': {}
'@peculiar/asn1-cms@2.6.0':
@@ -6776,7 +6810,7 @@ snapshots:
async: 2.6.4
debug: 4.3.7(supports-color@10.2.2)
eventemitter2: 6.4.9
extrareqp2: 1.0.0(debug@4.3.7(supports-color@10.2.2))
extrareqp2: 1.0.0(debug@4.3.7)
ws: 7.5.10
transitivePeerDependencies:
- bufferutil
@@ -8732,7 +8766,7 @@ snapshots:
eventemitter2@6.4.9: {}
eventemitter3@5.0.1: {}
eventemitter3@5.0.4: {}
execa@9.6.1:
dependencies:
@@ -8751,9 +8785,9 @@ snapshots:
extend@3.0.2: {}
extrareqp2@1.0.0(debug@4.3.7(supports-color@10.2.2)):
extrareqp2@1.0.0(debug@4.3.7):
dependencies:
follow-redirects: 1.15.9(debug@4.3.7(supports-color@10.2.2))
follow-redirects: 1.15.9(debug@4.3.7)
transitivePeerDependencies:
- debug
@@ -8807,7 +8841,7 @@ snapshots:
flattie@1.1.1: {}
follow-redirects@1.15.9(debug@4.3.7(supports-color@10.2.2)):
follow-redirects@1.15.9(debug@4.3.7):
optionalDependencies:
debug: 4.3.7(supports-color@10.2.2)
@@ -9093,6 +9127,8 @@ snapshots:
highlight.js@11.11.1: {}
hono@4.11.4: {}
hookable@5.5.3: {}
html-escaper@3.0.3: {}
@@ -9984,7 +10020,7 @@ snapshots:
p-queue@8.1.1:
dependencies:
eventemitter3: 5.0.1
eventemitter3: 5.0.4
p-timeout: 6.1.4
p-timeout@6.1.4: {}
@@ -11115,6 +11151,8 @@ snapshots:
zod@3.25.76: {}
zod@4.1.8: {}
zustand@5.0.10(@types/react@19.2.8)(react@19.2.3):
optionalDependencies:
'@types/react': 19.2.8