Skip to content

Releases: Ninthless/StackFerry

StackFerry v0.1.19

Choose a tag to compare

@github-actions github-actions released this 12 Aug 14:43

自 v0.1.18 发布以来的更新。

简体中文

应用内公告系统

  • 新增独立公告中心,支持未读状态、全部已读、重要公告横幅和紧急公告确认弹窗。
  • 侧边栏新增全局公告入口;存在未读公告时显示红点,实际打开详情后才标记已读。
  • 公告支持简体中文、繁体中文、英文和日文内容,并按应用版本、系统平台、发布渠道和有效期过滤。
  • 客户端通过代理感知 HTTP 获取公告,支持 ETag、Last-Modified、30 分钟缓存、响应大小限制和原子写入。
  • 网络或远端清单不可用时,自动使用最后有效缓存或随应用内置的公告,不阻塞客户端启动。
  • 公告操作限制为 HTTPS 外链和现有更新页面导航,远端内容不能执行脚本或任意 Tauri 命令。
  • 窄屏公告页改为列表与详情主从切换,宽屏保持左右双栏,并基于工作区实际宽度响应。
  • 新增 JSON Schema、静态清单校验脚本和 GitHub Pages 自动发布工作流。

English

Changes since the v0.1.18 release.

In-App Announcements

  • Added a dedicated announcement center with unread state, mark-all-read, important banners, and critical acknowledgement dialogs.
  • Added a global sidebar entry with an unread dot that clears only after the announcement detail is opened.
  • Added localized announcement content for Simplified Chinese, Traditional Chinese, English, and Japanese, filtered by app version, platform, channel, and expiry.
  • Added proxy-aware fetching with ETag, Last-Modified, a 30-minute cache, response size limits, and atomic persistence.
  • Added offline fallback to the last valid cache or a bundled announcement without blocking application startup.
  • Restricted remote actions to HTTPS links and navigation to the existing updater page; announcements cannot execute scripts or arbitrary Tauri commands.
  • Rebuilt narrow layouts as list-to-detail navigation while retaining a side-by-side workspace on wider layouts.
  • Added a JSON Schema, manifest validation scripts, and a GitHub Pages publishing workflow.

Commits

  • fix(ci): format announcement backend(ab2ba837) @Ninthless
  • feat(announcements): add in-app announcement center(76f6ebd6) @Ninthless

StackFerry v0.1.18

Choose a tag to compare

@github-actions github-actions released this 12 Aug 02:03

自 v0.1.17 发布以来的更新。

简体中文

Pi 扩展管理

  • 新增完整的 Pi 扩展工作台,可查看扩展、Packages、运行时状态、来源、版本、启用状态和异常信息。
  • 支持安装和移除 npm、Git 与本地 Pi Packages,注册和取消注册本地扩展,并可直接启用或禁用单个扩展。
  • 新增 npm Package 发现页,支持搜索、查看 Manifest、识别已安装状态并选择安装目标。
  • Pi MCP Adapter 改为由用户明确安装;安装完成后,StackFerry 可通过该 Adapter 管理 Pi MCP。
  • 新增 Adapter 缺失、安装中、可用、失效和部分成功等状态,并提供恢复与重试操作。
  • 安装前静态检测扩展注册的 Tool、Command 和 Flag;发现名称冲突时阻止危险启用或自动禁用冲突扩展,避免 Pi 启动失败。
  • 扩展详情改为独立全屏页面,集中展示路径、Package、资源、冲突和可执行操作。

Pi 全局与项目作用域

  • Pi 扩展、Packages 和本地资源现在同时支持全局作用域与项目作用域。
  • 新增项目目录选择、最近项目持久化、项目信任确认、作用域筛选和目标明确的安装操作。
  • 未信任项目不会读取或修改项目 .pi 内容;所有项目写操作都会重新校验规范化路径和信任状态。
  • 对齐 Pi 的 Package 去重、项目覆盖、autoload: false delta、Manifest Pattern、Package Filter 和资源优先级规则。
  • 补齐 extensions、skills、prompts、themes 的递归发现、glob、ignore 文件和目录入口规则。
  • 改进 Windows、macOS 与 Linux 的 Pi CLI 和路径兼容性,包括 Windows .cmd 调用、Unix 可执行文件以及 macOS Homebrew 常见路径。

