Repository navigation
Covel v0.0.2
[0.0.2] - 2026-04-29
第二个公开版本。围绕 2026-04-29 代码库审计发现的 7 个问题做收敛——CI 红灯、桌面安全、插件生态闭环、首屏体积。
Added
- 桌面 sidecar 启动时生成一次性 bearer token(
COVEL_DESKTOP_REST_TOKEN),所有PUT /api/config/{keys,settings,data-root}与POST /api/config/open-folder必须带Authorization: Bearer <token>。读接口保持开放;token 未注入时(pure web / dev / Demo Host)自动 no-op,行为兼容 /api/config/info新增requiresAuth字段,前端据此决定是否附加 Authorization 头- 社区插件
tools.local激活生命周期:activatePluginLocalTools(pluginId)在 RPC 审批通过后 just-in-time 注册到toolMap,并在 approvals decision=allow 后预激活;幂等 - Electron 外链 allowlist:
https:直接放行 + 写审计日志;非 loopbackhttp:弹用户确认 dialog;其他协议(javascript:/file:/自定义)拦截 - 桌面 sidecar awaitable shutdown:新
stopServer()等待子进程exit事件后再启动新 sidecar,5s 超时 SIGKILL,重启路径告别端口/SQLite 锁竞态
Changed
- monorepo 全量版本号
0.0.1→0.0.2 - web 首屏 bundle 拆分:vite manualChunks 抽出 react/router/i18n/markdown/graph/motion 6 个 vendor chunk;主 chunk 490 kB → 365 kB gzip(-25%)
- README + web 首页 demo 资源换为最新 dev3 视频(3× 速、无音轨、960×568 GIF + 1280×756 MP4)
PluginRpcResponse.failedJobs字段标记 deprecated;expectsBackgroundFollower路径统一返回 202accepted+ jobId,失败状态落在_jobs/<jobId>的reason: "expected-background-follower-missing"- i18n 扫描器白名单覆盖 settings/theme 的 bilingual config 目录(
{ "zh-CN", "en-US" }自带翻译的对象不再误报);database-panel raw 字符串迁移到 locale;删除冗余t(key, "中文")默认值 - CORS 收窄:从「任意 loopback origin」改为「dev origin(5173)+ sidecar own origin(serverPort)+
CORS_ORIGIN显式配置」
Fixed
pnpm test之前因tests/api/plugin-rpc.test.ts期望 200 实得 202 红灯——契约已确定为 202 异步 job 模式,测试同步更新到轮询_jobs失败状态- 重复静/动态 import 警告:
reload-overlay、settings/store不再同时被静态和动态引入,Vite 不再警告 ineffective dynamic import pnpm check:i18n35 处 raw CJK literal 全部清理,回到绿灯
Documentation
docs/reference/api.md:202 示例补phase字段;_jobsschema 补reason字段docs/guide/desktop-config.md:新增「桌面 REST 写接口的 token 门」章节docs/guide/plugin-authoring-advanced.md:澄清社区插件tools.local在审批通过后的延迟激活语义
Full Changelog: v0.0.1...v0.0.2