Product Positioning & Context
Related Ecosystem & Alternatives
Discover adjacent products, open-source repositories, and developer tools sharing similar technical architecture.
Deep-Dive FAQs
What is wxtsky/CodeIsland?
wxtsky/CodeIsland is a digital product or tool described as:
Where did wxtsky/CodeIsland originate?
Data for wxtsky/CodeIsland was aggregated directly from the GitHub Open Source community ecosystem, representing raw developer and early-adopter sentiment.
When was wxtsky/CodeIsland publicly launched?
The initial public indexing or launch date for wxtsky/CodeIsland within our tracked developer communities was recorded on April 6, 2026.
How popular is wxtsky/CodeIsland?
wxtsky/CodeIsland has achieved measurable traction, logging over 1,064 traction score and facilitating 125 recorded discussions or engagements.
Are there active development issues for wxtsky/CodeIsland?
Yes, we are currently tracking open architectural debates and bug reports for this project on GitHub. There are currently 5 active high-priority issues logged recently.
Active Developer Issues (GitHub)
Logged: Apr 19, 2026
Logged: Apr 17, 2026
Logged: Apr 17, 2026
Logged: Apr 16, 2026
Logged: Apr 16, 2026
Community Voice & Feedback
@Walter-Hou 已经定位到根因,本地修掉了。
**根因**:approval card 的 transition 用了 `.compositingGroup() + .blur + .opacity` 这组合。macOS 26 的 SwiftUI 合成器对 compositingGroup + blur filter 的处理有回归——即使 blur radius 是 0(稳态),compositingGroup 里的 offscreen 渲染依然会把子视图"洗"成异常的透明/半透明状态,直到某个鼠标事件触发 invalidation → 重新合成才恢复。这也解释了你观察到的"移向刘海 → 消失、移回按钮 → 重现":鼠标位置变化触发 SwiftUI 重绘,每次合成"有时正确、有时错误",所以看起来像在抽。
**修复**:去掉 identity 态的 `compositingGroup()`,SwiftUI 对 blur radius 0 就是真正 no-op,合成器不再介入。过渡插值期间保留 blur + opacity,视觉效果跟以前基本一致。
这个 patch 会在下一个版本 **v1.0.22** 里发出来(很快),发了之后麻烦帮忙再试一下。如果还有残留问题,我会在 Settings 里加一个「简化过渡动画」开关作为兜底,直接禁用 blur。感谢你提供的对比视频,非常关键。
**根因**:approval card 的 transition 用了 `.compositingGroup() + .blur + .opacity` 这组合。macOS 26 的 SwiftUI 合成器对 compositingGroup + blur filter 的处理有回归——即使 blur radius 是 0(稳态),compositingGroup 里的 offscreen 渲染依然会把子视图"洗"成异常的透明/半透明状态,直到某个鼠标事件触发 invalidation → 重新合成才恢复。这也解释了你观察到的"移向刘海 → 消失、移回按钮 → 重现":鼠标位置变化触发 SwiftUI 重绘,每次合成"有时正确、有时错误",所以看起来像在抽。
**修复**:去掉 identity 态的 `compositingGroup()`,SwiftUI 对 blur radius 0 就是真正 no-op,合成器不再介入。过渡插值期间保留 blur + opacity,视觉效果跟以前基本一致。
这个 patch 会在下一个版本 **v1.0.22** 里发出来(很快),发了之后麻烦帮忙再试一下。如果还有残留问题,我会在 Settings 里加一个「简化过渡动画」开关作为兜底,直接禁用 blur。感谢你提供的对比视频,非常关键。
Bro,这个 issue 开了一段时间一直没收到具体需求,先关闭整理一下。
#115 已经在推进"hook 事件转发到钉钉/飞书/企微 webhook"的单向通知方向(用户明确只要钉钉机器人提醒),建议你到 #115 跟进。如果你需要的是 IM 里**双向回复**(在 IM 里回一条消息 → 转发给终端里的 agent),这个复杂度更高,跟 #54(岛上直接回复)同源,需要 tmux/ghostty send-keys 那类能力,可以去 #54 看讨论。
如果有新需求或明确场景,随时开新 issue 或在 #115/#54 留言,我会继续跟进。谢谢~
#115 已经在推进"hook 事件转发到钉钉/飞书/企微 webhook"的单向通知方向(用户明确只要钉钉机器人提醒),建议你到 #115 跟进。如果你需要的是 IM 里**双向回复**(在 IM 里回一条消息 → 转发给终端里的 agent),这个复杂度更高,跟 #54(岛上直接回复)同源,需要 tmux/ghostty send-keys 那类能力,可以去 #54 看讨论。
如果有新需求或明确场景,随时开新 issue 或在 #115/#54 留言,我会继续跟进。谢谢~
在我打开“降低透明度(Reduce transparency)”之后,部分窗口(例如 Ghostty)能正常显示授权弹窗,但是大部分其他情况( 例如 我正在使用Desktop)依旧还是这样
具体效果如下:
实拍视频如下:
https://github.com/user-attachments/assets/416082f0-69c3-4db9-8804-df2f8a0ae43f
另外我发现,在鼠标指针从授权弹窗内容区域移向刘海区域时,授权窗消失,当鼠标再次移回到授权按钮大致位置附近时弹窗再次出现
具体效果如下:
实拍视频如下:
https://github.com/user-attachments/assets/416082f0-69c3-4db9-8804-df2f8a0ae43f
另外我发现,在鼠标指针从授权弹窗内容区域移向刘海区域时,授权窗消失,当鼠标再次移回到授权按钮大致位置附近时弹窗再次出现
谢谢信息!macOS 26.4.1 + M3 Pro 是个关键线索——approval card 的 transition 用了 `compositingGroup + blur + opacity` 的组合,在 macOS 26 这个版本的 SwiftUI 合成里可能有渲染差异(hover 触发 invalidation 就重绘正常了,符合你观察到的现象)。
本地没有 macOS 26 环境稳定复现,在彻底定位之前有两件事能帮上忙:
1. **验证方向**:打开 **系统设置 → 辅助功能 → 显示 → 降低透明度**(Reduce transparency)打开,再触发一次权限弹窗。如果这样就不透明了,基本能确认是 blur filter 层面的问题。
2. **workaround**:下个版本我加一个"禁用 approval 过渡动画"的设置开关,给遇到这个渲染 bug 的用户兜底。
辛苦帮忙试一下 1 ~
本地没有 macOS 26 环境稳定复现,在彻底定位之前有两件事能帮上忙:
1. **验证方向**:打开 **系统设置 → 辅助功能 → 显示 → 降低透明度**(Reduce transparency)打开,再触发一次权限弹窗。如果这样就不透明了,基本能确认是 blur filter 层面的问题。
2. **workaround**:下个版本我加一个"禁用 approval 过渡动画"的设置开关,给遇到这个渲染 bug 的用户兜底。
辛苦帮忙试一下 1 ~
已修(commit 53b018d),和 #106 / #119 同一批修复。
简短版:新引入的 `JSONMinimalEditor` 做最小 diff 写回——只替换 `plugin` 键的 value range,其它字节(包括 `//` 注释、key 顺序、斜杠格式、trailing newline)完全保持原样。OpenCode 的 `mergeOpencodePluginRef` / `removeOpencodePluginRef` 已经切换过去。
详细修复思路见 #106 的评论。感谢你把问题拆得这么清楚,`jsonc-parser.modify()` 的思路是对的,只是实现用 Swift 原生写了一份(项目保持零依赖)。
简短版:新引入的 `JSONMinimalEditor` 做最小 diff 写回——只替换 `plugin` 键的 value range,其它字节(包括 `//` 注释、key 顺序、斜杠格式、trailing newline)完全保持原样。OpenCode 的 `mergeOpencodePluginRef` / `removeOpencodePluginRef` 已经切换过去。
详细修复思路见 #106 的评论。感谢你把问题拆得这么清楚,`jsonc-parser.modify()` 的思路是对的,只是实现用 Swift 原生写了一份(项目保持零依赖)。
1. CodeIsland 版本: 1.0.20
2. MacOS 版本: 26.4.1 (25E253)
3. 机型: Macbook Pro M3 Pro / 有外接新显示器(内置和外接显示器上表现一致)
4. 复现时机:每次都是,只要弹出授权确认窗就这样,没有任何前置操作。
5. 见下图(不方便录屏,见截图)
6. 没有这些额外的系统设置
remark: 截图工具是 CleanShotX
2. MacOS 版本: 26.4.1 (25E253)
3. 机型: Macbook Pro M3 Pro / 有外接新显示器(内置和外接显示器上表现一致)
4. 复现时机:每次都是,只要弹出授权确认窗就这样,没有任何前置操作。
5. 见下图(不方便录屏,见截图)
6. 没有这些额外的系统设置
remark: 截图工具是 CleanShotX
Formatting fix for my previous comment: shell quoting ate the inline code spans. Reposting the same finding clearly.
Confirmed locally that editing `~/.config/opencode/opencode.json` by hand is not a viable workaround because CodeIsland rewrites it again on next launch.
What I tested:
- Restored `opencode.json` to the intended JSONC form with comments, original key order, plain `/`, and no `plugin` entry
- Quit CodeIsland completely
- Reopened CodeIsland
What happened on reopen:
- The full-file rewrite came back immediately
- Comments were stripped again
- Keys were reordered again
- `/` was re-escaped as `\/` again
- `"key" :` spacing came back again
- The trailing newline was removed again
- The `plugin` array was re-inserted with a user-specific absolute path to `file:///Users/chaos/.config/opencode/plugins/codeisland.js`
Extra evidence from the local machine:
- CodeIsland created a backup file before rewriting: `~/.config/opencode/opencode.json.codeisland.bak.20260417T051701`
-...
Confirmed locally that editing `~/.config/opencode/opencode.json` by hand is not a viable workaround because CodeIsland rewrites it again on next launch.
What I tested:
- Restored `opencode.json` to the intended JSONC form with comments, original key order, plain `/`, and no `plugin` entry
- Quit CodeIsland completely
- Reopened CodeIsland
What happened on reopen:
- The full-file rewrite came back immediately
- Comments were stripped again
- Keys were reordered again
- `/` was re-escaped as `\/` again
- `"key" :` spacing came back again
- The trailing newline was removed again
- The `plugin` array was re-inserted with a user-specific absolute path to `file:///Users/chaos/.config/opencode/plugins/codeisland.js`
Extra evidence from the local machine:
- CodeIsland created a backup file before rewriting: `~/.config/opencode/opencode.json.codeisland.bak.20260417T051701`
-...
Related Claude integration issue: https://github.com/wxtsky/CodeIsland/issues/106
This looks like the same full-document reserialize problem as #105, but through the separate Claude install path () rather than the OpenCode path ().
This looks like the same full-document reserialize problem as #105, but through the separate Claude install path () rather than the OpenCode path ().
其实可以使用 plugin 长期监听 socket 来实现稳定的双向通讯
Bro 你好,为了排期这个 feature,能不能说得再具体一点?
“IM 通信提醒” 和 “双工通信” 我理解可能是:
- **方向 A**:把 CodeIsland 的事件(session 完成、等待审批、问题询问)推送到 IM(Slack / 飞书 / 企业微信 / Telegram)— 单向通知
- **方向 B**:在 IM 里直接回复,CodeIsland 把回复转回终端实现远程审批/回答 — 双向
哪个更接近你的需求?或者你有完全不同的设计?
另外:
1. 具体想接入哪个 IM 平台?
2. 是否能接受用 webhook 自己接(我们只负责发事件)还是希望内置集成?
谢谢!
“IM 通信提醒” 和 “双工通信” 我理解可能是:
- **方向 A**:把 CodeIsland 的事件(session 完成、等待审批、问题询问)推送到 IM(Slack / 飞书 / 企业微信 / Telegram)— 单向通知
- **方向 B**:在 IM 里直接回复,CodeIsland 把回复转回终端实现远程审批/回答 — 双向
哪个更接近你的需求?或者你有完全不同的设计?
另外:
1. 具体想接入哪个 IM 平台?
2. 是否能接受用 webhook 自己接(我们只负责发事件)还是希望内置集成?
谢谢!
Bro 你好,看起来像是 SwiftUI/AppKit 渲染 glitch(按钮变全黑 + 面板透明 + 截屏能截到但目视看不到)。为了定位,需要几点信息:
1. **CodeIsland 版本**:菜单栏图标右键 → About,或 `CodeIsland --version`
2. **macOS 版本**:系统设置 → 关于本机(14/15/26)
3. **机型 / 显示器**:是否外接显示器?是否刘海 Mac?
4. **复现时机**:每次都这样还是偶发?触发前做过什么操作(比如切换深色模式、连外接屏、进入全屏应用)?
5. **截图/录屏**:透明状态 + 鼠标移入完整显示的对比,最好是录屏
6. **系统设置**:是否开启了增加对比度、降低透明度、降低动态效果(辅助功能相关)
多谢!
1. **CodeIsland 版本**:菜单栏图标右键 → About,或 `CodeIsland --version`
2. **macOS 版本**:系统设置 → 关于本机(14/15/26)
3. **机型 / 显示器**:是否外接显示器?是否刘海 Mac?
4. **复现时机**:每次都这样还是偶发?触发前做过什么操作(比如切换深色模式、连外接屏、进入全屏应用)?
5. **截图/录屏**:透明状态 + 鼠标移入完整显示的对比,最好是录屏
6. **系统设置**:是否开启了增加对比度、降低透明度、降低动态效果(辅助功能相关)
多谢!
PR #76 正在实现这个功能,覆盖了 tmux、iTerm2、Terminal.app、WezTerm、kitty 以及通用 keystroke 降级方案。
目前 PR 还有一个中文输入法兼容性问题需要修复(按回车后 IME 提交原始拼音而非转换后的中文),已经 request changes,等作者修复后合并。
目前 PR 还有一个中文输入法兼容性问题需要修复(按回车后 IME 提交原始拼音而非转换后的中文),已经 request changes,等作者修复后合并。
能否补充一下具体需求?比如:
1. **IM 通信提醒** — 是指将 CodeIsland 的通知推送到微信/钉钉/Telegram 等 IM 工具吗?还是其他?
2. **双工通信** — 是指在 CodeIsland 面板里直接跟 AI agent 对话(类似 #54 的需求)?还是其他?
提供更多细节方便我们评估和排优先级,谢谢!
1. **IM 通信提醒** — 是指将 CodeIsland 的通知推送到微信/钉钉/Telegram 等 IM 工具吗?还是其他?
2. **双工通信** — 是指在 CodeIsland 面板里直接跟 AI agent 对话(类似 #54 的需求)?还是其他?
提供更多细节方便我们评估和排优先级,谢谢!
> 调研了一下,似乎只有 tmux / ghostty 有比较稳定的直接回复的路径,其余 tty 都没法直接回复 claude。claude island 也是通过 tmux 都 send-key 实现的
@senshinya GET,大佬如果有空可以先实现下 tmux ghostty,这两个覆盖面也比较广了。
@senshinya GET,大佬如果有空可以先实现下 tmux ghostty,这两个覆盖面也比较广了。
调研了一下,似乎只有 tmux / ghostty 有比较稳定的直接回复的路径,其余 tty 都没法直接回复 claude。claude island 也是通过 tmux 都 send-key 实现的
Discovery Source
GitHub Open Source Aggregated via automated community intelligence tracking.
Tech Stack Dependencies
No direct open-source NPM package mentions detected in the product documentation.
Media Tractions & Mentions
No mainstream media stories specifically mentioning this product name have been intercepted yet.
Deep Research & Science
No direct peer-reviewed scientific literature matched with this product's architecture.
SaaS Metrics