MCP 管理与导入

  • “导入已有”扩展到 Claude、Codex、Gemini、GrokBuild、OpenCode、Hermes、Pi 和 Cursor。
  • 新增 Cursor MCP 配置读取与导入。
  • 改进 Codex 远程 MCP、OpenCode V2 配置结构、环境变量和不同 Agent 配置格式的兼容性。
  • 相同 MCP 已存在时合并应用启用状态,不覆盖已有定义;导入数量只统计真正新增的服务器。
  • Pi MCP 导入会检测与 StackFerry 中同 ID 服务器的配置冲突,避免静默覆盖。
  • MCP 管理页改为统一工作台,优化长路径截断、应用状态、批量操作、导入反馈和窄屏布局。

Provider 导入与路由

  • Provider Routing 支持从 CC Switch 扫描并导入多个 Agent 的 Provider。
  • 新增导入预览、按 Agent 或 Provider 选择、来源与端点展示、冲突提示和重新扫描;预览不会显示密钥。
  • Agent 选择器移至侧边栏并优化尺寸,使路由页面在常规和窄屏窗口中保持稳定。
  • 修复 Codex 故障转移到 DeepSeek 等第三方 Provider 时,Codex 模型目录覆盖真实上游模型的问题。
  • 故障转移现在保留 Provider 配置的上游模型,同时继续支持第三方 Provider 自身的多模型目录选择。

管理页面重新设计

  • 重新设计 MCP、Pi 扩展、Skills、Prompts、Sessions 和 Provider 导入工作区,统一工具栏、列表、筛选、空状态和详情导航。
  • Skills 恢复仓库管理入口,发现页使用更易浏览的大卡片,Skill 详情改为独立全屏页面。
  • Prompt 新建和编辑改为独立页面,移除重复入口,并修复保存或取消后页面未关闭的问题。
  • Session Manager 重构列表、消息目录和阅读区域,修复滚轮不可用、窄屏头部异常以及调整窗口时布局跳动。
  • 统一响应式布局规则,修复中窄屏下按钮、计数、徽标、路径和工具栏溢出。

思考强度与请求日志

  • 新增跨协议思考强度识别与记录,兼容 reasoning.effort、thinking budget 及不同 Agent 的对应字段。
  • 请求日志和详情页现在显示思考强度及其来源。
  • 修正请求用时和首字时间的采集与显示,统一毫秒和秒的格式。
  • 无法从会话文件获得网络时序时显示为不可用,不再将未知值误显示为 0
  • 优化请求日志表格、详情面板和用量概览的响应式布局与长内容展示。

稳定性与测试

  • 增加 Pi 扩展安装、Adapter 恢复、冲突处理、项目信任、双作用域和跨平台路径的回归测试。
  • 增加 MCP/Provider 跨 Agent 导入、响应式管理工作台、Prompt/Skill 导航、Session 滚动和请求时序测试。
  • 修复 Unix 平台 Pi 路径测试、Windows CLI 参数引用和严格 Clippy 检查问题。
  • 恢复 Windows、macOS 与 Linux 后端 CI 检查的一致通过。

English

Changes since the v0.1.17 release.

Pi Extension Management

  • Added a complete Pi extension workspace for extensions, packages, runtime health, sources, versions, enabled states, and diagnostics.
  • Added installation and removal for npm, Git, and local Pi packages, local extension registration, and per-extension enable controls.
  • Added npm package discovery with search, manifest inspection, installed-state detection, and install-target selection.
  • Made the Pi MCP Adapter an explicit user installation. Once installed, StackFerry can manage Pi MCP through the adapter.
  • Added missing, installing, ready, invalid, and partial-success adapter states with recovery and retry actions.
  • Added static detection for registered tools, commands, and flags. Conflicting extensions are blocked or disabled before they can prevent Pi from starting.
  • Moved extension details into a dedicated full-page view for paths, packages, resources, conflicts, and actions.

