Skip to content

Releases: dttxorg/MiniClarc

Clarc v2.6.2

Choose a tag to compare

@dttxorg dttxorg released this 15 Jun 17:48

MiniClarc 2.6.2

v2.6.1 audit fixes

This release fixes verified regressions from the v2.6.1 audit.

Fixed

  • Removed the phase LLM summary pipeline that could keep work alive after chat/window transitions and cause unwanted extra windows or background activity.
  • Added a duplicate project-window guard so opening the same project window focuses the existing window instead of creating another one.
  • Replaced the silent 200-turn display cap with explicit Show earlier turns / Hide earlier turns controls.
  • Fixed focus mode filtering for compacted original messages.
  • Added visible error handling for manual context compact failures.
  • Reset project-window state when a project window closes.
  • Stabilized orphan turn identity and fixed phase comparison edge cases.
  • Fixed JSONPath parsing and lookup regressions.

Installation

  1. Download Clarc-2.6.2.dmg.

  2. Double-click the DMG to mount it.

  3. Drag MiniClarc.app into /Applications.

  4. Before first launch, clear the macOS quarantine flag because this build is ad-hoc signed:

    xattr -dr com.apple.quarantine /Applications/MiniClarc.app
  5. Launch MiniClarc from Launchpad or Finder.

Notes

  • This build is ad-hoc signed and is not Developer ID notarized.
  • All v2.6.0 folding work remains, but the v2.6.1 per-phase LLM summary feature has been removed.

Clarc v2.6.1

Choose a tag to compare

@dttxorg dttxorg released this 15 Jun 11:44

MiniClarc 2.6.1

流式心跳指示器 + 每阶段 LLM 总结

v2.6.0 引入了 Codex 式阶段折叠。v2.6.1 解决两个后续体验问题:生成回复时不知道它在不在干活,以及阶段总结质量

新增:流式心跳指示器

之前生成回复时只有"正在生成回复…"+一个时间,长时间没文字输出时完全不知道进程是不是卡死了。现在指示器根据当前状态显示不同文案 + 跳动计数器(像 codex 跳数字):

  • 思考中 → "思考中…" + "思考 X.Xs"(实时跳动)
  • 运行工具 → "运行 Edit…" + "已运行 N 个工具"
  • 生成文本 → "正在生成回复…" + "N 字符"(字符数跳动,证明在产出)
  • 等待中(等权限等) → "等待中…" + "已运行 N 个工具"

计数器本地以 4Hz 刷新,即使 CLI 暂时没有新 delta 也能看到"活着"的证据。

新增:每阶段 LLM 总结

v2.6.0 的阶段标题在有 taskUpdate 时用 Claude 自己写的标题,没有时回退成"N tools · 首句"——后者信息量低。v2.6.1 给每个完成的阶段生成一句 LLM 总结:

  • 默认模型(不降级 haiku)做一次性 claude -p 总结调用,产出 ≤20 词的一句话。
  • .result(turn 结束)后后台批量生成,失败静默降级。
  • 阶段卡片头部和折叠态的轮次预览优先显示 LLM 总结,没有时回退到派生标题。
  • 新增 PhaseSummaryStore 缓存(pending/failed 去重),避免同一阶段重复调用。

安装步骤

  1. 下载 Clarc-2.6.1.dmg
  2. 双击挂载
  3. MiniClarc.app 拖到 /Applications
  4. 打开 Terminal,运行(去除 macOS 隔离标记,因本构建为 ad-hoc 签名):
    xattr -dr com.apple.quarantine /Applications/MiniClarc.app
  5. 启动台点 MiniClarc → 弹"无法打开"→ 点"打开"

下载

Clarc-2.6.1.dmg

备注

  • 本构建为 ad-hoc 签名(未 Developer ID 公证),首次打开需上面的 xattr 命令。
  • v2.6.0 的全部改动(折叠修复 + 阶段折叠)保留。

