| refactor(brand): 品牌拼写全面统一 Harbor - 源码/文档/环境变量前缀 HARBOUR_→HARBOR_/请求头/桌面标识同步更新,后端 537 前端 66 测试通过 | 1 天前 |
| fix(csdn): 原地更新误报失败 - 发布弹窗打开后底栏按钮仍在 DOM,二次 text=发布文章 会把弹窗点掉;改为只点一次底栏、等 .modal__publish-article 出现后在弹窗内定位确认按钮(2026-11-04 实测复现) | 13 小时前 |
| refactor(brand): 品牌拼写全面统一 Harbor - 源码/文档/环境变量前缀 HARBOUR_→HARBOR_/请求头/桌面标识同步更新,后端 537 前端 66 测试通过 | 1 天前 |
| release: 0.13.2 - publish settings completeness: editable ai_model/source, editor settings block with cover upload, publish-rail missing-settings gate; tag-alias test isolation fix; gates 537 backend / 66 frontend | 14 小时前 |
| refactor(brand): 品牌拼写全面统一 Harbor - 源码/文档/环境变量前缀 HARBOUR_→HARBOR_/请求头/桌面标识同步更新,后端 537 前端 66 测试通过 | 1 天前 |
| release: 0.13.2 - publish settings completeness: editable ai_model/source, editor settings block with cover upload, publish-rail missing-settings gate; tag-alias test isolation fix; gates 537 backend / 66 frontend | 14 小时前 |
| fix: 审查收尾轮 —— 密钥ACL/回滚语义/通知隔离 + README 损坏修复 + 环境部署债清理 - F-09 密钥文件 ACL:Windows 走 icacls 去继承/仅授当前用户;超时(TimeoutExpired 非 OSError)与 icacls 缺失均降级告警,不阻断密钥加载 - F-14 站内通知:conftest autouse 每测清空 + 隔离顺序对锁定 - F-27 回滚:目标版本 == 当前内容(比对含 tags)时显式"无需回滚",不写历史 - README 反引号损坏重建(074ce0d 引入:41 反斜杠 / 7 退格 → 60 反引号, 发布流程图补围栏);用例数漂移 331 → 340 - 删死模块 article_store.py 与过期 requirements.txt;pyproject/uv.lock 版本 0.6.5 → 0.7.0(对齐 CHANGELOG 与 app version) - CI:backend job 去 pnpm/setup-node 冗余三步(cache path 指向不存在文件), pip-audit 改 uv run --with - deploy:nginx.conf 重写(SPA try_files + /api 反代 + SSE 关缓冲;原配置含 Python docstring 行,容器直接起不来)、Dockerfile CMD start:app → python start.py、compose context/healthcheck 修正、新增 .dockerignore(排除 backed/service/data 登录快照与 backed/config.json 等凭据文件) - 测试 333 → 340(新增 test_review_20261014.py 8 用例;移除随死模块失效的 F-03 用例 1 个) 审计:AQG deep 路由(Gate A:crypto/凭据 + CI/deploy)→ 宿主 Decision Engine MCP 不可用 → DE Lite 本地降级 local_host_43045e8d2ba7e6daea3f6c3b(advisory- only)。五维台账 .aqg/review-20261014.md VALID(needs-cross-llm-rerun), 自检兜出 3 项当场修复:TimeoutExpired 穿透 / 回滚 tags 短路 / dockerignore 漏凭据文件。 | 21 天前 |
| cleanup 0.4.0: unify codebase, demolish scaffold, fix security/docs Key changes: - Remove scaffold: api/v1, models, schemas, repository, services layers - Delete ghost infra: core/cache, core/queue, app/events, app/router - Rewrite ARCHITECTURE.md to actual 0.4.0 state - Fix hub.py (no global side effect, auto-token) - Fix humanize.py (WPM type formula was 5x off) - Fix observability.py (remove dead _observe_with_max, M_* constants) - Fix config_unified.py (Production reads env vars) - Fix factory.py (simplified lifespan, no cache/queue/DB pool) - Fix core/__init__.py (remove dead imports) - Fix api/__init__.py (hub_router not v1) - Fix app/exceptions.py (inline schemas) - Fix frontend Vue components (App.vue, ArticleList, ArticleEditor) - Rename deplay/ -> deploy/ - Version: 0.4.0-fix | 27 天前 |
| cleanup 0.4.0: unify codebase, demolish scaffold, fix security/docs Key changes: - Remove scaffold: api/v1, models, schemas, repository, services layers - Delete ghost infra: core/cache, core/queue, app/events, app/router - Rewrite ARCHITECTURE.md to actual 0.4.0 state - Fix hub.py (no global side effect, auto-token) - Fix humanize.py (WPM type formula was 5x off) - Fix observability.py (remove dead _observe_with_max, M_* constants) - Fix config_unified.py (Production reads env vars) - Fix factory.py (simplified lifespan, no cache/queue/DB pool) - Fix core/__init__.py (remove dead imports) - Fix api/__init__.py (hub_router not v1) - Fix app/exceptions.py (inline schemas) - Fix frontend Vue components (App.vue, ArticleList, ArticleEditor) - Rename deplay/ -> deploy/ - Version: 0.4.0-fix | 27 天前 |
| fix(security): 收紧网络边界、生命周期与凭据暴露面 浏览器操控面(/browser/fetch、/browser/screenshot)此前因 DNS 重绑定 风险被整体禁用。改用 Chromium --host-resolver-rules 把目标主机钉在 已校验的公网 IP 上,并加请求级守卫拦截解析到内网的子资源与跨域跳转, 功能恢复且不依赖"信任浏览器自己解析"。 - 新增 url_safety:公网 IP 校验、超时钳制、连接钉扎抓取(fetch_pinned)、 逐跳重定向校验、并发与体积上限 - 网页导入与浏览器操控共用同一套校验;Markdown 导入限制在安全根内、 只允许 .md/.markdown、拒绝配置与数据库文件、加体积上限 - MCP SSE 默认只绑定回环,远程必须配置 HARBOUR_MCP_TOKEN;外部 MCP 子进程改用白名单环境,不再继承父进程密钥 - 关闭流程按 scheduler → tasks → browser → dispatcher → DB 顺序幂等执行, 停止失败时保留连接而不是伪装成功 - 运行配置与数据库/媒体/登录态统一到同一数据根,旧 backed/config.json 只作只读迁移来源 - 前端令牌存本机浏览器,SSE 改 fetch 流以携带 X-API-Token - 文档与代码对齐:删除单文件 exe、8 Provider、30 Tool 等不实表述 - 整理仓库:审计报告与技术文章归入 docs/,清理临时产物与缓存 后端 529 passed,前端 63 passed,ruff 全绿。 | 2 天前 |
| refactor(brand): 品牌拼写全面统一 Harbor - 源码/文档/环境变量前缀 HARBOUR_→HARBOR_/请求头/桌面标识同步更新,后端 537 前端 66 测试通过 | 1 天前 |
| release: 0.13.2 - publish settings completeness: editable ai_model/source, editor settings block with cover upload, publish-rail missing-settings gate; tag-alias test isolation fix; gates 537 backend / 66 frontend | 14 小时前 |
| cleanup 0.4.0: unify codebase, demolish scaffold, fix security/docs Key changes: - Remove scaffold: api/v1, models, schemas, repository, services layers - Delete ghost infra: core/cache, core/queue, app/events, app/router - Rewrite ARCHITECTURE.md to actual 0.4.0 state - Fix hub.py (no global side effect, auto-token) - Fix humanize.py (WPM type formula was 5x off) - Fix observability.py (remove dead _observe_with_max, M_* constants) - Fix config_unified.py (Production reads env vars) - Fix factory.py (simplified lifespan, no cache/queue/DB pool) - Fix core/__init__.py (remove dead imports) - Fix api/__init__.py (hub_router not v1) - Fix app/exceptions.py (inline schemas) - Fix frontend Vue components (App.vue, ArticleList, ArticleEditor) - Rename deplay/ -> deploy/ - Version: 0.4.0-fix | 27 天前 |
| refactor(brand): 品牌拼写全面统一 Harbor - 源码/文档/环境变量前缀 HARBOUR_→HARBOR_/请求头/桌面标识同步更新,后端 537 前端 66 测试通过 | 1 天前 |
| cleanup 0.4.0: unify codebase, demolish scaffold, fix security/docs Key changes: - Remove scaffold: api/v1, models, schemas, repository, services layers - Delete ghost infra: core/cache, core/queue, app/events, app/router - Rewrite ARCHITECTURE.md to actual 0.4.0 state - Fix hub.py (no global side effect, auto-token) - Fix humanize.py (WPM type formula was 5x off) - Fix observability.py (remove dead _observe_with_max, M_* constants) - Fix config_unified.py (Production reads env vars) - Fix factory.py (simplified lifespan, no cache/queue/DB pool) - Fix core/__init__.py (remove dead imports) - Fix api/__init__.py (hub_router not v1) - Fix app/exceptions.py (inline schemas) - Fix frontend Vue components (App.vue, ArticleList, ArticleEditor) - Rename deplay/ -> deploy/ - Version: 0.4.0-fix | 27 天前 |
| refactor(brand): 品牌拼写全面统一 Harbor - 源码/文档/环境变量前缀 HARBOUR_→HARBOR_/请求头/桌面标识同步更新,后端 537 前端 66 测试通过 | 1 天前 |
| refactor(brand): 品牌拼写全面统一 Harbor - 源码/文档/环境变量前缀 HARBOUR_→HARBOR_/请求头/桌面标识同步更新,后端 537 前端 66 测试通过 | 1 天前 |
| refactor(brand): 品牌拼写全面统一 Harbor - 源码/文档/环境变量前缀 HARBOUR_→HARBOR_/请求头/桌面标识同步更新,后端 537 前端 66 测试通过 | 1 天前 |
| refactor(brand): 品牌拼写全面统一 Harbor - 源码/文档/环境变量前缀 HARBOUR_→HARBOR_/请求头/桌面标识同步更新,后端 537 前端 66 测试通过 | 1 天前 |
| refactor(brand): 品牌拼写全面统一 Harbor - 源码/文档/环境变量前缀 HARBOUR_→HARBOR_/请求头/桌面标识同步更新,后端 537 前端 66 测试通过 | 1 天前 |
| feat: 能力补全 0.8.0——媒体管线/FTS5 检索/能力矩阵/退避重试 + 用成熟库替换自研半成品 修复 7 处阻断缺陷: - start.sh/.bat/.ps1 用不可导入的 start:app(app 在 main() 内) - Tauri 探活打 /api/hub/health(实际 /api/v1/hub/health) - tauri frontendDist 与 vite outDir 不一致 - /qa/analyze 与 /tags/suggest 只收 query,前端发 JSON 恒 422 - 重试无退避(3 次在 1 秒内打光) - 不支持 update 的平台被塞进更新循环,每次同步假失败 新增能力: - 媒体资产管线(内容寻址去重 / SSRF 防护下载 / Markdown 改写 / 本地托管) - FTS5 全文检索 + 列表 slim 投影 - 网页导入(trafilatura)+ front-matter(python-frontmatter) - 代码级能力矩阵(API/发布/更新/前端置灰四处接线) - Prometheus 指标导出、croniter cron、MCP 23→27 tool 替换自研半成品:pyahocorasick / rapidfuzz / tenacity / croniter / python-frontmatter / trafilatura / prometheus-client 性能:首屏 JS 2.56MB→1.04MB;查重 15.7s→1.07s(热缓存 0.22s); 安全扫描 41.7x;门禁 compileall 10.85s→0.3s 测试:后端 415→451,前端 57;六道门禁全绿 | 6 天前 |
| feat: 能力补全 0.8.0——媒体管线/FTS5 检索/能力矩阵/退避重试 + 用成熟库替换自研半成品 修复 7 处阻断缺陷: - start.sh/.bat/.ps1 用不可导入的 start:app(app 在 main() 内) - Tauri 探活打 /api/hub/health(实际 /api/v1/hub/health) - tauri frontendDist 与 vite outDir 不一致 - /qa/analyze 与 /tags/suggest 只收 query,前端发 JSON 恒 422 - 重试无退避(3 次在 1 秒内打光) - 不支持 update 的平台被塞进更新循环,每次同步假失败 新增能力: - 媒体资产管线(内容寻址去重 / SSRF 防护下载 / Markdown 改写 / 本地托管) - FTS5 全文检索 + 列表 slim 投影 - 网页导入(trafilatura)+ front-matter(python-frontmatter) - 代码级能力矩阵(API/发布/更新/前端置灰四处接线) - Prometheus 指标导出、croniter cron、MCP 23→27 tool 替换自研半成品:pyahocorasick / rapidfuzz / tenacity / croniter / python-frontmatter / trafilatura / prometheus-client 性能:首屏 JS 2.56MB→1.04MB;查重 15.7s→1.07s(热缓存 0.22s); 安全扫描 41.7x;门禁 compileall 10.85s→0.3s 测试:后端 415→451,前端 57;六道门禁全绿 | 6 天前 |
| feat: 能力补全 0.8.0——媒体管线/FTS5 检索/能力矩阵/退避重试 + 用成熟库替换自研半成品 修复 7 处阻断缺陷: - start.sh/.bat/.ps1 用不可导入的 start:app(app 在 main() 内) - Tauri 探活打 /api/hub/health(实际 /api/v1/hub/health) - tauri frontendDist 与 vite outDir 不一致 - /qa/analyze 与 /tags/suggest 只收 query,前端发 JSON 恒 422 - 重试无退避(3 次在 1 秒内打光) - 不支持 update 的平台被塞进更新循环,每次同步假失败 新增能力: - 媒体资产管线(内容寻址去重 / SSRF 防护下载 / Markdown 改写 / 本地托管) - FTS5 全文检索 + 列表 slim 投影 - 网页导入(trafilatura)+ front-matter(python-frontmatter) - 代码级能力矩阵(API/发布/更新/前端置灰四处接线) - Prometheus 指标导出、croniter cron、MCP 23→27 tool 替换自研半成品:pyahocorasick / rapidfuzz / tenacity / croniter / python-frontmatter / trafilatura / prometheus-client 性能:首屏 JS 2.56MB→1.04MB;查重 15.7s→1.07s(热缓存 0.22s); 安全扫描 41.7x;门禁 compileall 10.85s→0.3s 测试:后端 415→451,前端 57;六道门禁全绿 | 6 天前 |