Global and Project Pi Scopes

  • Added global and project scopes for Pi extensions, packages, and local resources.
  • Added project selection, recent-project persistence, trust confirmation, scope filters, and target-aware installation.
  • Untrusted projects are never read from or written to, and project mutations revalidate canonical paths and trust.
  • Aligned package deduplication, project overrides, autoload: false deltas, manifest patterns, package filters, and resource precedence with Pi behavior.
  • Added recursive discovery, glob expansion, ignore-file handling, and directory entry rules for extensions, skills, prompts, and themes.
  • Improved Pi CLI and path compatibility across Windows, macOS, and Linux, including Windows .cmd, Unix executables, and common Homebrew locations.

MCP Management and Import

  • Expanded “Import Existing” to Claude, Codex, Gemini, GrokBuild, OpenCode, Hermes, Pi, and Cursor.
  • Added Cursor MCP configuration discovery and import.
  • Improved compatibility with Codex remote MCP servers, OpenCode V2 configuration, environment variables, and agent-specific formats.
  • Existing MCP definitions now retain their configuration while gaining the imported app assignment; import counts include only newly inserted servers.
  • Pi imports detect configuration conflicts with StackFerry servers that use the same ID instead of silently overwriting them.
  • Rebuilt MCP management as a unified workspace with better long-path handling, app status, batch actions, import feedback, and narrow-screen behavior.

Provider Import and Routing

  • Provider Routing can now scan and import CC Switch providers across supported agents.
  • Added import previews, agent/provider selection, source and endpoint details, warnings, and rescanning without exposing secrets.
  • Moved agent selection into the sidebar and refined its size for stable desktop and narrow layouts.
  • Fixed Codex failover to third-party providers such as DeepSeek when the Codex catalog model incorrectly shadowed the configured upstream model.
  • Failover now preserves the provider's configured upstream model while retaining genuine multi-model catalog selection.

Redesigned Management Workspaces

  • Redesigned MCP, Pi Extensions, Skills, Prompts, Sessions, and Provider Import with consistent toolbars, lists, filters, empty states, and detail navigation.
  • Restored the Skills repository-management entry, introduced larger discovery cards, and moved Skill details to a full-page view.
  • Moved Prompt creation and editing to dedicated pages, removed duplicate entry points, and fixed Save or Cancel leaving the editor open.
  • Rebuilt Session Manager lists, message navigation, and reading panes; fixed missing wheel scrolling, awkward narrow headers, and resize-induced layout jumping.
  • Standardized responsive behavior for buttons, counts, badges, paths, and toolbars across medium and narrow windows.

Thinking Effort and Request Logs

  • Added cross-protocol thinking-effort detection and persistence for reasoning.effort, thinking budgets, and agent-specific equivalents.
  • Request logs and details now expose the thinking level and its source.
  • Corrected request duration and time-to-first-token capture and formatting with consistent millisecond and second units.
  • Session records without network timing now show unavailable values instead of misleading zeroes.
  • Improved responsive layouts and long-content handling across the request table, detail panel, and usage overview.

Stability and Tests

  • Added regression coverage for Pi package installation, adapter recovery, conflict handling, project trust, scoped workflows, and cross-platform paths.
  • Added coverage for cross-agent MCP/provider imports, responsive management workspaces, Prompt/Skill navigation, Session scrolling, and request timing.
  • Fixed Unix Pi path tests, Windows CLI argument quoting, and strict Clippy failures.
  • Restored consistent backend CI coverage across Windows, macOS, and Linux.

