- feat(acp): add opencode plugin management — detect, install, uninstall plugins via preflight UI. - feat(frontend): add OpencodePluginsModal with streaming install progress. - feat(i18n): add opencode plugin management translations for 10 languages. - fix(acp): use XDG paths for opencode config/cache instead of platform-native dirs. - fix(acp): pin @latest plugin specs to installed versions and enable button when only floating versions exist. - fix(acp): avoid false-positive comment detection on URLs in opencode.json. - fix(acp): harden session-page connection and localize backend errors. - fix(experts): handle Windows junction removal when unlinking skill entries. - fix(frontend): remove explicit primary color from input bar controls. ----------------------------- # 发布版本 0.8.1 - 新增(acp):添加 opencode 插件管理 —— 通过预检 UI 检测、安装、卸载插件; - 新增(前端):添加 OpencodePluginsModal 组件,支持流式安装进度展示; - 新增(i18n):为 opencode 插件管理添加 10 种语言翻译; - 修复(acp):opencode 配置/缓存使用 XDG 路径而非平台原生目录; - 修复(acp):将 @latest 浮动版本的插件规格固定为实际安装版本,并在仅有浮动版本时启用按钮; - 修复(acp):避免对 opencode.json 中的 URL 误判为注释; - 修复(acp):加固会话-页面连接并本地化后端错误信息; - 修复(experts):处理 Windows 下取消技能条目链接时的 junction 移除问题; - 修复(前端):移除输入栏控件的显式主色调。
83 lines
2.6 KiB
JSON
83 lines
2.6 KiB
JSON
{
|
|
"name": "codeg",
|
|
"private": true,
|
|
"version": "0.8.1",
|
|
"scripts": {
|
|
"dev": "next dev --turbopack",
|
|
"build": "next build",
|
|
"lint": "eslint",
|
|
"tauri": "tauri",
|
|
"server:build": "cd src-tauri && cargo build --release --bin codeg-server --no-default-features",
|
|
"server:dev": "cd src-tauri && cargo run --bin codeg-server --no-default-features",
|
|
"postinstall": "node -e \"const fs=require('fs');fs.cpSync('node_modules/monaco-editor/min/vs','public/vs',{recursive:true,force:true});const p='public/vs/loader.js';fs.writeFileSync(p,fs.readFileSync(p,'utf8').replace(/\\n\\/\\/# sourceMappingURL=.*/,''))\""
|
|
},
|
|
"dependencies": {
|
|
"@base-ui/react": "^1.1.0",
|
|
"@lobehub/icons": "^5.3.0",
|
|
"@monaco-editor/react": "^4.7.0",
|
|
"@radix-ui/react-use-controllable-state": "^1.2.2",
|
|
"@streamdown/cjk": "^1.0.2",
|
|
"@streamdown/code": "^1.0.2",
|
|
"@streamdown/math": "^1.0.2",
|
|
"@streamdown/mermaid": "^1.0.2",
|
|
"@tauri-apps/api": "^2",
|
|
"@tauri-apps/plugin-dialog": "^2.6.0",
|
|
"@tauri-apps/plugin-opener": "^2",
|
|
"@tauri-apps/plugin-process": "^2.3.1",
|
|
"@tauri-apps/plugin-updater": "^2.10.0",
|
|
"@tauri-apps/plugin-window-state": "~2.4.1",
|
|
"@xterm/addon-fit": "^0.11.0",
|
|
"@xterm/addon-web-links": "^0.12.0",
|
|
"@xterm/xterm": "^6.0.0",
|
|
"ai": "^6.0.78",
|
|
"ansi-to-react": "^6.2.6",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"date-fns": "^4.1.0",
|
|
"html-to-image": "^1.11.13",
|
|
"ignore": "^7.0.5",
|
|
"katex": "^0.16.45",
|
|
"lucide-react": "^0.563.0",
|
|
"monaco-editor": "^0.55.1",
|
|
"motion": "^12.34.0",
|
|
"next": "^16",
|
|
"next-intl": "^4.8.3",
|
|
"next-themes": "^0.4.6",
|
|
"postcss": "^8.5.6",
|
|
"radix-ui": "^1.4.3",
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0",
|
|
"react-markdown": "^10.1.0",
|
|
"react-resizable-panels": "^2.1.9",
|
|
"remark-gfm": "^4.0.1",
|
|
"shadcn": "^3.8.4",
|
|
"shiki": "^3.22.0",
|
|
"sonner": "^2.0.7",
|
|
"streamdown": "^2.2.0",
|
|
"tailwind-merge": "^3.4.0",
|
|
"tailwindcss": "^4.1.18",
|
|
"use-stick-to-bottom": "^1.1.3",
|
|
"virtua": "^0.48.8"
|
|
},
|
|
"pnpm": {
|
|
"overrides": {
|
|
"mermaid": "^11.13.0"
|
|
}
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4.1.18",
|
|
"@tauri-apps/cli": "^2",
|
|
"@types/node": "25.2.2",
|
|
"@types/react": "^19.1.8",
|
|
"@types/react-dom": "^19.1.6",
|
|
"eslint": "^9.39.2",
|
|
"eslint-config-next": "^16.1.6",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-plugin-prettier": "^5.5.5",
|
|
"prettier": "^3.8.1",
|
|
"tw-animate-css": "^1.4.0",
|
|
"typescript": "~5.8.3"
|
|
}
|
|
}
|