cruldra
|
37306bd23e
|
🐛 fix(vscode): 代码阅读预览记住浏览位置,编辑 / 预览互切位置对齐
|
2026-09-25 03:21:14 +08:00 |
|
cruldra
|
6897954644
|
✨ feat(vscode): 条件表达式按「如果…则…否则…」翻译
|
2026-09-25 03:19:42 +08:00 |
|
cruldra
|
d134837c17
|
✨ feat(vscode): 代码阅读关键字按语境翻译
|
2026-09-25 01:58:07 +08:00 |
|
cruldra
|
5ce016ba86
|
🐛 fix(vscode): Python 的 from 译成「从」
|
2026-09-25 01:51:03 +08:00 |
|
cruldra
|
2b823a32ca
|
✨ feat(vscode): 代码阅读入口、文件树与预览编辑器
|
2026-09-24 21:36:00 +08:00 |
|
cruldra
|
4d34b8c715
|
✨ feat(vscode): 代码阅读的解析与模板直译核心
|
2026-09-24 21:16:21 +08:00 |
|
cruldra
|
d604b6f426
|
✨ feat(vscode): 五种会话 id 行都能用橡皮擦清除本机记录,别的机器上的旧会话不再挡着新起
|
2026-09-24 19:29:39 +08:00 |
|
cruldra
|
bf4661e364
|
🐛 fix(vscode): 别的机器上开的会话在本机没有会话文件时,会话 id 行置灰不可双击,不再 resume 报错
|
2026-09-24 19:22:29 +08:00 |
|
cruldra
|
961a4e9756
|
🐛 fix(vscode): 审查意见等多行消息发进会话后自动提交,不再只停在输入框
|
2026-09-24 16:09:11 +08:00 |
|
cruldra
|
7888d15a38
|
🐛 fix(vscode): profiles.json 在外部被改动后 Profile tab 实时刷新
|
2026-09-24 15:33:25 +08:00 |
|
cruldra
|
fb122b76ce
|
✨ feat(vscode): 同事改工单所在列、开关工单时,本机看板实时跟着动
此前只有新建工单、改标题、改指派会实时上卡;列变化存在 state JSON 评论里,
而 issue_comment 处理只认带 spx:review 标识的审查评论,别人拖卡这边毫无反应,
issues closed/reopened 也没接。抽出 refreshIssueCard 作为统一刷卡入口:重拉
该工单、叠加本机运行态、按 mine 可见性门禁决定上卡还是撤卡,只刷 UI,不写
远端状态也不起会话,观察者机器执行同样安全。state 评论(解析出 column)与
工单开关都接到这个入口上。
|
2026-09-21 00:37:04 +08:00 |
|
cruldra
|
73f2c3ec66
|
🐛 fix(vscode): 完成列缺 PR 合并时间时按工单关闭时间排序
没走 PR 流程、直接关掉的工单没有 merged_at,原先一律排在所有已合并
工单之后,在上百张卡的完成列里等于永远看不见。loader 把 Gitea issue
的 closed_at 带进 Issue,完成列排序缺 prMergedAt 时回退到它,让两类
工单落在同一条时间线上。
|
2026-09-20 17:23:25 +08:00 |
|
cruldra
|
0b85b9868b
|
🧹 chore(vscode): 删掉 cutRelease 换签名后残留的旧注释
|
2026-09-17 17:58:12 +08:00 |
|
cruldra
|
17570749dd
|
✨ feat(vscode): 同一天再切发布直接把 main 新提交推进到当天分支,不再另起编号分支
|
2026-09-17 17:57:47 +08:00 |
|
cruldra
|
936097757b
|
🐛 fix(vscode): 同一天再切发布分支自动编号 .2 / .3,不再报已存在
|
2026-09-17 17:52:26 +08:00 |
|
cruldra
|
2b02da27e7
|
🐛 fix(vscode): 导入原型插件时总是重启 Figma
插件已经在 Figma 清单里时原先只是把 Figma 拉到前台,而 Figma 把插件代码
缓存在进程里,改完原型点按钮看到的还是上一版 code.js。现在不管清单里有没有,
只要 Figma 在跑就先关掉再拉起,让它重新读盘。
Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
|
2026-09-15 01:03:29 +08:00 |
|
cruldra
|
7bac5c8b03
|
✨ feat(vscode): 七份提示词统一走 Handlebars,头脑风暴三档合一
- 模板引擎换成 Handlebars(noEscape,提示词是纯文本不能被转义),单花括号写法彻底退场
- brainstorm-continue / brainstorm-continue-prototype 两份并进 brainstorm.md,
用 {{#if issueNumber}} 分新建 / 续聊,续聊里用 {{#if prototypeFile}} 嵌原型段落,
设置面板对应的两个 textarea 一并删掉
- 模板上下文 = 工单 state JSON 全量字段 + issueNumber / userRequest / nonce /
planFile / prNumber / prRef,以后模板想用新字段不用改扩展代码
- 各会话入口共用一条 state 读取路径,读失败只记 warn 按空状态继续,不拦开会话
- 升级后首次启动把存量自定义提示词迁到双花括号并合并成一份,改写前把
settings.json 备份成 settings.json.bak-<时间戳>,迁移动作全写日志
- 装 handlebars 时给 vsce 传递依赖的老 semver 加 trustPolicyExclude 豁免,
否则 no-downgrade 策略卡住整个装包
Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
|
2026-09-15 00:44:28 +08:00 |
|
cruldra
|
43a0bf6bad
|
♻️ refactor(vscode): 续聊里的原型段落搬进模板文件
那段正文原先拼在 prompts.ts 里,设置面板看不到也改不了。现在落到
prompts/brainstorm-continue-prototype.md,面板「提示词」组多一项「续聊·原型段落」,
占位符 {prototypeFile} / {issueNumber} / {prototypeSessionId};取值为空的整行会被
删掉,免得留下半句没有值的说明。
同时把措辞收紧:原型改动只能 ListAgents + SendMessage 给已开着的原型会话,
点名禁止派子代理 / fork 分身 / 自己动插件代码。
Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
|
2026-09-15 00:28:58 +08:00 |
|
cruldra
|
f9537abf97
|
🐛 fix(vscode): 续聊提示词禁止用子代理顶替原型会话
上一版只说「用会话交流技能」,规划会话理解成派个 fork 分身去改原型——分身
没有原型上下文,还会和真正的原型会话抢同一份插件代码。改成点名禁止 Agent
子代理 / fork / 后台代理,只允许 ListAgents + SendMessage 给已开着的原型会话,
找不到就停下来让用户起一个。
Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
|
2026-09-15 00:26:56 +08:00 |
|
cruldra
|
0792c9262d
|
✨ feat(vscode): 续聊提示词告诉规划会话怎么找原型会话
讨论里发现原型要改时,规划会话既不该自己动插件代码,也不该去翻 git log 猜
会话 id。提示词现在带上原型会话 id 和终端名,并指明走 spawning-peer-sessions
技能 SendMessage 过去;没有活会话就停下让用户从面板起一个。
Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
|
2026-09-15 00:16:22 +08:00 |
|
cruldra
|
142af57d9d
|
✨ feat(vscode): 工单挂原型插件,详情面板一键导入 Figma
- prototypeFile 走通 state → Issue → webview 全链路(gitea/youtrack 两个
loader、两份 KNOWN_STATE_FIELDS、issue/patch、webview types),按 planFile
同款当共享字段;路径校验换成 .json 版,允许绝对路径
- 详情面板「计划文件」下加「原型插件路径」行:双击开 manifest.json,
行尾按钮「在 Figma 中导入并打开」;没挂插件时只显示空态
- src/figma/:把 manifest 写进 Figma 桌面版的 localFileExtensions 再拉起
Figma。坑是 Figma 退出会用内存状态覆盖 settings.json,所以写之前先
osascript 优雅退出并轮询等它真没了(10s 等不到就让用户手动关,不强杀);
写前备份 settings.json.bak-<时间戳>;已导入过就跳过写入直接打开;
非 macOS 只把路径复制到剪贴板
- webhook 里 spec/plan 的 marker 同步改成表驱动,顺带认第三种 prototype
- 提示词:prototype.md 要求画完挂 marker;brainstorm-continue.md 新增
{prototypeRef} 占位符,有原型插件时让续聊先读它别从零重画,没有时
连同整段抹掉
Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
|
2026-09-15 00:11:49 +08:00 |
|
cruldra
|
b62e58d739
|
✨ feat(vscode): 新增第五种工单会话「原型会话」
照测试会话那条链路补一份 prototype:
- 消息与路由:session/start-prototype、session/resume-prototype、
issue/update-prototype-profile-path,都进只读门禁
- 会话:handleStartPrototypeSession / handleResumePrototypeSession,
终端名 issue-N-原型;cwd 有 worktree 用 worktree、没有退主仓库根
(原 resolveTestSessionCwd 改名 resolveWorktreeOrRootCwd 两种会话共用)
- 不要求有 PR,任何阶段都能起;前置工单锁仍然拦
- 提示词:新增 prompts/prototype.md,设置里可改,占位符 {issueNumber}
- profile:工单级 prototypeProfilePath > 设置里的原型默认 profile >
内置默认,与其它会话互不回退
- 状态字段 prototypeSessionId / prototypeProfilePath / prototypeTabOpen
贯通 gitea、youtrack、本机 state 与移交包
- 详情面板加「原型会话id」「原型配置文件」两行,设置面板加对应两项
Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
|
2026-09-14 10:20:30 +08:00 |
|
cruldra
|
f946e5cfee
|
✨ feat(vscode): 测试提示词改成可配置模板并带上工单号
启动测试会话原先硬编码发 `/pr-acceptance-testing`,不带目标,验收技能只能
反问要测哪个。现在做成 prompts/test.md 模板 + 设置里的「测试提示词」,占位符
{issueNumber} 和 {prRef}(worktree 里是分支,主仓库里是已合并的 PR)。
Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
|
2026-09-13 13:19:28 +08:00 |
|
cruldra
|
410a04da77
|
✨ feat(vscode): 实施和审查会话行加启动箭头
不用再把卡片拖到「实施中」「审查」列:
- 实施会话id 行在有计划文件且没实施会话时显示 ▶,等同拖进实施中列
- 审查会话id 行在有 PR 时显示 ▶,按 PR 事件那套流程起 codex 审查
Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
|
2026-09-13 10:52:14 +08:00 |
|
cruldra
|
743e0e7325
|
✨ feat(vscode): 会话列表删除前弹确认框
删除会关掉终端 tab 并抹掉列表记录,之前点一下就执行。现在先弹 modal
确认,带上会话名字。
Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
|
2026-09-13 10:45:39 +08:00 |
|
cruldra
|
70b826123c
|
⚡ perf(vscode): 开会话去掉多余远程往返,spinner 跟随真实进度
开会话原先要先全量拉工单(含每张工单的评论、依赖、PR)做前置锁检查,
再各读一次 state JSON 给 pre-create 钩子和终端图标,几秒后才 createTerminal。
- 锁检查改用主进程已算好的工单快照,快照里没有该工单才回落全量拉取
- state JSON 一次读两处用,且提前发起与本地准备重叠
- 会话行 spinner 由扩展的 session/tab-settled 消息驱动,不再是固定 1.5s 假动画,
消息丢失时 60s 超时兜底
Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
|
2026-09-13 10:14:48 +08:00 |
|
cruldra
|
b182e0ac5b
|
✨ feat(vscode): URI 开的会话不再登记进会话管理列表
delegate-fix 等外部方通过 create-session URI 开的一次性会话,
不写入 .spx/session-names.json,也跳过 sessionId 轮询捕获;
面板内手动创建的会话仍照常登记。
Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
|
2026-09-13 10:07:30 +08:00 |
|
cruldra
|
5bfd759822
|
✨ feat(vscode): 头脑风暴会话可清除,悬停提示改窄改紧凑
工单记着的头脑风暴会话 id 此前没有清除入口,续聊只能 resume 旧会话,
把几个版本前的提示词和它当时报的错一起带回来。会话 id 行新增清除按钮,
确认后把 state JSON 的 sessionId 置空,下次续聊新开会话;会话文件不动,
手上有 id 仍可 claude --resume 找回。
悬停气泡此前贴着视口右边测量尺寸:fixed 元素的可用宽度是「视口宽 - left」,
贴边测会被挤窄、行数变多,按那个高度定位就浮高一截。改成先在左上角量再落位,
字号行高收紧,提示文案压成一行。顺带修掉「重置为待办」的错误说明——它会停
会话、删 worktree 和未合并 PR,不是原样保留。
Claude-Session: https://claude.ai/code/session_01REdhpbaNyqWASF2HWsnTFv
|
2026-09-13 09:21:53 +08:00 |
|
cruldra
|
958c59e090
|
✨ feat(vscode): 设置面板可配头脑风暴/实施/测试会话的默认 profile
三类会话的 profile 此前只有工单级字段,留空就硬编码落到 official,
想整体换模型只能一个工单一个工单改。
设置面板新增三个下拉,与冲突解决/提交/改动说明的 profile 选择同区。
解析链路变成:工单级字段 > 对应的全局默认设置 > getDefaultProfilePath(),
三类之间仍互不回退。新建工单的头脑风暴会话也走同一条链路。
Claude-Session: https://claude.ai/code/session_01REdhpbaNyqWASF2HWsnTFv
|
2026-09-13 08:59:56 +08:00 |
|
cruldra
|
518d471b7a
|
🐛 fix(vscode): 提示词对齐 ECC 实际命令,需求文档改走 specs 布局
头脑风暴、实施、审查三套提示词引用的 /ecc:plan-prd、grill-me、
/ecc:tdd-workflow、/review 在 ECC 2.2.15 里都不存在,会话拿到的是一
条无效命令。审查提示词里的 /ecc:review-pr 走 gh,对 Gitea 不可用。
改为 ECC 实际链路:/ecc:grilling 讨论、/ecc:spec 出设计文档、
/ecc:plan 出计划、/ecc:tdd 实施,审查直接派 ecc:code-reviewer 等子代
理审 git diff。文档路径随 ECC 约定改成 .claude/specs/<stem>.md 与
.claude/plans/<stem>.md,stem 两者共用,不再带 .prd.md / .plan.md 后
缀;deriveSlug 相应改成取文件名 stem,通用文件名才退回目录名。
Claude-Session: https://claude.ai/code/session_01REdhpbaNyqWASF2HWsnTFv
|
2026-09-13 08:44:19 +08:00 |
|
cruldra
|
ef0750b4ef
|
🐛 fix(vscode): 刷新按钮加载态可见,图标随重拉转圈
刷新按钮此前只发消息重拉数据,看板已有列表时界面毫无变化,用户
无法判断点击是否生效。消息协议里的 issues/loading 从未被发送。
loadAndPush 现在在开跑前推 issues/loading,并在 finally 里推新增的
issues/loaded,保证成功、报错、缺 token 提前返回都能收尾;webhook
触发的自动重拉同样走这条链路。webview 据此维护 refreshing 状态,
刷新图标转圈并在期间禁用按钮。
Claude-Session: https://claude.ai/code/session_01REdhpbaNyqWASF2HWsnTFv
|
2026-09-13 08:22:38 +08:00 |
|
cruldra
|
9167b86708
|
✨ feat(vscode): 看板默认显示团队工单,同事的卡只读并贴头像
看板范围默认从「只看我的」改为「团队全部」,同事移交或推进的工单不用
手动切开关就能看见。同事的卡片按 Gitea 归属(assignee 优先,无 assignee
退回创建者)判定为只读:禁止拖列、开会话、实施、合并分支、删 worktree、
删改工单,卡片右上角贴归属人头像,详情面板属性表整体消毒并显示只读徽章。
看 PR 改动、勾已查看、生成文件摘要属于本机审查动作,照常放行。
扩展侧在消息分发前统一拦截需要归属人身份的消息,兜住前端快照过期或工单
刚被重新指派的竞态;webhook 单卡上板时同步归属,避免增量卡漏进门禁。
头像由扩展侧带 token 抓回转 data URI 下发,绕开 webview CSP 对外链图片
的限制,按 URL 进程内缓存。
Claude-Session: https://claude.ai/code/session_01KSgcQwf1mWrb8qeTKFvJbV
|
2026-09-10 15:30:02 +08:00 |
|
cruldra
|
e8963ac2a2
|
🐛 fix(vscode): 恢复实施会话改按显式角色命名,worktree 清理后不再误标为规划
Claude-Session: https://claude.ai/code/session_012YFEAU7RsuCdinUNMS9tzv
|
2026-09-09 10:41:04 +08:00 |
|
cruldra
|
1fee0f2630
|
♻️ refactor: 需求与计划改走 ECC 工作流,PRD/计划落到 .claude 目录
头脑风暴、续聊、实施三套 prompt(vscode / jetbrains / tui 同步)从 superpowers 的 brainstorming 与 /goal 换成 /ecc:plan-prd、/ecc:plan、/ecc:tdd-workflow。spec/plan 路径固定为 .claude/prds/<slug>.prd.md 与 .claude/plans/<slug>.plan.md,slug 派生去掉 .prd.md / .plan.md 后缀;worktreePath 测试挪到 test/ 目录。
Claude-Session: https://claude.ai/code/session_01QWxLb6X8Vd2G5vHnp6R7qm
|
2026-09-08 11:46:04 +08:00 |
|
cruldra
|
028195ab2b
|
✨ feat(vscode): 摘修复识别 alembic 迁移,接不上发布分支链的高亮禁用不可摘
按 writing-alembic-migrations 的规矩判断:迁移的前任必须已在发布分支上,
且发布分支上该前任不能已有别的后继;根迁移接不上已有链、删迁移会断链也不可摘。
列表里带迁移的提交打「迁移」角标,不可摘的高亮警告色、禁用勾选并写明原因;
确认接口再校验一遍,绕过前端也摘不进去。
Claude-Session: https://claude.ai/code/session_01QWxLb6X8Vd2G5vHnp6R7qm
|
2026-09-08 11:44:24 +08:00 |
|
cruldra
|
df0660cff7
|
🐛 fix(vscode): 摘修复列表与角标认 cherry-pick -x 尾注,解过冲突的复制品不再重复显示
解过冲突的 cherry-pick 复制品补丁内容已变,按文件指纹对不上,列表和角标
都把它当没摘。现在额外扫发布分支独有提交的说明,`(cherry picked from
commit <sha>)` 尾注命中的来源提交直接判已摘,列表过滤与 rev-list 计数同步扣掉。
Claude-Session: https://claude.ai/code/session_018HDxMmNDyfLa3bMTUctBzt
|
2026-09-06 13:55:28 +08:00 |
|
cruldra
|
706057075d
|
✨ feat(vscode): 摘修复冲突不再中止,保留 worktree 自动开冲突解决会话接手
摘修复改在固定的发布 worktree(worktreeDirectory 模板,目录名为分支名
/ 换 -)里按序 cherry-pick -x。全部成功推远端并删 worktree;中途冲突则
保留冲突现场、远端不变,开 `<发布分支>-冲突解决` claude 会话解冲突、
--continue、按原顺序摘完剩余提交再推远端。同名终端活着直接注入提示词。
- 上次冲突没处理完再摘会被拒绝;目录模板解析到工作区本身也拒绝
- 目录被非 worktree 的垃圾占着时清掉重建
- 测试覆盖成功清理、冲突接力(含 -x 尾注保留)、拒绝工作区本身
- CLAUDE.md 补一条:收尾三步默认直接做,不问不提醒
Claude-Session: https://claude.ai/code/session_018HDxMmNDyfLa3bMTUctBzt
|
2026-09-06 13:32:47 +08:00 |
|
cruldra
|
0e144bc28f
|
🐛 fix(vscode): URI 开终端复用已有标签组,不再强制劈栏
|
2026-09-04 12:21:19 +08:00 |
|
cruldra
|
f4b1d80105
|
🐛 fix(vscode): worktree 复用测试在 macOS 上按真实路径比较,顺手清掉旧的代码风格错误
Claude-Session: https://claude.ai/code/session_01KDcq9HcrVLs2c9tkRxasub
|
2026-09-03 05:43:01 +08:00 |
|
cruldra
|
ae875756a9
|
✨ feat(vscode): 头脑风暴会话一键续聊,终端开着直接打进去、关了带提示词恢复
详情面板「头脑风暴会话id」行的 ▶ 改为续聊:规划终端还开着就把续聊提示词
打进去;终端关了但有会话 id 就 `claude --resume <id>` 带提示词恢复;没会话
才新开。属性行右侧按钮改为数组,续聊与关闭 tab 可并存。
Claude-Session: https://claude.ai/code/session_01KDcq9HcrVLs2c9tkRxasub
|
2026-09-03 01:16:41 +08:00 |
|
cruldra
|
90600cf070
|
⚡ perf(vscode): 摘修复指纹一次算完,不再逐文件起进程
|
2026-09-01 20:11:41 +08:00 |
|
cruldra
|
dd3b7aaa24
|
⚡ perf(vscode): 摘修复只比对发布分支多出来的提交
|
2026-09-01 20:07:27 +08:00 |
|
cruldra
|
b5b2bda353
|
🐛 fix(vscode): 发布按钮状态检查不再跑全量文件比对
|
2026-09-01 20:04:55 +08:00 |
|
cruldra
|
0214ca1ab5
|
🐛 fix(vscode): 摘修复按文件改动认已摘过,不靠标题
|
2026-09-01 20:01:55 +08:00 |
|
cruldra
|
beb7750eac
|
✨ feat(vscode): 摘修复可按作者筛选,高亮发布点后第一条
|
2026-09-01 19:15:32 +08:00 |
|
cruldra
|
54fc2ead4c
|
✨ feat(vscode): 摘修复未关联提交置顶
|
2026-09-01 19:09:02 +08:00 |
|
cruldra
|
5284fc1730
|
⚡ perf(vscode): 摘修复用本地合并记录分组,列表改手风琴
|
2026-09-01 19:03:56 +08:00 |
|
cruldra
|
4d3b2a0d67
|
🐛 fix(vscode): 摘修复按 Gitea PR 提交列表分组
|
2026-09-01 18:53:41 +08:00 |
|
cruldra
|
ffae9ce2b8
|
✨ feat(vscode): 设置可关新开终端分屏
|
2026-09-01 17:38:06 +08:00 |
|
cruldra
|
3e3750c494
|
✨ feat(vscode): 摘修复按 PR 分组框选,可搜作者和标题
|
2026-09-01 17:27:27 +08:00 |
|