Commits

  • chore(release): prepare v0.1.18(66ac4de7) @Ninthless
  • fix(proxy): preserve provider model during Codex failover(d8e76124) @Ninthless
  • fix(ci): restore backend checks across platforms(f0f9b761) @Ninthless
  • test(pi): cover scoped extension workflows(c611323a) @Ninthless
  • feat(ui): add Pi project scope controls(9fe16945) @Ninthless
  • feat(pi): add scoped extension management backend(706aab76) @Ninthless
  • test(management): cover redesigned workflows(df5df198) @Ninthless
  • fix(usage): clarify request timing and effort logs(344d96aa) @Ninthless
  • feat(ui): redesign management workspaces(52edd3fc) @Ninthless
  • feat(core): expand agent management capabilities(2cd5926a) @Ninthless
  • fix(pi): improve adapter CLI support on Unix(eb36b17e) @Ninthless
  • test(pi): cover extension and adapter workflows(c0f789cc) @Ninthless
  • feat(ui): add Pi extension and adapter workflows(8b3f6083) @Ninthless
  • feat(pi): add extension and adapter management backend(76c6eaa9) @Ninthless

StackFerry v0.1.17

Choose a tag to compare

@github-actions github-actions released this 09 Aug 02:38

简体中文

MCP 与发布稳定性

  • 修复 Pi MCP 投影失败后数据库启用状态未恢复的问题。
  • 发布工作流现在要求完整 CI 全部成功后才开始构建和发布。

MCP 与 Skills 管理

  • MCP 和 Skills 列表新增本地搜索。
  • 支持按应用批量启用和禁用 MCP、Skills,并正确处理部分启用状态。

Codex 会话用量

  • Codex 会话日志按最多 1000 条分批写入 SQLite,复用 prepared statement,提升大量会话导入速度。
  • 批量导入失败时回滚当前批次,文件 cursor 只在全部批次成功后推进,重试不会产生重复记录。
  • Codex 会话请求详情现在正确显示 responses API 协议。

稳定性与兼容性

  • OAuth 配置写入改用 Windows 原子写入,降低配置文件损坏和并发覆盖风险。
  • 数据库备份和恢复改用批处理与事务,提升 Windows 环境下的处理效率和一致性。
  • Codex Responses 工具调用和会话 token 统计兼容性得到增强。
  • 修复应用集成测试在高负载下因默认超时过短导致的级联失败。

CI 稳定性

  • 修复 Codex 会话用量批处理代码触发严格 Clippy 检查失败的问题。
  • 测试专用的单条插入 helper 不再进入生产构建,避免无用代码警告。

English

MCP and Release Stability

  • Fixed the database enabled state not being restored after a failed Pi MCP projection.
  • Release builds now start only after the complete CI workflow succeeds.

MCP and Skills Management

  • Added local search for installed MCP and Skills lists.
  • Added per-application batch enable and disable actions with partial-state handling.

Codex Session Usage

  • Codex session logs are imported in batches of up to 1,000 rows with prepared statement reuse for faster large-session imports.
  • Failed batches roll back, the file cursor advances only after all batches succeed, and retries avoid duplicate records.
  • Codex session request details now correctly display the responses API protocol.

Stability and Compatibility

  • OAuth configuration writes now use atomic replacement on Windows to reduce corruption and concurrent overwrite risks.
  • Database backup and restore now use batching and transactions for better Windows performance and consistency.
  • Improved Codex Responses tool-call and session token accounting compatibility.
  • Fixed cascading integration-test failures caused by an overly short default timeout under load.

CI Stability

  • Fixed strict Clippy failures in the Codex session-usage batching implementation.
  • Test-only single-record insert helpers no longer compile into production builds, avoiding dead-code warnings.

Commits

  • chore(release): prepare v0.1.17(54e67e24) @Ninthless
  • fix(mcp): restore state after Pi projection failure(bac7ecf6) @Ninthless

StackFerry v0.1.16

Choose a tag to compare

@github-actions github-actions released this 08 Aug 16:51

简体中文

MCP 与 Skills 管理

  • MCP 和 Skills 列表新增本地搜索。
  • 支持按应用批量启用和禁用 MCP、Skills,并正确处理部分启用状态。

Codex 会话用量

  • Codex 会话日志按最多 1000 条分批写入 SQLite,复用 prepared statement,提升大量会话导入速度。
  • 批量导入失败时回滚当前批次,文件 cursor 只在全部批次成功后推进,重试不会产生重复记录。
  • Codex 会话请求详情现在正确显示 responses API 协议。