MiniClarc v2.6.0 — 对话折叠重做 + Codex 式阶段折叠

Choose a tag to compare

@dttxorg dttxorg released this 15 Jun 06:25

MiniClarc 2.6.0

对话折叠重做 + Codex 式阶段折叠

这是本次发布的核心。之前折叠功能有两个老问题,本次一起修掉并引入 Codex 风格的阶段折叠。

修复

  • 「折叠较早消息」设置失效修复:Settings 里的 8/15/30/Off 选项写入 foldThreshold 后被代码完全忽略(折叠规则硬编码为"只有最后一轮展开"),改设置毫无效果。本次移除这个无效的设置项及其全部死代码(foldThresholdfoldToggleButtonisOlderCollapsedmessageRows)。
  • 最后一轮折叠箭头失效修复:点最后一轮的 ▼ 想收起它时,因为 toggle 逻辑用了错误的默认值,点击没有反应。现在基于实际渲染状态翻转,可正常收起/展开。
  • 会话切换折叠状态残留修复:切走再切回一个会话时,上一会话的 per-turn 展开/收起标记会串过来。现在切换会话时清空 collapseOverrides

新增:Codex 式阶段折叠

折叠态不再显示一句 50 字的文本预览(把整段过程和阶段卡片全抹掉),而是显示阶段标题列表——每个阶段一行:状态图标(✓ 已完成 / ⟳ 进行中 / ✗ 失败)+ 标题 + 时长。展开 turn 后,每个阶段是独立的可折叠块,展开看工具调用 / 思考 / 文本详情,收起只显示阶段头。

  • 阶段边界:taskUpdate 块关闭当前阶段并提供标题/状态/时长(这是 LLM 主动发出的"我完成了这坨工作"信号)。
  • 回退:LLM 没发 taskUpdate 时,按工具调用序列 + 首句文本派生阶段标题(如 "4 tools · 重构 turn 折叠…"),纯文本回复退化为单阶段。
  • 默认展开规则(与 TaskProgressStore 一致):进行中 / 失败的阶段默认展开,已完成的阶段默认折叠。
  • 保留每轮箭头和「全部折叠」工具栏按钮。

效果:折叠的 turn 仍能一眼看清"这一轮做了什么",不再"一轮之后做了什么完全不知道"。

安装步骤

  1. 下载 Clarc-2.6.0.dmg
  2. 双击挂载
  3. MiniClarc.app 拖到 /Applications
  4. 打开 Terminal,运行(去除 macOS 隔离标记,因为本构建是 ad-hoc 签名):
    xattr -dr com.apple.quarantine /Applications/MiniClarc.app
  5. 启动台点 MiniClarc → 弹"无法打开"→ 点"打开"

下载

Clarc-2.6.0.dmg

备注

  • 本构建为 ad-hoc 签名(未 Developer ID 公证),首次打开需上面的 xattr 命令。这是与 v2.5.4 一致的发布方式。
  • v2.5.4 的全部 32 个 H bug 修复保留。

Clarc v2.5.4

Choose a tag to compare

@dttxorg dttxorg released this 05 Jun 05:39

Clarc 2.5.4

修复 Gatekeeper "文件已损坏" 问题

v2.5.3 dmg 是完全未签名的,macOS Sequoia Gatekeeper 会弹"已损坏,请移到废纸篓"。v2.5.4 修复:

  • .appcodesign --sign - 加上 ad-hoc 签名
  • dmg 本身也 ad-hoc 签名
  • dmg 内附 MiniClarc.app/Contents/Resources/Install-Help.txt 提示用户首次打开前运行:
    xattr -d com.apple.quarantine /Applications/MiniClarc.app
    # 然后右键 MiniClarc.app → 打开

安装步骤

  1. 下载 Clarc-2.5.4.dmg(11.4MB)
  2. 双击挂载
  3. MiniClarc.app 拖到 /Applications
  4. 打开 Terminal,运行:
    xattr -d com.apple.quarantine /Applications/MiniClarc.app
  5. 启动台点 MiniClarc → 弹"无法打开"→ 点"打开"

