cruldra
|
ce0622b6fe
|
🔖 chore(vscode): bump 0.2.90
|
2026-08-25 16:05:18 +08:00 |
|
cruldra
|
afdb98ad55
|
🐛 fix(vscode): 实施启动自动丢掉残留 worktree 再新建
|
2026-08-25 16:04:45 +08:00 |
|
cruldra
|
23ebdc0509
|
🔖 chore(vscode): bump 0.2.89
|
2026-08-25 14:46:29 +08:00 |
|
cruldra
|
24b1ae2ecf
|
🐛 fix(vscode): 实施启动改为复用已有 feature 分支
|
2026-08-25 14:45:53 +08:00 |
|
cruldra
|
0db43f4cc3
|
🔖 chore(vscode): bump 0.2.88
|
2026-08-25 13:07:15 +08:00 |
|
cruldra
|
07b2bf75a0
|
✨ feat(vscode): 历史会话可换 profile 恢复
|
2026-08-25 13:06:48 +08:00 |
|
cruldra
|
1c3e66bdc7
|
🔖 chore(vscode): bump 0.2.87
|
2026-08-20 19:25:40 +08:00 |
|
cruldra
|
466bf3fe13
|
🐛 fix(vscode): 看板实时响应工单指派事件
Gitea 的 issue_assign 事件 X-Gitea-Event 值为 issues、action 为
assigned/unassigned,coordinator 此前只处理 opened/reopened/edited,
指派事件被丢弃。现复用 decideIssueAppend 门禁:指派给我 → issue/append
实时上卡(已在板上则原位刷新),与我无关 → issue/remove 撤卡。
|
2026-08-20 19:24:55 +08:00 |
|
cruldra
|
6fb8a31406
|
🔖 chore(vscode): bump 0.2.86
|
2026-08-20 13:53:30 +08:00 |
|
cruldra
|
416861fc75
|
✨ feat(vscode): URI handler 外部触发开 claude 会话 tab
|
2026-08-20 13:53:12 +08:00 |
|
cruldra
|
7b6e263b84
|
🔖 chore(vscode): bump 0.2.85
|
2026-08-20 12:47:00 +08:00 |
|
cruldra
|
32a4371cae
|
🐛 fix(vscode): PR 统计条改全量口径与 Gitea 一致,已查看分母仍为可见文件数
|
2026-08-20 12:46:38 +08:00 |
|
cruldra
|
c24b9aebf8
|
🔖 chore(vscode): bump 0.2.84
|
2026-08-20 10:00:32 +08:00 |
|
cruldra
|
15424eb275
|
✨ feat(vscode): 审查提示词加临时 worktree 清理指令
|
2026-08-20 10:00:32 +08:00 |
|
cruldra
|
ac35c5f572
|
🔖 chore(vscode): bump 0.2.83
|
2026-08-19 20:41:11 +08:00 |
|
cruldra
|
fea7b2e604
|
🐛 fix(vscode): issue opened 广播按看板 scope 门禁,mine 不再凭空上别人的卡
|
2026-08-19 20:41:11 +08:00 |
|
cruldra
|
ea4c4e4658
|
📝 docs(vscode): 约定本机装 VSIX 必须 --profile augment
|
2026-08-19 19:37:11 +08:00 |
|
cruldra
|
6251ba0d2a
|
✨ feat(vscode): 审查会话链接按本机 codex 会话文件存在判定,不再绑 worktree
|
2026-08-19 19:24:57 +08:00 |
|
cruldra
|
bf3f7f9e67
|
🔖 chore(vscode): bump 0.2.81
|
2026-08-19 18:56:07 +08:00 |
|
cruldra
|
1bc3561236
|
🔖 chore(vscode): 版本号提到 0.2.80 入库,约定改码后自动加版本+打包
|
2026-08-19 18:39:59 +08:00 |
|
cruldra
|
4a1ae45425
|
✨ feat(vscode): 属性格动作值改双击触发+spinner反馈,热区收窄到内容
|
2026-08-19 18:10:51 +08:00 |
|
cruldra
|
c9eaca2904
|
🐛 fix(vscode): 状态分层读侧补漏——四处 handler 改走 readIssueState 叠加本地状态
|
2026-08-19 17:01:05 +08:00 |
|
cruldra
|
faf227412e
|
✨ feat(vscode): 多人协作二期:状态分层/写校验/签名/团队视图
- 本机状态(会话id/worktree/profile/prDiffFile)迁 workspaceState,
共享 state JSON 只留团队字段;读侧本地记录叠加,旧数据兜底
- mergeStateJsonComment 写后读回校验,并发覆盖时在最新状态上重放一次
- webhook 支持 Gitea secret,校验 X-Gitea-Signature(HMAC-SHA256),
不匹配 401;设置面板新增 Webhook Secret 字段
- 看板新增 我的/全部 范围切换(团队视图),按工作区持久化
|
2026-08-19 00:32:06 +08:00 |
|
cruldra
|
c370214d12
|
✨ feat(vscode): webhook 副作用按 assignee 门禁,适配多人协作
|
2026-08-18 23:57:21 +08:00 |
|
cruldra
|
c20bd86370
|
✅ test(vscode): 更新 spawnClaude 断言以匹配绝对路径解析
|
2026-08-18 23:57:21 +08:00 |
|
cruldra
|
9255b55625
|
🐛 fix(vscode): GUI 下解析 claude 绝对路径(含 ~/.local/bin 官方安装)
|
2026-08-05 14:57:48 +08:00 |
|
cruldra
|
81ab00bdba
|
🐛 fix(vscode): 详情属性格 data 引用变化不再清掉选中导致 PR 打不开
|
2026-08-05 14:39:04 +08:00 |
|
cruldra
|
a9e4d6e9b9
|
🐛 fix(vscode): issue/patch 用 null 清空 worktree 字段以便 webview 即时刷新
|
2026-08-05 14:08:03 +08:00 |
|
cruldra
|
29aaabdabf
|
🐛 fix(vscode): 完成列/删 worktree 时自动杀掉占用进程再删目录
|
2026-08-05 13:31:00 +08:00 |
|
cruldra
|
23e6f67373
|
♻️ refactor: brainstorm 续聊提示词切回 superpowers:brainstorming
|
2026-07-31 10:27:16 +08:00 |
|
cruldra
|
0d79cb7c73
|
11
|
2026-07-31 08:20:42 +08:00 |
|
cruldra
|
0d078e848c
|
11
|
2026-07-31 06:52:09 +08:00 |
|
cruldra
|
532f9e09b5
|
✨ feat(vscode): 设置面板支持 brainstorm 续聊提示词并切换 grill-with-docs
|
2026-07-31 06:50:38 +08:00 |
|
cruldra
|
d68603ee06
|
🐛 fix(vscode): 改动 tab 默认统一视图并保留阅读位置
|
2026-07-25 11:08:48 +08:00 |
|
cruldra
|
84a5cda8d2
|
✨ feat(vscode): 提交代码按钮可配置 Claude profile
|
2026-07-25 07:29:05 +08:00 |
|
cruldra
|
e9543d37ce
|
🐛 fix(vscode): 导入/恢复会话时从 transcript 推断 profilePath
|
2026-07-25 01:59:22 +08:00 |
|
cruldra
|
45b2a7797d
|
✨ feat(vscode): 新增会话 transcript 推断 profilePath 纯模块
|
2026-07-25 01:57:05 +08:00 |
|
cruldra
|
8d00676bba
|
11
|
2026-07-24 14:26:56 +08:00 |
|
cruldra
|
dc522064ce
|
✨ feat(vscode): 会话管理支持导入已 /rename 的命名会话
|
2026-07-24 00:12:28 +08:00 |
|
cruldra
|
7c67d220db
|
✨ feat(vscode): 设置面板可配置 Claude profiles 目录并修正探测顺序
|
2026-07-23 21:52:53 +08:00 |
|
cruldra
|
a3e557f9ee
|
♻️ refactor(vscode): 对齐 state schema 与 knownStateFields 漂移
|
2026-07-16 01:55:35 +08:00 |
|
cruldra
|
b45257a38d
|
🐛 fix(vscode): resume 会话用 resolveWorktreePath 避免误判 worktree 已清理
|
2026-07-16 01:51:08 +08:00 |
|
cruldra
|
aff4ee2758
|
🐛 fix(vscode): 删 worktree 前扫 /proc 检测进程占用,命中则中止清理
dev server 常驻在 worktree 里持续写构建产物,递归删除与写入竞态导致
rmdir 撞 ENOTEMPTY。新增 findProcessesUsingWorktree 扫 /proc 找 cwd 或
fd 落在 worktree 下的进程,三处删除调用点(拖到完成列 / 手动删 / 删整工单)
命中即弹错误 toast 列出 pid+命令并中止(不删、不杀进程),用户停掉后重试。
非 Linux 无 /proc 返回空,降级为原直接删除。
|
2026-07-13 09:26:23 +08:00 |
|
cruldra
|
b585016cd7
|
✨ feat(vscode): 头脑风暴 profile 独立 + codex 命令统一组装收尾
- 头脑风暴/实施/测试会话 profile 彻底独立,互不回退,各自空值回落默认
- 新建工单弹窗的 profile 选择改为头脑风暴专用 brainstormProfilePath
- 详情面板新增「头脑风暴配置文件」下拉
- 删除从未接线的死代码 reviewFlow.ts(runReview 全仓库无调用方)
- codexCommand 精简为仅 resume/interactive 两种终端命令形态
- 版本号 0.2.55 → 0.2.60
|
2026-07-13 07:50:39 +08:00 |
|
cruldra
|
5188c23765
|
✨ feat(vscode): codex 命令统一组装,模型/思考级别可在设置面板配置
新增 cc/codexCommand.ts 作为 codex 调用的唯一出口(buildCodexArgs /
buildCodexCommandString),把 exec-review / resume / interactive 三种形态
的 flag 拼装收敛到一处;模型与思考级别作为自由文本项写入全局设置并贯穿
webview 消息通道,空值则不传 -c,沿用 codex config.toml 默认。
|
2026-07-13 06:43:58 +08:00 |
|
cruldra
|
aff99c57f3
|
♻️ refactor(vscode): PR 文件说明改为一句话概述改动
已缓存的 `.spx/pr-file-summaries.json` 旧长文不会自动刷新,需重新点 ✨ 生成。
|
2026-07-09 08:47:12 +08:00 |
|
cruldra
|
7b4f737ce5
|
✨ feat(vscode): 冲突解决会话 profile 可在设置面板配置
|
2026-07-09 08:41:58 +08:00 |
|
cruldra
|
38f15a6fe1
|
🐛 fix(vscode): resume 测试会话时按 testProfilePath 解析 settings
|
2026-07-09 08:17:23 +08:00 |
|
cruldra
|
f39e61aa7f
|
✨ feat(vscode): 手动删除 worktree 时连同 feature 分支一起删(本地+远程)
抽出共享 cleanupFeatureBranch(handlers/branchCleanup.ts):受保护分支跳过、
远程走 gitea API、本地强删(git branch -D),全程 best-effort 只记日志。
「拖到完成」的分支清理改为复用它(71 行 → 12 行);handleDeleteWorktree 在
删完 worktree 目录后同样调用它,确认框与完成提示带上分支名。
放在 handlers 层而非 git/branchSync.ts:后者刻意不依赖 vscode(有单测覆盖
deleteLocalBranch),本函数需 logger(→vscode)+ gitea API。
|
2026-07-08 19:05:48 +08:00 |
|
cruldra
|
045e203590
|
🔖 chore(vscode): 版本号 0.2.54 → 0.2.55
|
2026-07-08 11:51:19 +08:00 |
|
cruldra
|
75cbe3c515
|
✨ feat(vscode): 测试会话提示词改用 /pr-acceptance-testing 斜杠命令
|
2026-07-08 11:51:19 +08:00 |
|
cruldra
|
235cd9ea65
|
🐛 fix(vscode): worktree 清理改 rm -rf + prune,绕开 gitignored 产物导致的目录非空
git worktree remove 只删跟踪文件+admin 注册,不删 .next/node_modules 等 gitignored 产物,删完残留把目录撑住、最后 rmdir 撞 ENOTEMPTY。新增 removeWorktreeDir(带路径护栏的递归强删 + git worktree prune),替换 3 处 worktree remove 调用点。
|
2026-07-08 11:48:23 +08:00 |
|
cruldra
|
cace658ac1
|
✨ feat(vscode): profile 值编辑器改为多行+图片粘贴(图片落 .spx/profile-assets)
双击 profile 值单元格改为打开富编辑弹窗:多行 textarea + Ctrl+V 粘贴截图,
⌘/Ctrl+Enter 或点遮罩保存、Esc 取消。值仍是单个字符串,图片存磁盘
(内容寻址 sha1 命名,去重),值里只留 markdown 引用,不撑大 profiles.json。
折叠单元格显示首行 + 含图时加 🖼 徽标。key/列头仍走原内联输入。
- 抽公用 lib/imagePaste:同步探测(preventDefault) + 异步读取,新建工单改用它、行为不变
- 新增扩展侧 profileAssets handler:存图(image/* 校验)/读图(挡路径穿越)
- 新增 useProfileAssets(requestId 关联并发) 与 ProfileCellEditor 弹窗
- 消息两侧同步 profile-asset/save|load|saved|loaded
|
2026-07-03 16:55:40 +08:00 |
|
cruldra
|
35085f72f7
|
♻️ fix(vscode): 「已查看」改为按文件变更指纹失效,PR 新 push 只摘变动文件的勾
原先按 head sha 存已查看,作者一推新提交 head sha 变了,全部勾一起清空——
哪怕只改了一个文件也把没动的勾全冲掉。改成 GitHub「Viewed」式的内容感知:
按每个文件的变更指纹 (status|additions|deletions) 存,拉文件时与当前指纹比对,
只有真改动过的文件掉勾,没动的保留;比对后顺手剪掉盘上失配/消失的条目。
Gitea 的 ChangedFile 不返回 blob sha、compare 端点也不支持任意 commit sha,
故用上述三元组作指纹(文件一改几乎必变其一),零额外请求。
- prReviewStore: 形状改为 issueNumber → {path: sig},导出 read/writeConfirmedSigs
- prFiles: handleGetPrFiles 按指纹过滤+剪枝,顺带去掉不再需要的 getPullRequest 调用
- 消息 pr-files/show 去掉无人消费的 headSha/mergeBase;pr-review/set 改发 {path: sig}
- usePrFiles: 删 headSha,setConfirmed 把路径映射成指纹再发
|
2026-06-29 16:55:11 +08:00 |
|
cruldra
|
bd8ba714b3
|
✏️ fix(vscode): 改动说明 prompt 改问「为什么改+不改的后果」并垫入 PR 描述
|
2026-06-29 15:37:51 +08:00 |
|
cruldra
|
8c5cc90eda
|
✨ feat(vscode): 「改动」面板加审查勾 + deepseek 增量生成文件改动说明
右栏 diff 头部加一组按钮:
- 审查对勾:与左树同一状态源,勾上则文件路径标题置灰
- ✨ 一键调 deepseek 生成该文件「一句话改动目的」
增量复用会话:首个文件开新 cc 会话并把 sessionId 记到
.spx/pr-file-summaries.json,后续文件 --resume 接上去,省去每次重新
理解 PR 的开销;resume 失败则丢弃旧 id 重开一次。说明也落盘(跨 push
保留),重载后仍显示。
- spawnClaude 增 resumeSessionId(--resume)
- 新增 prFileSummaryStore;handler handleGeneratePrFileSummary
用 jsdiff 拼 unified diff 喂模型
- 依赖 diff(jsdiff)
|
2026-06-29 15:24:43 +08:00 |
|
cruldra
|
fb505d59c5
|
✨ feat(vscode): 「改动」tab 重做为整 PR 聚合的主从式内联 diff(git-diff-view)
- 左树右 diff:左栏全 PR 文件树 + 统计条(共改 N · +X−Y · 已查看 M/N),右栏选中单文件内联 diff
- 用 @git-diff-view/react 只渲染当前选中文件,绕开上万行全量渲染的性能坑
- gitea 新增 listPullRequestFiles、getPullRequest 取 merge_base/head,按需回两版原文
- diff 走 merge_base→head 三点口径(与 Gitea 网页一致),getRawFile 404 兜底成全增/全删/改名
- 已查看态按 head sha 落盘、新 push 自然重置;去掉提交列表、原生 diff 与 spx-gitea 虚拟文档 provider
|
2026-06-29 10:52:36 +08:00 |
|
cruldra
|
ceea62ed16
|
✨ feat(vscode): 测试会话提示词改为模拟真实用户对 PR 功能做 e2e 测试
|
2026-06-27 21:41:01 +08:00 |
|
 cruldraandClaude Opus 4.8
|
7be4e38620
|
♻️ refactor(vscode): claude 会话命令收口到 buildCcCommand 并移除已卸载的 serena --system-prompt
9 处手拼的 claude 启动命令(managedSessions/sessions/issues)统一改用新增的
cc/ccCommand.ts:buildCcCommand({ profilePath, effort?, resumeSessionId?, prompt? }),
去掉各处重复的 --system-prompt="$(serena prompts ...)"(serena 已卸载)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 00:57:29 +08:00 |
|
 cruldraandClaude Opus 4.7
|
02b0aca891
|
✨ feat(vscode): PyCharm 启动命令可配置(支持 ~/绝对路径),抽 expandTilde 复用
GUI 启动的 VS Code 扩展进程 PATH 常不含 JetBrains 启动器,裸 pycharm 易 ENOENT。
新增设置 pycharmCommand(默认 pycharm),贯穿 store/settings handler/messages/
KanbanPanel 与 webview,「钩子」分组在选 PyCharm 时显示「PyCharm 启动命令」输入框。
handleOpenWorktree 用该命令并经 expandTilde 展开 ~。expandTilde 从 resolveWorktreePath
抽出共用。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-24 05:29:19 +08:00 |
|
 cruldraandClaude Opus 4.7
|
cacc60eb0e
|
✨ feat(vscode): worktree 打开方式可选 VS Code/PyCharm,并修复 handleOpenWorktree 不展开 ~ 的打开报错
- worktree.ts: handleOpenWorktree/handleDeleteWorktree/dispatchImplTabPostCloseAsync 三处改用 resolveWorktreePath,修复带 ~ 的存量路径被拼成 <工作区>/~/... 导致打不开
- 新增全局设置 worktreeOpenWith('vscode' | 'pycharm',默认 vscode),贯穿 store/settings handler/messages/KanbanPanel 与 webview 的 messages/useIssues/App/SettingsModal「钩子」分组新增「工作树打开方式」下拉
- handleOpenWorktree 按设置分支:pycharm 走 JetBrains pycharm 启动器,ENOENT 时提示启用命令行启动器
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-24 05:20:22 +08:00 |
|
 cruldraandClaude Opus 4.7
|
5e7a3d20d9
|
🐛 fix(vscode): worktreePath 消费侧统一解析 ~/绝对/相对,修复带 ~ 的存量工单与绝对路径 worktree 误判
新增 resolveWorktreePath(stored, workspaceRoot) 三态合一解析:开头 ~ 展开为 home、
已是绝对原样、相对拼到 workspaceRoot。替换全部消费点,原先「判 isAbsolute 再 join」
不认 ~、issueLoader 算 worktreeExists 更是裸 join 连绝对路径都拼坏。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-24 03:01:08 +08:00 |
|
 cruldraandClaude Opus 4.7
|
9a69aeed48
|
🔧 fix(vscode): worktree 目录配置改用插件自带设置面板,撤销 VS Code 原生配置
上一版误把 worktree 目录模板注册成 VS Code 原生设置(contributes.configuration
+ workspace.getConfiguration),但本插件有自己的设置面板(SettingsModal,存 globalState)。
改为:
- Settings 新增 worktreeDirectory 字段(默认 ~/Sources/worktree/$project_name/$feature_name,
留空回退默认),贯穿 store/handler/两端 messages/useIssues/App/SettingsModal
- SettingsModal「钩子」分组新增「工作树目录」输入项,走既有 save/load 流程
- handleImplement 改从 getSettings(panel.context).worktreeDirectory 读模板
- 删除 package.json 的 contributes.configuration(meta.ts 为 gitignore 生成物,已本地还原)
deriveSlug / resolveWorktreeDir / ~ 展开 / 绝对路径 / feature/<slug> 逻辑不变。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-24 02:56:33 +08:00 |
|
 cruldraandClaude Opus 4.7
|
11ea6b345c
|
✨ feat(vscode): worktree 改建到 ~/Sources/worktree/<项目>/<slug>,接线 superpowers.worktreeDirectory 配置
实施流程不再硬编码 .claude/worktrees/<hash>:
- worktree 目录名改用 spec/plan 的 slug(specs|plans 后那一级目录名),分支改为 feature/<slug>
- 目录走 superpowers.worktreeDirectory 模板(package.json 新注册配置),支持 $project_root/$project_name/$feature_name 占位符及开头 ~ 展开,默认 ~/Sources/worktree/$project_name/$feature_name
- worktree 现位于工作区外:创建前 mkdir -p 父目录,state/webview 改存绝对路径(下游消费方已兼容 isAbsolute)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-24 02:37:16 +08:00 |
|
cruldra
|
495e961e53
|
11
|
2026-06-24 02:32:22 +08:00 |
|
cruldra
|
e6f1776d4f
|
11
|
2026-06-23 05:02:15 +08:00 |
|