稳定性与兼容性

  • OAuth 配置写入改用 Windows 原子写入,降低配置文件损坏和并发覆盖风险。
  • 数据库备份和恢复改用批处理与事务,提升 Windows 环境下的处理效率和一致性。
  • Codex Responses 工具调用和会话 token 统计兼容性得到增强。
  • 修复应用集成测试在高负载下因默认超时过短导致的级联失败。

CI 稳定性

  • 修复 Codex 会话用量批处理代码触发严格 Clippy 检查失败的问题。
  • 测试专用的单条插入 helper 不再进入生产构建,避免无用代码警告。

English

MCP and Skills Management

  • Added local search for installed MCP and Skills lists.
  • Added per-application batch enable and disable actions with partial-state handling.

Codex Session Usage

  • Codex session logs are imported in batches of up to 1,000 rows with prepared statement reuse for faster large-session imports.
  • Failed batches roll back, the file cursor advances only after all batches succeed, and retries avoid duplicate records.
  • Codex session request details now correctly display the responses API protocol.

Stability and Compatibility

  • OAuth configuration writes now use atomic replacement on Windows to reduce corruption and concurrent overwrite risks.
  • Database backup and restore now use batching and transactions for better Windows performance and consistency.
  • Improved Codex Responses tool-call and session token accounting compatibility.
  • Fixed cascading integration-test failures caused by an overly short default timeout under load.

CI Stability

  • Fixed strict Clippy failures in the Codex session-usage batching implementation.
  • Test-only single-record insert helpers no longer compile into production builds, avoiding dead-code warnings.

Commits

  • chore(release): prepare v0.1.16(75fb26cd) @Ninthless
  • fix(ci): satisfy strict Codex clippy checks(9430f24d) @Ninthless

StackFerry v0.1.15

Choose a tag to compare

@github-actions github-actions released this 08 Aug 16:22

简体中文

MCP 与 Skills 管理

  • MCP 和 Skills 列表新增本地搜索。
  • 支持按应用批量启用和禁用 MCP、Skills,并正确处理部分启用状态。

Codex 会话用量

  • Codex 会话日志按最多 1000 条分批写入 SQLite,复用 prepared statement,提升大量会话导入速度。
  • 批量导入失败时回滚当前批次,文件 cursor 只在全部批次成功后推进,重试不会产生重复记录。
  • Codex 会话请求详情现在正确显示 responses API 协议。

稳定性与兼容性

  • OAuth 配置写入改用 Windows 原子写入,降低配置文件损坏和并发覆盖风险。
  • 数据库备份和恢复改用批处理与事务,提升 Windows 环境下的处理效率和一致性。
  • Codex Responses 工具调用和会话 token 统计兼容性得到增强。
  • 修复应用集成测试在高负载下因默认超时过短导致的级联失败。

English

MCP and Skills Management

  • Added local search for installed MCP and Skills lists.
  • Added per-application batch enable and disable actions with partial-state handling.

Codex Session Usage

  • Codex session logs are imported in batches of up to 1,000 rows with prepared statement reuse for faster large-session imports.
  • Failed batches roll back, the file cursor advances only after all batches succeed, and retries avoid duplicate records.
  • Codex session request details now correctly display the responses API protocol.

Stability and Compatibility

  • OAuth configuration writes now use atomic replacement on Windows to reduce corruption and concurrent overwrite risks.
  • Database backup and restore now use batching and transactions for better Windows performance and consistency.
  • Improved Codex Responses tool-call and session token accounting compatibility.
  • Fixed cascading integration-test failures caused by an overly short default timeout under load.

Commits

  • chore(release): prepare v0.1.15(93009f24) @Ninthless
  • fix(proxy): improve Codex compatibility and usage imports(53a5c229) @Ninthless
  • fix(platform): harden config and sync persistence(abd2d965) @Ninthless
  • feat(management): add MCP and Skills batch controls(12af1593) @Ninthless

StackFerry v0.1.14

Choose a tag to compare

@github-actions github-actions released this 08 Aug 13:01

简体中文