下载

Clarc-2.5.4.dmg

v2.5.3 → v2.5.4 改动

仅 dmg 签名修复(代码 0 改动)。所有 v2.5.3 的 32 个 H bug 修复保留。

Clarc v2.5.3

Choose a tag to compare

@dttxorg dttxorg released this 05 Jun 05:31

Clarc 2.5.3

Bug fixes (32 high-severity)

Data loss / crash

  • H-01: streamingTail force-unwrap crash in handlePartialEvent
  • H-02: applyCompaction now persists compacted history to disk
  • H-07: MainView selectedProject force-unwrap replaced with safe binding
  • H-08: SlashCommandManagerView command! force-unwrap replaced with optional binding
  • H-09: TerminalProcess marked @mainactor (Swift 6 concurrency + race fix)
  • H-10: NSAlert replaced with SwiftUI .alert (URL field now gets focus)
  • H-11: InspectorMemoPanel MemoContext now uses @bindable for toolbar re-render

Security

  • H-14: find long-form flags (--delete / --exec / --fprint / ...) now blocked
  • H-15: git global flags (--no-pager / -C / -c) skipped when locating subcommand
  • H-19: bash_allowlist decode failure now backs up to .corrupted-.json
  • H-21: GitHub pinned keys now include RSA
  • H-22: forkSession regex no longer rewrites nested sessionId
  • H-28: parseGitHubOwnerRepo uses URL parsing, rejects evil.com/?ref=github.com/...
  • H-31: FileManager.urls(...).first! replaced with guard let
  • H-32: NWListener .cancelled state now calls cancel()

Resource / lifecycle

  • H-12, H-13: Timer.publish leak fixed in 3 view files (now Task + sleep loop)
  • H-16: ClaudeService spawn failure closes all pipe FDs
  • H-17: claude.cleanup() and permission.stop() now called from applicationWillTerminate
  • H-23: sniffCache has 1000-entry LRU cap
  • H-25: PickerExposer now tail-merges CLI appends during rename window
  • H-26: PickerExposer single atomic rename (no more double-rename)
  • H-27: GitHelper drains stderr in background Task (no more 64KB pipe deadlock)

State machine

  • H-03: selectProject persists per-session model/effort/permissionMode to sidecar
  • H-04: releaseOutgoingSession rejects placeholder ids
  • H-05: SessionMetaStore.save cache now updates AFTER disk write succeeds
  • H-06: placeholder pending- cleanup in selectProject / startNewChat / restart
  • H-18: ClaudeService.cancel SIGKILL is cancellable, verifies pid is still ours
  • H-24: forkSession Date matching uses ms-rounded + uuid tiebreaker
  • H-29: JSONPathParser error offsets no longer always 0
  • H-30: SettingsView hard-coded labels moved to String(localized:)

Download

Clarc-2.5.3.dmg(11.4MB, unsigned)

v2.5.2 → v2.5.3 改动

仅 bug 修复;turn-block 折叠、context compaction 等功能不变。

Clarc v2.5.2

Choose a tag to compare

@dttxorg dttxorg released this 04 Jun 15:08

Clarc 2.5.2

Bug fixes

turn-block 折叠默认规则

  • 之前:所有 turn 默认折叠(包括"新出现的对话"),需要手动点 ▶ 展开
  • 现在:只有最新的一条 turn 展开,其余全部折叠
  • 新 user 消息到来时:上一轮(原 last)自动折叠
  • 用户手动点 ▶ / ▼ 切换的 turn 会保留选择(通过 collapseOverrides 跟踪)
  • 工具栏 "全部折叠 / 全部展开" 仍然有效(force 优先级最高)

下载

Clarc-2.5.2.dmg(11MB,未签名)

