ypshidifu
|
deffb7971f
|
skill.json注册表:推拉遇空壳分层扫盘落库(启动读入内存,内嵌oc/wb/cc-switch/claude等常见终端位置先快扫,未命中后台daemon扫盘不阻塞且单飞,名字->位置键值只增不删;推拉两端对称接入,用户选定目录永远优先;diag测试注册表隔离,新增34项单测全绿)
|
2026-09-25 11:59:07 +08:00 |
|
ypshidifu
|
460aeaf066
|
推送自动切真身(软链接/空壳直接换路径不再提醒手动切),探活skip文案按状态说OC未启动
|
2026-09-25 11:06:04 +08:00 |
|
ypshidifu
|
ac47b7a2ed
|
热重载前置探活+skill跨根找真身:mcpctl对调后先_live_oc探活(WSL未跑/OC未监听则跳过重载按成功返回,不再报WinError10061失败,host复用给推送与reload),ocskill新增_alt_skill_md跨已知根(.workbuddy/.config含trash/WSL对应根,OC_SKILL_ALT_ROOTS可追加)找同名SKILL.md真身,WSL二层空结果补说明行不静默,两套单测全绿(6项+15项)
|
2026-09-25 10:18:28 +08:00 |
|
ypshidifu
|
baf169ec19
|
skill软链接诊断层落地并打通WSL二层:缺SKILL.md时解symlink/junction真身(剥\??\前缀+POSIX换算UNC)、list与菜单列表⚠缺SKILL.md标注、二次确认与推送报错附带诊断;修复wsl.exe二次解析提前展开$var致脚本零输出改base64传输、目标读不出时realpath误报断链改标注交二层、VM未运行给跳过提示、find_skill_md吞OSError防炸穿、正常目录误报仍未找到;ocskill删OC API链全量直读skill目录;15项单测全绿
|
2026-09-24 23:09:51 +08:00 |
|
ypshidifu
|
b827bbbd1d
|
mcp查看与skill目录探测防卡死:只读链路_guard限时(本机8s/WSL20s)超时回菜单+WSL唤醒每5秒打点+dirs先展示两端目录存在性/数量/名字摘要并分端探测本机与WSL的API,单元与菜单e2e全绿
|
2026-09-24 19:23:46 +08:00 |
|
ypshidifu
|
547cb56518
|
技能列表改磁盘扫描与推送同源+删除接入编号列表协议(1 -confirm直删/编号二次确认confirm|cancel)+mcpctl成功文案按真实结果措辞,58项测试全绿
|
2026-09-24 12:39:47 +08:00 |
|
ypshidifu
|
48e7e0d2fc
|
推送选来源即列该目录skill+翻页绝对页码越界拒绝+空目录缺SKILL.md提示+同目录拦截,35项测试全绿
|
2026-09-24 11:42:06 +08:00 |
|
ypshidifu
|
3e50827c00
|
推送端技能输入补翻页循环:下一页/上一页/第N页/next/last/one page 与拉取端同一条 parse_page_cmd,编号/二次确认/路径直输全保留,26项测试全绿
|
2026-09-24 10:18:03 +08:00 |
|
ypshidifu
|
8203076851
|
技能编号确认协议:1/1.进二次确认打印名字简介(confirm执行/cancel回退),1 -confirm跳过;选来源/目标即出带编号列表,推送支持编号选本机技能
|
2026-09-24 09:53:23 +08:00 |
|
ypshidifu
|
2f653473ea
|
几个修复:
1. 拉取的名字可选,按每页15个,输入序号,--from选择,--page选择页面;支持中英双语,比如one page next page 下一页、第五页
2. 宝宝及交互,拉取支持先选到终端来源,记得名字输入名字就直接拉,不记得名字输序列号直接拉
3. 新增agents.md,内嵌workbuddy和opencode的skill目录。支持传完整的skill目录压缩包、skill目录或者直接输入wb、oc等。按照名字 键值的队列,括号会忽略。括号里的内容是全称,完整的名字,括号外面的才是真正敲下终端的名字
|
2026-09-23 22:35:06 +08:00 |
|
ypshidifu
|
3d65720bb3
|
skill推拉重构:输入成对引号剥离+输出固定+探查式覆盖+删除闭环,覆盖删除统一进.trash备份
|
2026-09-23 19:54:32 +08:00 |
|
ypshidifu
|
2208ad0f7c
|
推送走端口发现+GET探活+experimental路由;WSL读操作自动唤醒;CLI加/home任意位置回首页
|
2026-09-23 17:50:24 +08:00 |
|
ypshidifu
|
f7b7695aa7
|
修复三连:WSL路径视图翻译、参数顺序自由、wsl.exe零管道防卡死,on加推送兜底
- fs_view:mcpcfg 内 POSIX 路径在 Windows 操作 WSL 目标时翻译为
\\wsl.localhost UNC 视图,根除「两键路径不存在/mcpcfg.txt不存在」
假错;报错与展示保留原文;read_cfg 返回 active_raw 等 4 个 raw 字段
- _hoist_shared:parse 前把共享 flag 提到最前,mcpctl/ocskill 子命令
前后都能写 --target/--distro 等,根除 unrecognized arguments
- wsl_gate 统一门控:读操作 VM 未跑秒回提示,写操作显式打印后唤醒
(45s 超时);status/mode/backup/_switch/push/pull 全接入
- _wsl_safe_run 零管道执行(stdin=DEVNULL+stdout/stderr 落临时文件)
+ _wsl_running 先查 --running 绝不无提示冷启动,_wsl_ip 全部改走,
根除 wslrelay 继承管道句柄致 kill 后 EOF 永久阻塞(skill 菜单卡死
必须 ctrl+C 的根因)
- mcpctl on 加 push_mcp_config:reload 前 PATCH /config 推送 mcp,
双保险;ocskill list/dirs 连接前打进度行(flush)
- oc.py run_safe 护栏:子命令 KeyboardInterrupt/SystemExit/异常
一律回菜单,不再杀穿整个菜单进程
- README 补稳定性设计表与推送双保险链路说明
|
2026-09-23 15:31:55 +08:00 |
|
ypshidifu
|
d56cc01058
|
CLI合并为oc.py/oc.bat菜单入口(数字+中文),mcpctl支持键值mcpcfg与on/off标记;删除6个分散bat
|
2026-09-23 13:47:10 +08:00 |
|
ypshidifu
|
35513f1cdf
|
wsl-round-mcp:修复代理劫持导致的 502 + 输入嗅探增强
- 两个脚本的 HTTP 请求改为 ProxyHandler({}) 强制绕过系统代理:
环境有 HTTP_PROXY/HTTPS_PROXY 时,urllib 会把 localhost 请求也丢给代理,
结果代理回 502,看起来像 OC 挂了其实是被劫走(本轮实测复现)
需要走代理时用 MCPCTL_USE_PROXY=1 / OCSKILL_USE_PROXY=1 显式开启
- ocskill 输入嗅探增强:未知后缀按魔数/内容识别 .b64、zip、markdown
- frontmatter 支持 YAML 块标量(description: > |),中文折行不补空格
- 新增子仓库自身 .gitignore(父仓库的 ignore 对子仓库无效,__pycache__ 曾被误提交)
- README 补充代理 502 与 401 随机密码的排查说明
|
2026-09-23 12:24:31 +08:00 |
|
ypshidifu
|
873d965ef3
|
wsl-round-mcp:本机与 WSL OpenCode 互通的 CLI 工具
ocskill.py(skill 互通,零第三方依赖):
- list 运行时连接 WSL 的 OC(/api/skill 与 /skill 双端点,Bearer→Basic 自动降级),连不上则降级扫描 skills 目录
- push 接收 zip / 目录 / 单个 SKILL.md / base64(显式或按内容嗅探),先解码归一,再校验标准 skill 格式
校验四项:有 SKILL.md、有 YAML frontmatter、frontmatter 有 name 且合法、有 description
含 zip-slip 目录穿越防护;同名已存在需 --force(覆盖前自动备份)
- pull 反向把 WSL 里的 skill 拷回本机;dirs 查看两端目录与连接状态
- 写入 \\wsl.localhost\<发行版>\root\.config\opencode\skills\,OC 原生 watch 自动热加载,无需重启
mcpctl.py(MCP 配置对调开关,与插件同一套逻辑):
- status / on / off / mode / backup;读同一份 mcpcfg.txt,状态只看活文件是否含 mcp.servers
- 对调后调用 POST /api/location/reload 热重载;模式门控与插件一致(关闭一律拒绝)
附 6 个双击 bat(英文文案规避 GBK 编码问题,内部 chcp 65001)与中文 README。
|
2026-09-23 12:06:32 +08:00 |
|