Responses 错误处理

  • Responses API 通过成功 HTTP 状态返回失败或取消结果时,StackFerry 现在按上游错误处理,不再错误映射为 422 请求格式错误。
  • 上游限流错误返回 429,其他上游生成失败返回 502,并保留原始错误信息,便于容量重试和故障诊断。
  • 真正的本地响应转换错误仍返回 422,避免隐藏 StackFerry 自身的格式处理问题。

请求日志筛选

  • 失败类型筛选现在只匹配请求最终记录的失败类型。
  • 最终状态为 200 的故障转移成功请求不会再被计入失败类型筛选结果。
  • 路由轨迹仍保留在请求详情和导出日志中,用于查看请求过程中的历史供应商尝试。

English

Responses Error Handling

  • Responses failures or cancellations returned inside a successful HTTP response are now treated as upstream errors instead of being misreported as 422 request-format errors.
  • Upstream rate-limit errors return 429, while other upstream generation failures return 502 with the original error message preserved for retry and diagnosis.
  • Genuine local response transformation errors remain 422 so StackFerry processing problems are still distinguishable.

Request Log Filtering

  • Failure-type filters now match only the final failure classification stored for each request.
  • Requests that finish with HTTP 200 after failover no longer appear in failure-type results.
  • Route traces remain available in request details and exports for inspecting earlier provider attempts.

Commits

  • fix(usage): correct upstream errors and failure filters(d4b9004c) @Ninthless

StackFerry v0.1.13

Choose a tag to compare

@github-actions github-actions released this 08 Aug 12:12

简体中文

请求详情稳定性

  • 请求列表打开详情时保留已加载的日志快照,后台同步或重建会话用量后仍能查看刚点击的记录。
  • 详情查询找不到实时记录时回退到列表快照,避免正常点击后显示“请求未找到”。
  • 加载、未找到和正常详情状态均提供可用的关闭按钮,Escape 也可以关闭详情。

故障转移与请求诊断

托盘交互

  • 左键单击托盘图标不再弹出菜单。

  • 左键双击托盘图标直接打开并聚焦主界面。

  • 右键单击托盘图标打开托盘菜单。

  • Codex 和 Grok Build 遇到上游容量错误时,多供应商路由会立即切换到下一个供应商;仅配置单个供应商时才执行有限的同供应商重试。

  • 每个请求会记录供应商尝试顺序、开始时间、耗时、状态码、失败类型与错误信息,便于区分上游故障、客户端或配置问题、StackFerry 处理错误及路由可用性问题。

  • 请求详情新增路由诊断时间线、首个有效输出耗时和诊断归属。

日志筛选与导出

  • 请求日志筛选项现在根据所选时间范围内的真实数据生成,并显示状态码与失败类型数量。
  • 失败类型筛选会检查完整路由轨迹,因此故障转移后成功的请求仍可按之前发生的上游错误检索。
  • 请求日志可按当前筛选条件导出详细 CSV,包括模型、延迟、Token、成本、诊断归属、错误信息和完整路由轨迹。
  • 高级设置中的应用诊断日志新增日志预览、目录快捷入口,以及包含轮转日志、崩溃日志和环境清单的 ZIP 诊断包导出。

诊断归属基于结构化错误、状态码和路由轨迹推断。对于缺少结构化证据的旧日志,StackFerry 会保守地标记为暂时无法确定。

English

Request Detail Stability

  • Request details retain the selected log snapshot, so records remain viewable while background session synchronization or rebuilding replaces database rows.
  • When the live detail query no longer finds the record, the panel falls back to the selected row instead of showing a false “request not found” result.
  • Loading, empty, and normal detail states all provide a working close button, and Escape closes the panel.

Tray Interaction

  • A left click on the tray icon no longer opens the menu.
  • A left double-click opens and focuses the main window.
  • A right click opens the tray menu.

Failover and Request Diagnostics

  • Codex and Grok Build requests now fail over immediately to the next provider on upstream capacity errors when multiple providers are available. Limited same-provider retries are retained for single-provider routes.
  • Each request records provider attempt order, start time, duration, status, failure classification, and error details to distinguish upstream failures, client or configuration issues, StackFerry processing errors, and routing availability problems.
  • Request details now include a route timeline, first meaningful output latency, and diagnostic ownership.