安装步骤

  1. 下载 dmg
  2. 双击挂载,把 MiniClarc.app 拖到 /Applications
  3. 首次打开:右键 → Open(绕过 Gatekeeper)
  4. 启动后:选个 project,发 user 消息 → 看到 1 个 turn 展开
  5. 再发一条 → 上一条自动折叠,新一条展开
  6. 测试 compaction:点工具栏的 Compact 按钮

v2.5.1 → v2.5.2 改动

仅 turn-block 默认折叠规则;v2.5.1 的所有功能(turn 折叠、context compaction)保留。

Clarc v2.5.1

Choose a tag to compare

@dttxorg dttxorg released this 04 Jun 14:52

Clarc 2.5.1

主要功能

Turn-block 折叠(替换 phase fold)

  • 每一轮 user + assistant 配对为一个可折叠的 turn
  • 历史 turn 默认折叠,显示 30/50 字省略号预览
  • 当前进行中的 turn 始终展开
  • ▶/▼ 箭头切换,隐式动画
  • 工具栏一键全部折叠 / 全部展开
  • 完全替换 v2.4.3 的 PhaseSummaryCard 抽象(简化数据结构)

Context compaction(对话摘要压缩)

  • 工具栏 Compact 按钮或自动 trigger(默认 100k token 阈值)
  • claude -p --system-prompt "..." --resume <sid> 通道让 LLM 总结历史
  • Session JSONL 改写为精简历史,节省后续 token
  • UI 通过内存 snapshot 保留原始全部内容,显示 Compact banner
  • Banner 显示压缩时间、消息数、token 节省量,summary 可展开

安装

  1. 下载 Clarc-2.5.1.dmg
  2. 双击挂载,把 MiniClarc.app 拖到 /Applications
  3. 首次启动: 右键 → 打开(因为未签名,Gatekeeper 会拦截)
  4. 启动后 Settings → "Fold older messages" 可调折叠阈值(默认 8)
  5. 自动 trigger: Settings 里 autoCompactThreshold 默认 100k,改为 0 禁用

注意事项

  • 未签名 / 未 notarize: 仅供个人测试,machine 第一次打开需右键 Open
  • 不支持跨设备分发: 测试用,不要发给别人
  • v2.4.x 自动更新不会推送此版本(走的是 Sparkle + 签名 + notarize 通道)

已知行为

  • 首次 compact 后,banner 一直显示直到 session 删除(压缩是累积的,反复压缩会丢越来越多原始内容 —— 后续会加 UI 开关让用户"重置 compact")
  • /compact slash 命令没注册(走工具栏按钮;slash bar 后续可接)
  • autoCompactThreshold 是全局设置(不走 WindowState per-window mirror)

MiniClarc v2.4.4

Choose a tag to compare

@dttxorg dttxorg released this 04 Jun 12:13

v2.4.4 — phase 卡片展开修复

修复

  • 展开 phase 卡片是「假数据」bug: 之前 PhaseSummaryCard 展开后只显示 1 个 MessageBubble(仅助理消息的 id),turn 真实内容(user 提问、thinking 块、tool calls、tool results)被丢失。\n\n 根因: AppState.makePhaseSummary 内部 messageIDs: [message.id] 存了单元素数组(line 1404),且 chatWithPhases.first(where:) 只取一条。\n\n 修复: makePhaseSummary 接收新增的 turnMessageIDs: [UUID] 参数,存整个 turn 在 streamingTail.messages 里累积的所有 message id。chatWithPhases 改用 enumerated().filter() 保留原始顺序(user → assistant → tool results 自上而下)。PhaseSummaryCard.message: ChatMessage 改为 messages: [ChatMessage],展开 body 改为 ForEach(messages) { MessageBubble(message: $0) }

