{"_id":"geowiki-cli","_rev":"107-3c77c6d743c1d82dda338db5ae3f91e2","name":"geowiki-cli","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.1":{"name":"geowiki-cli","version":"1.0.1","keywords":["geo","wiki","knowledge-base","cli","ai","seo","documentation"],"author":{"name":"GEO Wiki Team"},"license":"MIT","_id":"geowiki-cli@1.0.1","maintainers":[{"name":"ailittleyao","email":"yaochanged@gmail.com"}],"homepage":"https://github.com/ai-littleyao/geo-wiki-framework#readme","bugs":{"url":"https://github.com/ai-littleyao/geo-wiki-framework/issues"},"bin":{"geowiki-cli":"bin/geo.js"},"dist":{"shasum":"6697a247f00d771469c64b6eb07b30c7595ba315","tarball":"https://registry.npmjs.org/geowiki-cli/-/geowiki-cli-1.0.1.tgz","fileCount":23,"integrity":"sha512-050oOCpUPsOitTtOarUnfqDJwyR08SPhRtJ7G32khXOZlw6uvelMFI/3Xot6G9VcdI7Luv2MESRuKk1CFbhjRQ==","signatures":[{"sig":"MEYCIQCq8oXnSeFW0Uo4OA8LbPGBFDpPCqcNgf0pxHNPEvQVxgIhAMwiY/966TUjS9oKBNsJgeAT++W6XsXhOOI3AoOE+1p3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96138},"type":"module","gitHead":"f04b2f876db06bbbd7df4ec5a1557c6769de4a45","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.js","test":"vitest run","build":"vite build","server":"node server/index.js","prepare":"node -e \"try{require('husky')}catch{}\"","preview":"vite preview","dev:full":"concurrently \"npm run dev\" \"npm run server\"","test:e2e":"node tests/e2e/setup.js && playwright test","import:data":"node scripts/import-data.js","test:e2e:ui":"playwright test --ui","test:e2e:headed":"playwright test --headed"},"_npmUser":{"name":"ailittleyao","email":"yaochanged@gmail.com"},"repository":{"url":"git+https://github.com/ai-littleyao/geo-wiki-framework.git","type":"git"},"_npmVersion":"11.12.1","description":"GEO Wiki Pro - AI-powered knowledge base with GEO optimization","directories":{},"lint-staged":{"*.{vue,js}":"eslint --fix","*.{json,md,yml}":"prettier --write"},"_nodeVersion":"25.9.0","dependencies":{"vue":"^3.4.0","cors":"^2.8.0","pino":"^10.3.1","pinia":"^2.1.0","helmet":"^8.0.0","sql.js":"^1.14.1","express":"^4.18.0","fuse.js":"^7.0.0","bcryptjs":"^3.0.3","dompurify":"^3.4.5","vue-router":"^4.2.0","compression":"^1.8.1","gray-matter":"^4.0.3","markdown-it":"^14.1.1","pino-pretty":"^13.1.3","highlight.js":"^11.9.0","jsonwebtoken":"^9.0.0","@codemirror/view":"^6.42.1","markdown-it-mark":"^3.0.1","@codemirror/state":"^6.6.0","markdown-it-emoji":"^2.0.2","@codemirror/search":"^6.7.0","markdown-it-anchor":"^8.6.7","@codemirror/commands":"^6.10.3","@codemirror/language":"^6.12.3","markdown-it-footnote":"^3.0.3","markdown-it-container":"^3.0.0","markdown-it-task-lists":"^1.4.1","@codemirror/autocomplete":"^6.20.2","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@codemirror/theme-one-dark":"^6.1.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^1.2.0","postcss":"^8.4.0","lint-staged":"^16.4.0","tailwindcss":"^3.4.0","autoprefixer":"^10.4.0","concurrently":"^8.2.0","@vue/test-utils":"^2.4.10","@playwright/test":"^1.44.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","@vitejs/plugin-vue":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/geowiki-cli_1.0.1_1781941823768_0.9789849302695341","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"geowiki-cli","version":"1.0.2","keywords":["geo","wiki","knowledge-base","cli","ai","seo","documentation"],"author":{"name":"GEO Wiki Team"},"license":"MIT","_id":"geowiki-cli@1.0.2","maintainers":[{"name":"ailittleyao","email":"yaochanged@gmail.com"}],"homepage":"https://github.com/ai-littleyao/geo-wiki-framework#readme","bugs":{"url":"https://github.com/ai-littleyao/geo-wiki-framework/issues"},"bin":{"geowiki-cli":"bin/geo.js"},"dist":{"shasum":"95c8c7a2ae169d400bbbddbc2d7146a188d6d911","tarball":"https://registry.npmjs.org/geowiki-cli/-/geowiki-cli-1.0.2.tgz","fileCount":23,"integrity":"sha512-e/fMKVRIHRM3z/LyizB4UXrMnntr7wMnXhaO39CzQiMtAUi68sCYYH/qrrRm34bSDb+xnwbDrTPt0muhQ/uKAw==","signatures":[{"sig":"MEUCIAyUNtEktcY0FMR+Cjbut1DSprTr4OtagNiQ4Ks1EJbpAiEAqHrQPr18hrVVZb2aEFk0MK7DmDXbPeGj9+JfZUQzRfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97252},"type":"module","gitHead":"78515781063fd428e3cc475ece73f71a5e271c97","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.js","test":"vitest run","build":"vite build","server":"node server/index.js","prepare":"node -e \"try{require('husky')}catch{}\"","preview":"vite preview","dev:full":"concurrently \"npm run dev\" \"npm run server\"","test:e2e":"node tests/e2e/setup.js && playwright test","import:data":"node scripts/import-data.js","test:e2e:ui":"playwright test --ui","test:e2e:headed":"playwright test --headed"},"_npmUser":{"name":"ailittleyao","email":"yaochanged@gmail.com"},"repository":{"url":"git+https://github.com/ai-littleyao/geo-wiki-framework.git","type":"git"},"_npmVersion":"11.12.1","description":"GEO Wiki Pro - AI-powered knowledge base with GEO optimization","directories":{},"lint-staged":{"*.{vue,js}":"eslint --fix","*.{json,md,yml}":"prettier --write"},"_nodeVersion":"25.9.0","dependencies":{"vue":"^3.4.0","cors":"^2.8.0","pino":"^10.3.1","pinia":"^2.1.0","helmet":"^8.0.0","sql.js":"^1.14.1","express":"^4.18.0","fuse.js":"^7.0.0","bcryptjs":"^3.0.3","dompurify":"^3.4.5","vue-router":"^4.2.0","compression":"^1.8.1","gray-matter":"^4.0.3","markdown-it":"^14.1.1","pino-pretty":"^13.1.3","highlight.js":"^11.9.0","jsonwebtoken":"^9.0.0","@codemirror/view":"^6.42.1","markdown-it-mark":"^3.0.1","@codemirror/state":"^6.6.0","markdown-it-emoji":"^2.0.2","@codemirror/search":"^6.7.0","markdown-it-anchor":"^8.6.7","@codemirror/commands":"^6.10.3","@codemirror/language":"^6.12.3","markdown-it-footnote":"^3.0.3","markdown-it-container":"^3.0.0","markdown-it-task-lists":"^1.4.1","@codemirror/autocomplete":"^6.20.2","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@codemirror/theme-one-dark":"^6.1.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^1.2.0","postcss":"^8.4.0","lint-staged":"^16.4.0","tailwindcss":"^3.4.0","autoprefixer":"^10.4.0","concurrently":"^8.2.0","@vue/test-utils":"^2.4.10","@playwright/test":"^1.44.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","@vitejs/plugin-vue":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/geowiki-cli_1.0.2_1782034756314_0.19548118171106998","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"geowiki-cli","version":"1.0.3","keywords":["geo","wiki","knowledge-base","cli","ai","seo","documentation"],"author":{"name":"GEO Wiki Team"},"license":"MIT","_id":"geowiki-cli@1.0.3","maintainers":[{"name":"ailittleyao","email":"yaochanged@gmail.com"}],"homepage":"https://github.com/ai-littleyao/geo-wiki-framework#readme","bugs":{"url":"https://github.com/ai-littleyao/geo-wiki-framework/issues"},"bin":{"geo":"bin/geo.js"},"dist":{"shasum":"e5df4e073178584d53520af53d798a6409c5304b","tarball":"https://registry.npmjs.org/geowiki-cli/-/geowiki-cli-1.0.3.tgz","fileCount":23,"integrity":"sha512-7QMllQu6d+uIKpjQPSLqjjniBPW0fvG4CGrTCibIZEzzr5VPiCDPwUYfVycuSs9TNAwNjXrSJhB4UhqPsOl5+A==","signatures":[{"sig":"MEUCIQCT8Q+WCmvoW+alJe7GYVaYe1x+TUPOOensAjuxD9MHWQIgbyH8CaW9LmCFfVXEGa62siJblNaDwy9g8G1kzQ3dRJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97273},"type":"module","gitHead":"2fa70a5a0179f81d44566acb04c14b622e5767f9","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.js","test":"vitest run","build":"vite build","server":"node server/index.js","prepare":"node -e \"try{require('husky')}catch{}\"","preview":"vite preview","dev:full":"concurrently \"npm run dev\" \"npm run server\"","test:e2e":"node tests/e2e/setup.js && playwright test","import:data":"node scripts/import-data.js","test:e2e:ui":"playwright test --ui","test:e2e:headed":"playwright test --headed"},"_npmUser":{"name":"ailittleyao","email":"yaochanged@gmail.com"},"repository":{"url":"git+https://github.com/ai-littleyao/geo-wiki-framework.git","type":"git"},"_npmVersion":"11.12.1","description":"GEO Wiki Pro - AI-powered knowledge base with GEO optimization","directories":{},"lint-staged":{"*.{vue,js}":"eslint --fix","*.{json,md,yml}":"prettier --write"},"_nodeVersion":"25.9.0","dependencies":{"vue":"^3.4.0","cors":"^2.8.0","pino":"^10.3.1","pinia":"^2.1.0","helmet":"^8.0.0","sql.js":"^1.14.1","express":"^4.18.0","fuse.js":"^7.0.0","bcryptjs":"^3.0.3","dompurify":"^3.4.5","vue-router":"^4.2.0","compression":"^1.8.1","gray-matter":"^4.0.3","markdown-it":"^14.1.1","pino-pretty":"^13.1.3","highlight.js":"^11.9.0","jsonwebtoken":"^9.0.0","@codemirror/view":"^6.42.1","markdown-it-mark":"^3.0.1","@codemirror/state":"^6.6.0","markdown-it-emoji":"^2.0.2","@codemirror/search":"^6.7.0","markdown-it-anchor":"^8.6.7","@codemirror/commands":"^6.10.3","@codemirror/language":"^6.12.3","markdown-it-footnote":"^3.0.3","markdown-it-container":"^3.0.0","markdown-it-task-lists":"^1.4.1","@codemirror/autocomplete":"^6.20.2","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@codemirror/theme-one-dark":"^6.1.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^1.2.0","postcss":"^8.4.0","lint-staged":"^16.4.0","tailwindcss":"^3.4.0","autoprefixer":"^10.4.0","concurrently":"^8.2.0","@vue/test-utils":"^2.4.10","@playwright/test":"^1.44.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","@vitejs/plugin-vue":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/geowiki-cli_1.0.3_1782043480138_0.016328740533141817","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"geowiki-cli","version":"1.0.4","keywords":["geo","wiki","knowledge-base","cli","ai","seo","documentation"],"author":{"name":"GEO Wiki Team"},"license":"MIT","_id":"geowiki-cli@1.0.4","maintainers":[{"name":"ailittleyao","email":"yaochanged@gmail.com"}],"homepage":"https://github.com/ai-littleyao/geo-wiki-framework#readme","bugs":{"url":"https://github.com/ai-littleyao/geo-wiki-framework/issues"},"bin":{"geo":"bin/geo.js"},"dist":{"shasum":"98d01c7e5c2b7a624b546e2b5942d240f7d8f6c1","tarball":"https://registry.npmjs.org/geowiki-cli/-/geowiki-cli-1.0.4.tgz","fileCount":23,"integrity":"sha512-Ghrl1C9EbhbydMECXFHJFcZFgHfQtEyi8dWdQ1tdhmBKIUcJ6Or2LGLyYacv4l1wy6R/lvPVFsbXCVJ4G8qvBQ==","signatures":[{"sig":"MEUCIQCz1KgJnfnt9TpxW/MuALer1xEnjMSP2+OtqzL04tZi4AIgSFFUyXeclN/FzZfDcD2kU5ec/pty/sx637v82Ak+/Wg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106746},"type":"module","gitHead":"57a1c32b85babf4a680465d5b169ba4579190dbe","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.js","test":"vitest run","build":"vite build","server":"node server/index.js","prepare":"node -e \"try{require('husky')}catch{}\"","preview":"vite preview","dev:full":"concurrently \"npm run dev\" \"npm run server\"","test:e2e":"node tests/e2e/setup.js && playwright test","import:data":"node scripts/import-data.js","test:e2e:ui":"playwright test --ui","test:e2e:headed":"playwright test --headed"},"_npmUser":{"name":"ailittleyao","email":"yaochanged@gmail.com"},"repository":{"url":"git+https://github.com/ai-littleyao/geo-wiki-framework.git","type":"git"},"_npmVersion":"11.12.1","description":"GEO Wiki Pro - AI-powered knowledge base with GEO optimization","directories":{},"lint-staged":{"*.{vue,js}":"eslint --fix","*.{json,md,yml}":"prettier --write"},"_nodeVersion":"25.9.0","dependencies":{"vue":"^3.4.0","cors":"^2.8.0","pino":"^10.3.1","pinia":"^2.1.0","helmet":"^8.0.0","sql.js":"^1.14.1","express":"^4.18.0","fuse.js":"^7.0.0","bcryptjs":"^3.0.3","dompurify":"^3.4.5","vue-router":"^4.2.0","compression":"^1.8.1","gray-matter":"^4.0.3","markdown-it":"^14.1.1","pino-pretty":"^13.1.3","highlight.js":"^11.9.0","jsonwebtoken":"^9.0.0","@codemirror/view":"^6.42.1","markdown-it-mark":"^3.0.1","@codemirror/state":"^6.6.0","markdown-it-emoji":"^2.0.2","@codemirror/search":"^6.7.0","markdown-it-anchor":"^8.6.7","@codemirror/commands":"^6.10.3","@codemirror/language":"^6.12.3","markdown-it-footnote":"^3.0.3","markdown-it-container":"^3.0.0","markdown-it-task-lists":"^1.4.1","@codemirror/autocomplete":"^6.20.2","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@codemirror/theme-one-dark":"^6.1.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^1.2.0","postcss":"^8.4.0","lint-staged":"^16.4.0","tailwindcss":"^3.4.0","autoprefixer":"^10.4.0","concurrently":"^8.2.0","@vue/test-utils":"^2.4.10","@playwright/test":"^1.44.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","@vitejs/plugin-vue":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/geowiki-cli_1.0.4_1782098100290_0.6238866929060882","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"geowiki-cli","version":"1.0.5","keywords":["geo","wiki","knowledge-base","cli","ai","seo","documentation"],"author":{"name":"GEO Wiki Team"},"license":"MIT","_id":"geowiki-cli@1.0.5","maintainers":[{"name":"ailittleyao","email":"yaochanged@gmail.com"}],"homepage":"https://github.com/ai-littleyao/geo-wiki-framework#readme","bugs":{"url":"https://github.com/ai-littleyao/geo-wiki-framework/issues"},"bin":{"geo":"bin/geo.js"},"dist":{"shasum":"3dc8370ec4044ed1a8c38e672c911bb82e5ffaac","tarball":"https://registry.npmjs.org/geowiki-cli/-/geowiki-cli-1.0.5.tgz","fileCount":23,"integrity":"sha512-jWKxVuqKaI65GaYT3hgXUuIMttCkOIhxq6MMvsTLFHvkIthhbLU3tpMGIBacnaCXjmOndjmBsTKOg1hIsyeapw==","signatures":[{"sig":"MEYCIQD2GDlUK0mgo46s7cy9lrzMStE9sbenC6YXNBpgaK93BgIhAIAM85wsR+yXrMkc9nkcjbKyk+E1ZfmyKpx5PPWluTka","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103644},"type":"module","gitHead":"d03653917fc06ef6a7fcc6d987f5c0f8f8acbbdb","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.js","test":"vitest run","build":"vite build","server":"node server/index.js","prepare":"node -e \"try{require('husky')}catch{}\"","preview":"vite preview","dev:full":"concurrently \"npm run dev\" \"npm run server\"","test:e2e":"node tests/e2e/setup.js && playwright test","import:data":"node scripts/import-data.js","test:e2e:ui":"playwright test --ui","test:e2e:headed":"playwright test --headed"},"_npmUser":{"name":"ailittleyao","email":"yaochanged@gmail.com"},"repository":{"url":"git+https://github.com/ai-littleyao/geo-wiki-framework.git","type":"git"},"_npmVersion":"11.12.1","description":"GEO Wiki Pro - AI-powered knowledge base with GEO optimization","directories":{},"lint-staged":{"*.{vue,js}":"eslint --fix","*.{json,md,yml}":"prettier --write"},"_nodeVersion":"25.9.0","dependencies":{"vue":"^3.4.0","cors":"^2.8.0","pino":"^10.3.1","pinia":"^2.1.0","helmet":"^8.0.0","sql.js":"^1.14.1","express":"^4.18.0","fuse.js":"^7.0.0","bcryptjs":"^3.0.3","dompurify":"^3.4.5","vue-router":"^4.2.0","compression":"^1.8.1","gray-matter":"^4.0.3","markdown-it":"^14.1.1","pino-pretty":"^13.1.3","highlight.js":"^11.9.0","jsonwebtoken":"^9.0.0","@codemirror/view":"^6.42.1","markdown-it-mark":"^3.0.1","@codemirror/state":"^6.6.0","markdown-it-emoji":"^2.0.2","@codemirror/search":"^6.7.0","markdown-it-anchor":"^8.6.7","@codemirror/commands":"^6.10.3","@codemirror/language":"^6.12.3","markdown-it-footnote":"^3.0.3","markdown-it-container":"^3.0.0","markdown-it-task-lists":"^1.4.1","@codemirror/autocomplete":"^6.20.2","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@codemirror/theme-one-dark":"^6.1.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^1.2.0","postcss":"^8.4.0","lint-staged":"^16.4.0","tailwindcss":"^3.4.0","autoprefixer":"^10.4.0","concurrently":"^8.2.0","@vue/test-utils":"^2.4.10","@playwright/test":"^1.44.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","@vitejs/plugin-vue":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/geowiki-cli_1.0.5_1782403694676_0.868623728613624","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"geowiki-cli","version":"1.0.6","keywords":["geo","wiki","knowledge-base","cli","ai","seo","documentation"],"author":{"name":"GEO Wiki Team"},"license":"MIT","_id":"geowiki-cli@1.0.6","maintainers":[{"name":"ailittleyao","email":"yaochanged@gmail.com"}],"homepage":"https://github.com/ai-littleyao/geo-wiki-framework#readme","bugs":{"url":"https://github.com/ai-littleyao/geo-wiki-framework/issues"},"bin":{"geo":"bin/geo.js"},"dist":{"shasum":"dd19ee5f6243600dba6c7aff8aa4ec5002faa206","tarball":"https://registry.npmjs.org/geowiki-cli/-/geowiki-cli-1.0.6.tgz","fileCount":23,"integrity":"sha512-Z9T2OYr05XPgBd9r0EyKhgaXsrSWdizaApVUK6KUqDz/F1K/K1fkVGDXjiTHV4oTdJcyF8aYh+mv9XNHaABBwA==","signatures":[{"sig":"MEYCIQDXLjYfWddDJcQ1Fttf5nygiZIrRw2ajf+ON5ZH5acuhAIhALHgVU89YY7WT3QKWNcF+vQoYhlTblFzjvE+zvuNa33+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103604},"type":"module","gitHead":"d03653917fc06ef6a7fcc6d987f5c0f8f8acbbdb","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.js","test":"vitest run","build":"vite build","server":"node server/index.js","prepare":"node -e \"try{require('husky')}catch{}\"","preview":"vite preview","dev:full":"concurrently \"npm run dev\" \"npm run server\"","test:e2e":"node tests/e2e/setup.js && playwright test","import:data":"node scripts/import-data.js","test:e2e:ui":"playwright test --ui","test:e2e:headed":"playwright test --headed"},"_npmUser":{"name":"ailittleyao","email":"yaochanged@gmail.com"},"repository":{"url":"git+https://github.com/ai-littleyao/geo-wiki-framework.git","type":"git"},"_npmVersion":"11.12.1","description":"GEO Wiki Pro - AI-powered knowledge base with GEO optimization","directories":{},"lint-staged":{"*.{vue,js}":"eslint --fix","*.{json,md,yml}":"prettier --write"},"_nodeVersion":"25.9.0","dependencies":{"vue":"^3.4.0","cors":"^2.8.0","pino":"^10.3.1","pinia":"^2.1.0","helmet":"^8.0.0","sql.js":"^1.14.1","express":"^4.18.0","fuse.js":"^7.0.0","bcryptjs":"^3.0.3","dompurify":"^3.4.5","vue-router":"^4.2.0","compression":"^1.8.1","gray-matter":"^4.0.3","markdown-it":"^14.1.1","pino-pretty":"^13.1.3","highlight.js":"^11.9.0","jsonwebtoken":"^9.0.0","@codemirror/view":"^6.42.1","markdown-it-mark":"^3.0.1","@codemirror/state":"^6.6.0","markdown-it-emoji":"^2.0.2","@codemirror/search":"^6.7.0","markdown-it-anchor":"^8.6.7","@codemirror/commands":"^6.10.3","@codemirror/language":"^6.12.3","markdown-it-footnote":"^3.0.3","markdown-it-container":"^3.0.0","markdown-it-task-lists":"^1.4.1","@codemirror/autocomplete":"^6.20.2","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@codemirror/theme-one-dark":"^6.1.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^1.2.0","postcss":"^8.4.0","lint-staged":"^16.4.0","tailwindcss":"^3.4.0","autoprefixer":"^10.4.0","concurrently":"^8.2.0","@vue/test-utils":"^2.4.10","@playwright/test":"^1.44.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","@vitejs/plugin-vue":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/geowiki-cli_1.0.6_1782442047578_0.39311056801842126","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"geowiki-cli","version":"1.0.7","keywords":["geo","wiki","knowledge-base","cli","ai","seo"],"author":{"name":"GEO Wiki Team"},"license":"MIT","_id":"geowiki-cli@1.0.7","maintainers":[{"name":"ailittleyao","email":"yaochanged@gmail.com"}],"homepage":"https://github.com/ai-littleyao/geo-wiki-framework#readme","bugs":{"url":"https://github.com/ai-littleyao/geo-wiki-framework/issues"},"bin":{"geo":"bin/geo.js"},"dist":{"shasum":"dec91c02b8fcc36c206526756b8e7d6883270277","tarball":"https://registry.npmjs.org/geowiki-cli/-/geowiki-cli-1.0.7.tgz","fileCount":24,"integrity":"sha512-K+H9CWaw6HweiltkTb2J4mOkY0CWoft+A+DK/g5GIqjJrV9X41w42MtjTj27urA7Q1PdrvZ5xLIJhFrBoQlyYg==","signatures":[{"sig":"MEUCIDh7GpN7tdZfrrbzADY5lAkSkaROBbHCjcY3uyZmgJMuAiEA3WIX4SZ2tutyCGWptZvddAo8jWJQmhYdDo3coQc7/3w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95287},"main":"cli/index.js","type":"module","engines":{"node":">=18"},"gitHead":"615dab125eda42b471699274b60fee49bfe272c2","scripts":{"test":"vitest run"},"_npmUser":{"name":"ailittleyao","email":"yaochanged@gmail.com"},"repository":{"url":"git+https://github.com/ai-littleyao/geo-wiki-framework.git","type":"git"},"_npmVersion":"11.12.1","description":"GEO Wiki CLI - AI-powered knowledge base management tool","directories":{},"_nodeVersion":"25.9.0","dependencies":{"gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/geowiki-cli_1.0.7_1782966905799_0.9211746776284189","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"geowiki-cli","version":"1.0.8","keywords":["geo","wiki","knowledge-base","cli","ai","seo"],"author":{"name":"GEO Wiki Team"},"license":"MIT","_id":"geowiki-cli@1.0.8","maintainers":[{"name":"ailittleyao","email":"yaochanged@gmail.com"}],"homepage":"https://github.com/ai-littleyao/geo-wiki-framework#readme","bugs":{"url":"https://github.com/ai-littleyao/geo-wiki-framework/issues"},"bin":{"geo":"bin/geo.js"},"dist":{"shasum":"eb4f923c4750d127f0e81da417038e7854968828","tarball":"https://registry.npmjs.org/geowiki-cli/-/geowiki-cli-1.0.8.tgz","fileCount":1,"integrity":"sha512-o+0EOtdJYBLHEjp61yLuq0qQZ7GUMaQ42zoIcgd/kgLwqWBlNoYvESgxh5epljUrqRS5nNWzh6IW2CeKsdcD0Q==","signatures":[{"sig":"MEUCIQD9YqZ2mxIxT9Y2nml4c1JkNjoR7DWSxYlme49V+v4CegIgEDqp4b+NIGw8qoSu5f8WmmFwC5jkttwOiL7W4aztNk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":728},"main":"cli/index.js","type":"module","engines":{"node":">=18"},"gitHead":"de8e975845de31b22277058b9213e038538ac74a","scripts":{"test":"vitest run"},"_npmUser":{"name":"ailittleyao","email":"yaochanged@gmail.com"},"repository":{"url":"git+https://github.com/ai-littleyao/geo-wiki-framework.git","type":"git"},"_npmVersion":"11.12.1","description":"GEO Wiki CLI - AI-powered knowledge base management tool","directories":{},"_nodeVersion":"25.9.0","dependencies":{"gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/geowiki-cli_1.0.8_1786091278971_0.1896494523108616","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"geowiki-cli","version":"1.0.9","keywords":["geo","wiki","knowledge-base","cli","ai","seo"],"author":{"name":"GEO Wiki Team"},"license":"MIT","_id":"geowiki-cli@1.0.9","maintainers":[{"name":"ailittleyao","email":"yaochanged@gmail.com"}],"homepage":"https://github.com/ai-littleyao/geo-wiki-framework#readme","bugs":{"url":"https://github.com/ai-littleyao/geo-wiki-framework/issues"},"bin":{"geo":"bin/geo.js"},"dist":{"shasum":"d86f3ddf2242ce9802f55626b8ecb8407a5a3a6e","tarball":"https://registry.npmjs.org/geowiki-cli/-/geowiki-cli-1.0.9.tgz","fileCount":1,"integrity":"sha512-601ZY7nV0bLUrQ+UpAJYgNrjSOifP9+GClinpBl2rMwqZvmibzbAkRX2d2ZyeJgC4FANZvrR7MvnCagYzRDFJQ==","signatures":[{"sig":"MEQCIHXy+4EQEWlwNHHN6QIMRFzxtTYnDGkC7m3vXbAZZotNAiBeJ/ly6x4BnXNQJN8TlsMqF5fFOQ0S8MRN0YeojwvluQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":728},"main":"cli/index.js","type":"module","engines":{"node":">=18"},"gitHead":"fcf002ad81be92a6935114424533dd45a3f7bd6d","scripts":{"test":"vitest run"},"_npmUser":{"name":"ailittleyao","email":"yaochanged@gmail.com"},"repository":{"url":"git+https://github.com/ai-littleyao/geo-wiki-framework.git","type":"git"},"_npmVersion":"11.12.1","description":"GEO Wiki CLI - AI-powered knowledge base management tool","directories":{},"_nodeVersion":"25.9.0","dependencies":{"gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/geowiki-cli_1.0.9_1786514750209_0.9192452154638222","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"geowiki-cli","version":"1.1.0","keywords":["geo","wiki","knowledge-base","cli","ai","seo","documentation"],"author":{"name":"GEO Wiki Team"},"license":"MIT","_id":"geowiki-cli@1.1.0","maintainers":[{"name":"ailittleyao","email":"yaochanged@gmail.com"}],"bin":{"geo":"bin/geo.js"},"dist":{"shasum":"2dabb691300e1086aeaf3817bba5bec67239592f","tarball":"https://registry.npmjs.org/geowiki-cli/-/geowiki-cli-1.1.0.tgz","fileCount":24,"integrity":"sha512-Ea1Quiulj1WKr0+YiI9/8jJvZ8bc70wIZRwVKhBn90/bdpqXfswyB7IaHIzQ76XIS/OSs8eZCKS4elFtoncEbQ==","signatures":[{"sig":"MEUCIQCCukJ7KmBNudL1zBFFyGar1qpFOI6fo1ImPHNp5eb/rgIgY0KDq7jXu7/5AdUsiR01ZEmdNuS0I05dcduFxUMWegA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99979},"type":"module","gitHead":"4a6c7a83971d71bc73eaef55a5075a4e74b506cb","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.js","test":"vitest run","build":"vite build","server":"node server/index.js","prepare":"node -e \"try{require('husky')}catch{}\"","preview":"vite preview","dev:full":"concurrently \"npm run dev\" \"npm run server\"","test:e2e":"node tests/e2e/setup.js && playwright test","import:data":"node scripts/import-data.js","test:e2e:ui":"playwright test --ui","test:e2e:headed":"playwright test --headed"},"_npmUser":{"name":"ailittleyao","email":"yaochanged@gmail.com"},"repository":{"url":"git+http://100.66.1.1:38633/yao/geo-wiki-framework.git","type":"git"},"_npmVersion":"11.12.1","description":"GEO Wiki Pro - AI-powered knowledge base with GEO optimization","directories":{},"lint-staged":{"*.{vue,js}":"eslint --fix","*.{json,md,yml}":"prettier --write"},"_nodeVersion":"25.9.0","dependencies":{"vue":"^3.4.0","cors":"^2.8.0","pino":"^10.3.1","pinia":"^2.1.0","helmet":"^8.0.0","sql.js":"^1.14.1","express":"^4.18.0","fuse.js":"^7.0.0","bcryptjs":"^3.0.3","dompurify":"^3.4.5","geoip-lite":"^1.4.10","vue-router":"^4.2.0","compression":"^1.8.1","gray-matter":"^4.0.3","markdown-it":"^14.1.1","pino-pretty":"^13.1.3","highlight.js":"^11.9.0","jsonwebtoken":"^9.0.0","@codemirror/view":"^6.42.1","markdown-it-mark":"^3.0.1","@codemirror/state":"^6.6.0","markdown-it-emoji":"^2.0.2","@codemirror/search":"^6.7.0","markdown-it-anchor":"^8.6.7","@codemirror/commands":"^6.10.3","@codemirror/language":"^6.12.3","markdown-it-footnote":"^3.0.3","markdown-it-container":"^3.0.0","markdown-it-task-lists":"^1.4.1","@codemirror/autocomplete":"^6.20.2","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@codemirror/theme-one-dark":"^6.1.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^1.2.0","postcss":"^8.4.0","prettier":"^3.9.4","lint-staged":"^16.4.0","tailwindcss":"^3.4.0","autoprefixer":"^10.4.0","concurrently":"^8.2.0","@vue/test-utils":"^2.4.10","@playwright/test":"^1.44.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","@vitejs/plugin-vue":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/geowiki-cli_1.1.0_1786515388895_0.2601172593685013","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"geowiki-cli","version":"1.1.1","keywords":["geo","wiki","knowledge-base","cli","ai","seo","documentation"],"author":{"name":"GEO Wiki Team"},"license":"MIT","_id":"geowiki-cli@1.1.1","maintainers":[{"name":"ailittleyao","email":"yaochanged@gmail.com"}],"bin":{"geo":"bin/geo.js"},"dist":{"shasum":"dea5b2e9f0bb26fac1c17b8f6917f79733275405","tarball":"https://registry.npmjs.org/geowiki-cli/-/geowiki-cli-1.1.1.tgz","fileCount":24,"integrity":"sha512-enGD/FjfgopX88+nErZpq1x4oelxjgpnn6DltbBHFGSi0RSFOe+S5S9tth9JfcpxCxauvrC62CDK7A5Qgr3ing==","signatures":[{"sig":"MEUCIA/ozPw/r19aAVA39CLF2OHcHAsKWSAWKUP1KyEICArUAiEAq8UawD99pMgZ8kvmltU/SqGAG/Uv/nmORXQpqmO3y10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101684},"type":"module","gitHead":"7eabe33486b8b86471c0d89d8b78e70871672512","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.js","test":"vitest run","audit":"npm audit --registry=https://registry.npmjs.org","build":"vite build","server":"node --env-file-if-exists=.env server/index.js","prepare":"node -e \"try{require('husky')}catch{}\"","preview":"vite preview","dev:full":"concurrently \"npm run dev\" \"npm run server\"","test:e2e":"node tests/e2e/setup.js && playwright test","import:data":"node scripts/import-data.js","test:e2e:ui":"playwright test --ui","test:e2e:headed":"playwright test --headed"},"_npmUser":{"name":"ailittleyao","email":"yaochanged@gmail.com"},"repository":{"url":"git+http://100.66.1.1:38633/yao/geo-wiki-framework.git","type":"git"},"_npmVersion":"11.12.1","description":"GEO Wiki Pro - AI-powered knowledge base with GEO optimization","directories":{},"lint-staged":{"*.{vue,js}":"eslint --fix","*.{json,md,yml}":"prettier --write"},"_nodeVersion":"25.9.0","dependencies":{"vue":"^3.4.0","cors":"^2.8.0","pino":"^10.3.1","pinia":"^2.1.0","sharp":"^0.35.3","helmet":"^8.0.0","sql.js":"^1.14.1","express":"^4.18.0","fuse.js":"^7.0.0","bcryptjs":"^3.0.3","dompurify":"^3.4.13","geoip-lite":"^1.4.10","vue-router":"^4.2.0","compression":"^1.8.1","gray-matter":"^4.0.3","markdown-it":"^14.1.1","pino-pretty":"^13.1.3","highlight.js":"^11.9.0","jsonwebtoken":"^9.0.0","@codemirror/view":"^6.42.1","markdown-it-mark":"^3.0.1","@codemirror/state":"^6.6.0","markdown-it-emoji":"^2.0.2","@codemirror/search":"^6.7.0","markdown-it-anchor":"^8.6.7","@codemirror/commands":"^6.10.3","@codemirror/language":"^6.12.3","markdown-it-footnote":"^3.0.3","markdown-it-container":"^3.0.0","markdown-it-task-lists":"^1.4.1","@codemirror/autocomplete":"^6.20.2","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@codemirror/theme-one-dark":"^6.1.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^1.2.0","postcss":"^8.4.0","prettier":"^3.9.4","lint-staged":"^16.4.0","tailwindcss":"^3.4.0","autoprefixer":"^10.4.0","concurrently":"^8.2.0","@vue/test-utils":"^2.4.10","@playwright/test":"^1.44.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","@vitejs/plugin-vue":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/geowiki-cli_1.1.1_1786557702237_0.4787819247614471","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"_id":"geowiki-cli@1.2.0","bin":{"geo":"bin/geo.js"},"dist":{"shasum":"db4464837831c498f15505e1252a61f3c058a10d","tarball":"https://registry.npmjs.org/geowiki-cli/-/geowiki-cli-1.2.0.tgz","fileCount":24,"integrity":"sha512-GdLGkCLLsBpEaypJPzx1ksl6EZirPomtqiFat0TR6b1xluWbPSg2yewUpP3VMkcetS7/M8tIv60NFhPf0xy86g==","signatures":[{"sig":"MEUCIQDqn8DBvsJDgvh9Yc7j+K95s6aMjuGiDShBDstj7eptvgIgIUUyzELZaRyMCGCwCk4RS4fKfYYtrUGoF7QWvN0mpzY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAgGgkWxCWnTZWpucySsgczmmTNDIAjto+ktdb0vuCtCAiEAxiERDuMQiJOKwcaiADMH9+HRbv/XeP+PRKcu0doMGnM="}],"unpackedSize":105197},"name":"geowiki-cli","type":"module","author":{"name":"GEO Wiki Team"},"gitHead":"55a9434682f741c3c2d6277fe2d6a50b93d5c6ab","license":"MIT","scripts":{"dev":"vite","lint":"eslint src --ext .vue,.js","test":"vitest run","audit":"npm audit --registry=https://registry.npmjs.org","build":"vite build","server":"node --env-file-if-exists=.env server/index.js","prepare":"node -e \"try{require('husky')}catch{}\"","preview":"vite preview","dev:full":"concurrently \"npm run dev\" \"npm run server\"","test:e2e":"node tests/e2e/setup.js && playwright test","import:data":"node scripts/import-data.js","test:e2e:ui":"playwright test --ui","test:e2e:headed":"playwright test --headed"},"version":"1.2.0","_npmUser":{"name":"ailittleyao","email":"yaochanged@gmail.com"},"keywords":["geo","wiki","knowledge-base","cli","ai","seo","documentation"],"repository":{"url":"git+http://100.66.1.1:38633/yao/geo-wiki-framework.git","type":"git"},"_npmVersion":"9.6.7","description":"GEO Wiki Pro - AI-powered knowledge base with GEO optimization","directories":{},"lint-staged":{"*.{vue,js}":"eslint --fix","*.{json,md,yml}":"prettier --write"},"maintainers":[{"name":"ailittleyao","email":"yaochanged@gmail.com"}],"_nodeVersion":"18.17.1","dependencies":{"vue":"^3.4.0","cors":"^2.8.0","pino":"^10.3.1","pinia":"^2.1.0","sharp":"^0.35.3","helmet":"^8.0.0","sql.js":"^1.14.1","express":"^4.18.0","fuse.js":"^7.0.0","bcryptjs":"^3.0.3","dompurify":"^3.4.13","geoip-lite":"^1.4.10","vue-router":"^4.2.0","compression":"^1.8.1","gray-matter":"^4.0.3","markdown-it":"^14.1.1","pino-pretty":"^13.1.3","highlight.js":"^11.9.0","jsonwebtoken":"^9.0.0","@codemirror/view":"^6.42.1","markdown-it-mark":"^3.0.1","@codemirror/state":"^6.6.0","markdown-it-emoji":"^2.0.2","@codemirror/search":"^6.7.0","markdown-it-anchor":"^8.6.7","@codemirror/commands":"^6.10.3","@codemirror/language":"^6.12.3","markdown-it-footnote":"^3.0.3","markdown-it-container":"^3.0.0","markdown-it-task-lists":"^1.4.1","@codemirror/autocomplete":"^6.20.2","@codemirror/lang-markdown":"^6.5.0","@codemirror/language-data":"^6.5.2","@codemirror/theme-one-dark":"^6.1.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^8.57.0","vitest":"^1.2.0","postcss":"^8.4.0","prettier":"^3.9.4","lint-staged":"^16.4.0","tailwindcss":"^3.4.0","autoprefixer":"^10.4.0","concurrently":"^8.2.0","@vue/test-utils":"^2.4.10","@playwright/test":"^1.44.0","eslint-plugin-vue":"^9.33.0","vue-eslint-parser":"^9.4.3","@vitejs/plugin-vue":"^5.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/geowiki-cli_1.2.0_1789979968559_0.9457849994937768"}}},"time":{"created":"2026-06-05T10:08:24.921Z","modified":"2026-09-21T08:39:28.863Z","3.0.0":"2026-06-05T10:08:25.118Z","3.0.1":"2026-06-05T10:16:48.993Z","3.0.2":"2026-06-05T10:18:28.684Z","3.0.3":"2026-06-06T15:04:48.088Z","3.0.4":"2026-06-06T16:19:01.901Z","3.0.5":"2026-06-06T17:06:54.653Z","3.0.6":"2026-06-06T17:39:32.623Z","3.0.7":"2026-06-06T18:01:39.307Z","3.0.8":"2026-06-07T03:31:22.146Z","3.0.9":"2026-06-07T11:01:05.417Z","3.0.10":"2026-06-07T11:15:34.170Z","3.0.11":"2026-06-07T11:56:40.309Z","3.0.12":"2026-06-07T12:23:34.959Z","3.0.13":"2026-06-07T12:26:01.132Z","3.0.14":"2026-06-08T04:08:55.114Z","3.0.15":"2026-06-08T07:42:22.205Z","3.0.16":"2026-06-08T08:04:14.614Z","3.0.17":"2026-06-08T08:15:21.815Z","3.0.18":"2026-06-08T17:12:12.604Z","3.0.19":"2026-06-10T03:52:14.992Z","3.0.20":"2026-06-10T05:35:38.686Z","3.0.21":"2026-06-10T05:47:48.918Z","3.0.22":"2026-06-10T06:23:35.711Z","3.0.23":"2026-06-10T06:59:12.567Z","3.0.24":"2026-06-10T08:38:19.534Z","3.0.25":"2026-06-10T09:01:20.798Z","3.0.26":"2026-06-10T10:20:17.255Z","3.0.27":"2026-06-10T10:30:43.602Z","3.0.28":"2026-06-10T10:39:01.214Z","3.0.29":"2026-06-10T10:48:07.884Z","3.0.36":"2026-06-11T00:52:52.632Z","3.0.37":"2026-06-11T01:06:12.012Z","3.0.38":"2026-06-11T01:11:00.021Z","3.0.39":"2026-06-11T01:15:02.862Z","3.0.40":"2026-06-11T01:25:09.598Z","3.0.41":"2026-06-11T01:34:36.822Z","3.0.42":"2026-06-11T02:56:07.039Z","3.0.43":"2026-06-14T03:29:43.272Z","3.0.46":"2026-06-19T05:57:41.046Z","3.0.47":"2026-06-19T06:10:03.522Z","3.0.48":"2026-06-19T06:15:04.673Z","3.0.49":"2026-06-20T06:57:41.642Z","3.0.50":"2026-06-20T06:59:57.875Z","0.0.1":"2026-06-20T07:10:45.189Z","0.0.2":"2026-06-20T07:19:15.848Z","0.0.3":"2026-06-20T07:33:07.109Z","1.0.0":"2026-06-20T07:43:28.009Z","1.0.1":"2026-06-20T07:50:23.903Z","1.0.2":"2026-06-21T09:39:16.468Z","1.0.3":"2026-06-21T12:04:40.281Z","1.0.4":"2026-06-22T03:15:00.428Z","1.0.5":"2026-06-25T16:08:14.828Z","1.0.6":"2026-06-26T02:47:27.709Z","1.0.7":"2026-07-02T04:35:05.938Z","1.0.8":"2026-08-07T08:27:59.114Z","1.0.9":"2026-08-12T06:05:50.343Z","1.1.0":"2026-08-12T06:16:29.038Z","1.1.1":"2026-08-12T18:01:42.424Z","1.2.0":"2026-09-21T08:39:28.652Z"},"author":{"name":"GEO Wiki Team"},"license":"MIT","keywords":["geo","wiki","knowledge-base","cli","ai","seo","documentation"],"repository":{"url":"git+http://100.66.1.1:38633/yao/geo-wiki-framework.git","type":"git"},"description":"GEO Wiki Pro - AI-powered knowledge base with GEO optimization","maintainers":[{"name":"ailittleyao","email":"yaochanged@gmail.com"}],"readme":"# GEO Wiki Framework\n\n> AI-Ready 知识库框架 — 让 AI 搜索引擎优先引用你的文档\n\n[![Version](https://img.shields.io/badge/version-v1.1.0-blue.svg)](CHANGELOG.md)\n[![Live Demo](https://img.shields.io/badge/demo-geowiki.pro-brightgreen.svg)](https://geowiki.pro)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Node.js](https://img.shields.io/badge/Node.js-22+-green.svg)](https://nodejs.org)\n[![Vue.js](https://img.shields.io/badge/Vue.js-3-brightgreen.svg)](https://vuejs.org)\n\n---\n\n## 这是什么\n\nGEO Wiki 是一个面向 B2B 科技公司的**结构化知识库框架**，核心解决两个问题：\n\n1. **AI 搜索引擎找不到你的内容** — 自动优化 JSON-LD、llms.txt、Sitemap，让 Perplexity / ChatGPT / Gemini 精准引用你的文档\n2. **文档维护成本高** — AI 辅助生成、多语言支持、Markdown 编辑器，降低内容生产门槛\n\n**官网即产品**：[geowiki.pro](https://geowiki.pro) — 我们自己的文档就是用 GEO Wiki 搭建的。\n\n---\n\n## 核心特性\n\n### GEO 优化（独创）\n\n| 能力 | 说明 |\n|------|------|\n| JSON-LD 自动生成 | 文档自动输出 Schema.org 结构化数据 |\n| llms.txt 站点索引 | AI 爬虫友好的文档索引文件 |\n| GEO 评分仪表盘 | 实时查看文档的 AI 友好度 |\n| AI 爬虫管理 | 控制哪些 AI 爬虫可以访问你的内容 |\n| SSR 渲染 | AI 爬虫访问时返回完整 HTML |\n\n### 内容管理\n\n- **Markdown 编辑器** — 支持代码高亮、视频嵌入、3D 模型下载、Tabs 切换\n- **多语言** — 中文 / 英文 / 日文三语支持，独立开关控制\n- **AI 内容生成** — 接入 LLM 自动生成文档、翻译、优化\n- **草稿流程** — AI 生成内容先进草稿，人工审核后发布\n- **版本历史** — 文档修改记录可追溯\n- **拖拽排序** — 分类内文档自由排序\n\n### 安全\n\n- JWT 认证（httpOnly Cookie）+ CSRF 防护（HMAC 双提交）\n- Helmet CSP（nonce-based）+ 速率限制\n- 文件上传类型检测（magic bytes）+ 路径穿越防护\n- LLM Prompt 注入检测\n\n### 部署\n\n- Docker 一键部署 / 云服务器 PM2 部署\n- 文件存储（Markdown + JSON），无需数据库\n- SQLite 可选（爬虫数据、用户数据持久化）\n\n---\n\n## 快速开始\n\n### 环境要求\n\n- Node.js 22+\n- npm 10+\n\n### 安装\n\n```bash\ngit clone <your-repo-url>\ncd geo-wiki\nnpm install\n```\n\n### 配置\n\n```bash\ncp .env.example .env\n# 编辑 .env，设置 JWT_SECRET（至少 32 位随机字符串）\n```\n\n### 启动\n\n```bash\n# 开发模式（前端热更新 + 后端）\nnpm run dev:full\n\n# 生产构建\nnpm run build\nnpm run server\n```\n\n访问 `http://localhost:3002`，默认管理员：`admin` / `admin123`（首次登录强制改密）。\n\n### PM2 部署（推荐）\n\n```bash\nnpm run build\npm2 start server/index.js --name geowiki\npm2 save\n```\n\n---\n\n## 技术栈\n\n| 层 | 技术 |\n|----|------|\n| 前端 | Vue 3 + Vite 5 + Tailwind CSS 3.4 + Pinia + Vue Router |\n| 后端 | Express.js + Node.js 22 |\n| 存储 | Markdown 文件 + JSON 配置 + SQLite（可选） |\n| 搜索 | Fuse.js 模糊搜索 + 子串匹配兜底（支持代码块内容和 CJK 全文搜索） |\n| 认证 | JWT (httpOnly Cookie) + CSRF (HMAC 双提交) |\n| 安全 | Helmet CSP (nonce) + 速率限制 |\n\n---\n\n## 项目结构\n\n```\ngeo-wiki/\n├── server/              # Express 后端\n│   ├── routes/          # API 路由\n│   │   ├── docs.js      # 文档 CRUD + 搜索\n│   │   ├── auth.js      # 登录/登出\n│   │   ├── llm.js       # AI 内容生成/翻译\n│   │   ├── media.js     # 文件上传/下载\n│   │   ├── geo.js       # llms.txt / sitemap\n│   │   └── admin/       # 管理后台 API\n│   ├── middleware/       # 认证、CSRF、限流\n│   └── utils/           # 日志、Prompt 防护\n├── src/                 # Vue 3 前端\n│   ├── pages/           # 页面组件\n│   ├── components/      # 通用组件\n│   ├── stores/          # Pinia 状态管理\n│   ├── api/             # API 客户端\n│   ├── plugins/         # Markdown-it 插件\n│   └── i18n/            # 多语言翻译\n├── data/                # 数据目录\n│   ├── docs/{zh,en,jp}/ # Markdown 文档\n│   └── geo-wiki.json    # 分类/标签/用户配置\n├── cli/                 # CLI 工具源码\n├── bin/                 # CLI 入口\n├── scripts/             # 构建/打包脚本\n└── public/              # 静态资源\n```\n\n---\n\n## API 概览\n\n所有公开接口在 `/api/v1/`，无需认证：\n\n| 方法 | 端点 | 说明 |\n|------|------|------|\n| GET | `/api/v1/docs` | 文档列表（分页、筛选） |\n| GET | `/api/v1/docs/search` | 全文搜索 |\n| GET | `/api/v1/docs/:slug` | 单篇文档 |\n| GET | `/api/v1/categories` | 分类列表 |\n| GET | `/api/v1/tags` | 标签列表 |\n| GET | `/api/v1/config` | 公开站点配置 |\n| GET | `/api/v1/llms.txt` | AI 爬虫索引 |\n| GET | `/api/v1/geo/sitemap.xml` | XML Sitemap |\n| POST | `/api/v1/feedback` | 提交反馈 |\n\n管理接口（需认证）：`/api/v1/admin/*` — 文档管理、分类管理、用户管理、GEO 配置等。\n\n完整 API 文档见 [docs/API.md](docs/API.md)。\n\n---\n\n## CLI 工具\n\nGEO Wiki 提供命令行工具，支持 AI Agent 和开发者通过脚本管理知识库：\n\n```bash\nnpm install -g geowiki-cli\ngeo login --url https://your-site.com --token geo_xxxx\ngeo doc list\ngeo doc create --file article.md --category tech --slug my-article\n```\n\nCLI 完整文档见 [CLI-README.md](CLI-README.md)。\n\n---\n\n## 多语言\n\n翻译文件在 `src/i18n/`：\n\n- `zh.json` — 中文\n- `en.json` — 英文\n- `jp.json` — 日文\n\n添加新语言：创建 `src/i18n/{lang}.json`，在 `src/utils/i18n.js` 中注册。\n\n所有用户可见文本通过 `t()` 函数，不硬编码字符串。\n\n---\n\n## 文档\n\n| 文档 | 说明 |\n|------|------|\n| [CHANGELOG.md](CHANGELOG.md) | 版本变更记录 |\n| [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 技术架构详解 |\n| [docs/API.md](docs/API.md) | API 接口文档 |\n| [docs/快速开始.md](docs/快速开始.md) | 快速上手指南 |\n| [docs/部署文档.md](docs/部署文档.md) | 部署指南 |\n| [docs/常见问题.md](docs/常见问题.md) | FAQ |\n| [CLI-README.md](CLI-README.md) | CLI 工具文档 |\n| [docs/CHANGELOG-MAINTENANCE.md](docs/CHANGELOG-MAINTENANCE.md) | 变更日志维护规范 |\n\n---\n\n## 许可证\n\nMIT © GEO Wiki Pro\n","readmeFilename":"README.md"}