Log Filtering and Export

  • Request log filters are generated from the records in the selected time range and include counts for observed status codes and failure types.
  • Failure filtering inspects the complete route trace, so requests recovered by failover remain searchable by earlier upstream failures.
  • Filtered request logs can be exported as detailed CSV files with model, latency, token, cost, diagnostic ownership, error, and route-trace fields.
  • Application diagnostic logs in Advanced Settings now provide a tail preview, a log-folder shortcut, and ZIP diagnostics containing rotated application logs, crash logs, and an environment manifest.

Diagnostic ownership is inferred from structured errors, status codes, and route traces. Older records without sufficient evidence are conservatively marked as undetermined.


Commits

  • chore(release): prepare v0.1.13(1d755fc9) @Ninthless
  • fix(usage): keep request details available(342daa1e) @Ninthless

StackFerry v0.1.12

Choose a tag to compare

@github-actions github-actions released this 08 Aug 08:20

简体中文

故障转移与请求诊断

托盘交互

  • 左键单击托盘图标不再弹出菜单。

  • 左键双击托盘图标直接打开并聚焦主界面。

  • 右键单击托盘图标打开托盘菜单。

  • Codex 和 Grok Build 遇到上游容量错误时,多供应商路由会立即切换到下一个供应商;仅配置单个供应商时才执行有限的同供应商重试。

  • 每个请求会记录供应商尝试顺序、开始时间、耗时、状态码、失败类型与错误信息,便于区分上游故障、客户端或配置问题、StackFerry 处理错误及路由可用性问题。

  • 请求详情新增路由诊断时间线、首个有效输出耗时和诊断归属。

日志筛选与导出

  • 请求日志筛选项现在根据所选时间范围内的真实数据生成,并显示状态码与失败类型数量。
  • 失败类型筛选会检查完整路由轨迹,因此故障转移后成功的请求仍可按之前发生的上游错误检索。
  • 请求日志可按当前筛选条件导出详细 CSV,包括模型、延迟、Token、成本、诊断归属、错误信息和完整路由轨迹。
  • 高级设置中的应用诊断日志新增日志预览、目录快捷入口,以及包含轮转日志、崩溃日志和环境清单的 ZIP 诊断包导出。

诊断归属基于结构化错误、状态码和路由轨迹推断。对于缺少结构化证据的旧日志,StackFerry 会保守地标记为暂时无法确定。

English

Tray Interaction

  • A left click on the tray icon no longer opens the menu.
  • A left double-click opens and focuses the main window.
  • A right click opens the tray menu.

Failover and Request Diagnostics

  • Codex and Grok Build requests now fail over immediately to the next provider on upstream capacity errors when multiple providers are available. Limited same-provider retries are retained for single-provider routes.
  • Each request records provider attempt order, start time, duration, status, failure classification, and error details to distinguish upstream failures, client or configuration issues, StackFerry processing errors, and routing availability problems.
  • Request details now include a route timeline, first meaningful output latency, and diagnostic ownership.

Log Filtering and Export

  • Request log filters are generated from the records in the selected time range and include counts for observed status codes and failure types.
  • Failure filtering inspects the complete route trace, so requests recovered by failover remain searchable by earlier upstream failures.
  • Filtered request logs can be exported as detailed CSV files with model, latency, token, cost, diagnostic ownership, error, and route-trace fields.
  • Application diagnostic logs in Advanced Settings now provide a tail preview, a log-folder shortcut, and ZIP diagnostics containing rotated application logs, crash logs, and an environment manifest.

Diagnostic ownership is inferred from structured errors, status codes, and route traces. Older records without sufficient evidence are conservatively marked as undetermined.


Commits

  • chore(release): prepare v0.1.12(72000d1b) @Ninthless
  • fix(tray): keep left clicks from opening the menu(5e2b7499) @Ninthless

StackFerry v0.1.11

Choose a tag to compare

@github-actions github-actions released this 08 Aug 05:07

简体中文