多轮折叠行为确认(用户已问)

  • 每轮对话 → 1 张 phase 卡片(从第二轮开始)\n- 每张卡片可独立展开/折叠(自己的 @State var isExpanded)\n- 展开后看到整个 turn 的完整内容: user 提问 + 多个 assistant 子消息 + tool results\n- 几轮对话就有几张 phase 卡片,可以按轮次审计\n\n### 验证
hdiutil attach MiniClarc-2.4.4-arm64.dmg
xattr -dr com.apple.quarantine /Volumes/MiniClarc\ 2.4.4/MiniClarc.app
open /Volumes/MiniClarc\ 2.4.4/MiniClarc.app
```\n\n未签名未公证。

MiniClarc v2.4.3

Choose a tag to compare

@dttxorg dttxorg released this 04 Jun 10:51

v2.4.3 — phase 模式折叠恢复 + 虚拟化

修复

  • phase 模式下折叠按钮不工作: 之前只要 chatBridge.phaseSummaries 不为空(任何一次 assistant 回合完成),代码就走 Codex 风格的 chatWithPhases 路径,完全隐藏了「折叠前 N 条消息」按钮。本版本让折叠按钮在 phase 模式也显示 — 跟 legacy 模式行为一致。点击展开/收起早期 phase。
  • 「一键全折叠 phase」按钮: 状态栏(StatusLineView)新增「Collapse all phases」开关。点击时所有 PhaseSummaryCard 临时收起(不修改各自的 isExpanded 状态),再点击恢复。切 session 自动重置。禁用条件:无 phase summary 时按钮灰掉。
  • 几百条 phase 后窗口卡顿: chatWithPhases 内部加 100 phase 的虚拟化 cap。超过 100 phase 的 session 只渲染最近 100 个。避免一次 inflate 几百个 MessageBubble + PhaseSummaryCard 导致主线程打满。

验证

hdiutil attach MiniClarc-2.4.3-arm64.dmg
xattr -dr com.apple.quarantine /Volumes/MiniClarc\ 2.4.3/MiniClarc.app
open /Volumes/MiniClarc\ 2.4.3/MiniClarc.app

未签名未公证(本机无 Apple Developer ID)。

MiniClarc 2.4.2

Choose a tag to compare

@dttxorg dttxorg released this 03 Jun 17:51

MiniClarc — 中文社区增强版

This build is produced by the dttxorg/MiniClarc
hard-fork distribution. It is not an official upstream Clarc release; it
is independently maintained under the same Apache License 2.0. See
FORK.md and
NOTICE in the
source tree for the full attribution.

What's in this build

  • All upstream Clarc features carried forward.
  • Full Access permission mode (auto-approves every tool call).
  • Phase-based auto-collapse for completed thinking / tool_use /
    tool_result blocks (final text response stays expanded).
  • Configurable fold threshold for long chat histories (8 / 15 / 30 / Off).
  • Focus Mode fix — no more frozen chat view when focus mode is on.
  • i18n — PermissionModal countdown, fold threshold picker, phase labels,
    and permission descriptions localized in en / zh-Hans / ko.

Install

  1. Download Clarc-2.4.2.zip below.
  2. Unzip and drag MiniClarc.app to /Applications.
  3. On first launch, right-click MiniClarc.appOpen → confirm the
    Gatekeeper prompt (the build is ad-hoc signed, not notarized with
    an Apple Developer ID).
  4. After the first launch, normal double-click works.
  5. The bundle id is com.dttxorg.MiniClarc, distinct from upstream
    com.idealapp.Clarc. The two can coexist on the same Mac.

Caveats

  • Sparkle SUPublicEDKey is empty in v2.0.0. Update checks still work,
    but signatures are not yet verified. Download only from this fork's
    Releases page; do not trust third-party mirrors.
  • No Apple notarization. macOS Gatekeeper will require the
    right-click-open workaround on every fresh install.
  • This distribution does not track upstream releases 1:1. If you need a
    specific upstream feature, file an issue on dttxorg/MiniClarc.

Full Changelog: v2.3.0...v2.4.2