故障转移与请求诊断

  • Codex 和 Grok Build 遇到上游容量错误时,多供应商路由会立即切换到下一个供应商;仅配置单个供应商时才执行有限的同供应商重试。
  • 每个请求会记录供应商尝试顺序、开始时间、耗时、状态码、失败类型与错误信息,便于区分上游故障、客户端或配置问题、StackFerry 处理错误及路由可用性问题。
  • 请求详情新增路由诊断时间线、首个有效输出耗时和诊断归属。

日志筛选与导出

  • 请求日志筛选项现在根据所选时间范围内的真实数据生成,并显示状态码与失败类型数量。
  • 失败类型筛选会检查完整路由轨迹,因此故障转移后成功的请求仍可按之前发生的上游错误检索。
  • 请求日志可按当前筛选条件导出详细 CSV,包括模型、延迟、Token、成本、诊断归属、错误信息和完整路由轨迹。
  • 高级设置中的应用诊断日志新增日志预览、目录快捷入口,以及包含轮转日志、崩溃日志和环境清单的 ZIP 诊断包导出。

诊断归属基于结构化错误、状态码和路由轨迹推断。对于缺少结构化证据的旧日志,StackFerry 会保守地标记为暂时无法确定。

English

Failover and Request Diagnostics

  • Codex and Grok Build requests now fail over immediately to the next provider on upstream capacity errors when multiple providers are available. Limited same-provider retries are retained for single-provider routes.
  • Each request records provider attempt order, start time, duration, status, failure classification, and error details to distinguish upstream failures, client or configuration issues, StackFerry processing errors, and routing availability problems.
  • Request details now include a route timeline, first meaningful output latency, and diagnostic ownership.

Log Filtering and Export

  • Request log filters are generated from the records in the selected time range and include counts for observed status codes and failure types.
  • Failure filtering inspects the complete route trace, so requests recovered by failover remain searchable by earlier upstream failures.
  • Filtered request logs can be exported as detailed CSV files with model, latency, token, cost, diagnostic ownership, error, and route-trace fields.
  • Application diagnostic logs in Advanced Settings now provide a tail preview, a log-folder shortcut, and ZIP diagnostics containing rotated application logs, crash logs, and an environment manifest.

Diagnostic ownership is inferred from structured errors, status codes, and route traces. Older records without sufficient evidence are conservatively marked as undetermined.


Commits

  • chore(release): prepare v0.1.11(82615c93) @Ninthless
  • test(usage): cover request log diagnostics(514b0e79) @Ninthless
  • feat(usage): add actionable log diagnostics(67d15ebd) @Ninthless
  • feat(proxy): add structured request diagnostics(d93eeb7e) @Ninthless

StackFerry v0.1.10

Choose a tag to compare

@github-actions github-actions released this 08 Aug 02:19

简体中文

托盘快捷打开

  • Windows 用户现在可以左键双击系统托盘图标,直接打开并聚焦 StackFerry 主界面。
  • 如果主窗口已最小化或隐藏,双击会恢复并显示窗口。
  • 如果应用处于轻量模式,双击会退出轻量模式并重建主窗口。

兼容性与回归保护

  • 双击行为复用现有“打开主界面”托盘命令,窗口恢复、Linux 聚焦修复和 macOS 激活策略保持一致。
  • 原有右键菜单、左键菜单和托盘用量刷新行为保持不变。

Tauri 当前仅在 Windows 上提供托盘双击事件,因此本次快捷操作仅适用于 Windows。

English

Tray Double-Click

  • Windows users can now left-double-click the system tray icon to open and focus the StackFerry main window.
  • A minimized or hidden main window is restored and shown.
  • When lightweight mode is active, double-clicking exits lightweight mode and recreates the main window.

Compatibility and Regression Coverage

  • The double-click path reuses the existing tray command for opening the main window, preserving window restoration, Linux focus handling, and macOS activation behavior.
  • Existing context-menu, left-click menu, and tray usage-refresh behavior remains unchanged.

Tauri currently emits tray double-click events on Windows only, so this shortcut is Windows-specific.


Commits

  • chore(release): prepare v0.1.10(90c3f72b) @Ninthless