从 fork 到发布:用 Qoder 重构了一个图床插件

简介: 一款 VSCode 图床插件,源码仓库 404、代码陈旧、依赖冗余——但刚好拿来试试 Qoder。先建 Wiki 摸清老代码的坑,再用 Spec 模式驱动重构,中间踩了 Region 格式的坑,最后一句指令搞定 OSS 配置、一行命令打包发布。一次从头到尾的 vibe coding记录

日常写博客会比较多,我也经常需要在 Markdown 里粘贴图片,自动上传到 OSS 并返回链接。刚好有时间就去找了找相关工具, 也确实是有现成的, 插件市场里有一个 aliyun oss upload image,但代码是几年前的,源码仓库也 404 了...

2026-07-05-14-37-19

顺着 fork 链找到一份残留代码,clone 下来,开工

工具:Qoder 社区版 + GLM-5.2
项目:https://github.com/felixzhang-glitch/vscode-aliyun-upload-image

先建 Wiki

拿到一份陈旧代码,第一件事很有必要的可能是先搞清楚它到底做了什么、实现路径,以及是否有坑。

Qoder 社区版的 repo wiki 是付费功能(得加钱),所以自己写了个 wiki skills 做简单复刻。跑了一遍,生成系统架构、模块详解、核心流程三部分文档。代码只有 extension.js 179 行加 lib/upload.js 73 行,但 Wiki 梳理出来之后,几个问题直接暴露了:

  • 依赖了 axiosshelljs,实际上代码里根本没用到
  • expiration 变量初始值 0 且从未更新,客户端复用逻辑完全失效
  • 只支持 PNG,剪贴板脚本里的格式检测写死了单一类型
  • package.json 里残留了原作者邮箱和 fork 故事

反正肯定会有坑,先记录下来,让 Agent 后面自己处理就好

2026-07-05-14-48-45

Spec 驱动,先写方案再干活

打开 spec 模式,输入需求:

粘贴图片到 VSCode 直接转换为 Aliyun OSS URL,需要支持常见图片格式,转化为公开 URL,最后发布博客使用。重构代码,保证稳定性,删除冗余代码和原作者私人信息。

剩下的等它自己干。几轮反馈确认——主要是确认方案里哪些命令该删、哪些该留——执行阶段就不用再管了。

2026-07-05-14-50-16

改动不算大,但很琐碎。它逐文件完成的事情:

  • 接管 Cmd+V / Ctrl+V,智能区分图片和文本。有图片上传 OSS,没图片回退正常粘贴
  • 支持 PNG / JPEG / GIF / WebP / TIFF,通过 magic bytes 检测实际格式,扩展名不对就自动重命名
  • Region 格式自动补全。第一次配置我填了 cn-hangzhou,SDK 报 socket hang up,排查发现它是拿 region 直接拼 URL 的,补上 oss- 前缀就通了
  • 移除 axiosshelljsmoment 三个冗余依赖,moment 用原生 Date 替代
  • 删除原作者邮箱、个人域名、fork 故事,overview.md 直接删掉
  • 代码从回调模式改成 async/await,var 改成 const

踩点小坑

Region 的问题值得单独说一句。

报错日志是 socket hang up,请求的 URL 里 domain 是 public-files-dev.cn-hangzhou.aliyuncs.com——少了 oss- 前缀。原因是 ali-oss SDK 把 region 参数直接拼进 endpoint,不做任何处理。你填 cn-hangzhou,它就发到 cn-hangzhou.aliyuncs.com,这个域名不处理 OSS 请求,连接直接挂掉。

解决方式:在 upload.js 里加了一行自动补全,region 不以 oss- 开头就自动补上。然后顺手在 extension.js 里也加了一个 normalizeRegion(),域名替换的时候不会因为 region 格式不一致而匹配失败。

vibe coding 有点问题很正常, 难道不是么

配置 OSS,一句话搞定

需要一个 public 的 OSS bucket 和对应的 AK/SK。

懒人就不去阿里云控制台点来点去了。换个 skills,一句话:

创建 OSS bucket,配置 RAM 用户,生成 AccessKey,权限设为公共读

2026-07-05-14-52-18

配置写进 VSCode 的 settings.json

打包

验证通过,打包。npx vsce package 的时候遇到几个小问题:

  • 项目里有 yarn.lock 但我用的是 npm,vsce 默认检测到 yarn.lock 就调 yarn,需要加 -no-yarn
  • repository 字段为空,vsce 要求必须有,补回了 GitHub 地址
  • 没有 LICENSE 文件,printf 'y\n' 管道自动确认

最后产出一个 .vsixcode --install-extension 就装上了。这个包是 macOS Apple Silicon 上打的,README 里写了其他平台自己打包的流程。

Vibe Coding的一些建议

这次重构虽然项目体量不大,但也验证了一套适合 AI 辅助开发的流程:先 spec,再 goal,查漏补缺,最后审查上线

在开始任何需求之前,先用 spec 模式把需求描述清楚,让 AI 输出一份完整的方案说明,确认理解一致、边界清晰,避免“边做边猜”。这一步最好能像本文一样,把关键约束、支持格式、删除范围都写进需求里

方案确认后,切换到 goal 模式开始执行。goal 模式更适合拆解任务、逐步实现,过程中可以穿插验证——比如运行测试、手动检查关键路径,确保每一步都符合预期。查漏补缺这一环尤其重要,像 Region 补全、格式检测这些细节,往往是自动生成容易遗漏的地方

准备发生产前,再走一轮 代码审查/ultra-review),让 AI 对最终改动做一次全局审视,检查是否有未处理的边界情况、安全风险或残留的冗余代码。审查通过后,整个流程就变成了 spec 驱动 → goal 开发 → 审查发布 的闭环

当然,工具能帮你理清代码,但“为什么这样做”——那个判断还是得人来做。对于更大的项目或多轮迭代的场景,建议补充 Rules 和 Agents.md,让 AI 的决策更稳定,也让这套流程的复用性更高

参考

工具:Qoder 社区版 + GLM-5.2
项目:https://github.com/felixzhang-glitch/vscode-aliyun-upload-image

目录
相关文章
|
2月前
|
人工智能 索引
本地笔记库搭建:Qoder + 自定义 Skill
试了一圈笔记工具,最后落在 Qoder Desktop。需求很明确:Markdown 写作,自建图床,Agent 能检索能编辑。Codex、Cherry Studio、Notion、Qoderwork 都试过,各有各的不对。Qoder 让我停下来的原因很简单——编辑器跟 Agent 集成但不互相绑架,支持自定义模型,BYOK。没碰 RAG,用 Skill 搭了一套自己的检索流程:建索引、查索引、读文件、改文件、更新索引,每一步都看得见,跑偏了知道哪里出问题
512 3
|
2月前
|
人工智能 Java 开发工具
Qoder CN 深度实战:从编码辅助到 Agentic 自主开发的完整进阶路径
Qoder CN(原通义灵码)在 2026 年 5 月 20 日完成品牌升级后,已从单一的代码补全工具跃迁为全栈 Agentic 编程平台。本文从实战角度出发,深入拆解 Qoder CN 的能力三层模型,通过四个企业级 Spring Boot 项目场景验证 Quest 模式、Agent 模式、Repo Wiki 等核心功能的真实效果,并给出 Rules 规则配置、MCP 扩展、团队推广的完整最佳实践。
这个隐私设置你们是定时改成共享改进么
一个不留神就改成共享改进模式了,然后电脑就开始上传 卡的要死
|
2月前
|
人工智能 IDE Java
Qoder CN v1.4.1深度实战:从代码补全到自主Agent开发完整进阶指南
2026年原通义灵码完成品牌升级,正式更名为Qoder CN,产品定位从基础代码补全工具升级为全栈Agentic智能编程平台,当前稳定版本为v1.4.1。区别于传统对话式编码助手,Qoder CN构建三层分层能力体系,依托Quest自主任务、多文件Agent编辑、Repo项目知识库三大核心差异化功能,可独立完成需求拆解、方案设计、多文件编码、自测验证、文档沉淀全流程开发工作。本文结合大型Spring Boot遗留项目、微服务拆分、分库分表改造、单元测试覆盖四大企业真实场景,完整讲解安装部署、模型接入、规则配置、多模式使用、团队协作、MCP扩展全链路实操方案,同时横向对比Cursor、GitHu
523 0
|
30天前
Qorder如何在visual studio 2026 中使用
Qorder如何在visual studio 2026 中使用
|
1月前
|
人工智能 数据挖掘 测试技术
阿里云 Qoder 全系接入千问 Qwen3.7:夜间 Night Plan 折扣全解析
2026年阿里云完成Qoder全系产品对Qwen3.7系列模型的适配接入,并同步推出Night Plan夜间错峰计费机制,依托低谷空闲算力给出高额折扣,其中旗舰Qwen3.7 Max夜间仅2折,Qwen3.7 Plus夜间4折,使用最高可节省80%算力消耗成本。同时百炼平台面向新用户开放100万免费Tokens额度,个人开发者、企业团队可结合免费额度与夜间双重优惠,大幅降低代码重构、数据分析、长文档处理等高消耗任务开销。
397 0
|
27天前
|
存储 人工智能 Shell
用Hook让Agent感知时间
本文采用 Hook 机制为 Agent 注入时间感知能力,实现方式为 UserPromptSubmit 事件 Hook + 全局规则声明,Shell 脚本共 23 行。Agent 的时间感知问题指的是:模型权重是静态的,训练数据有截止日期,推理时没有内置时钟,它的时间停在上一次预训练那天。一周前的会话今天接着聊,对用户来说过了一周,对 AI 来说时间没有流动。目前不少 Agent 框架通过系统提示词注入时间,本文介绍一种基于 Hook 的通用实现,详细介绍见全文
235 0
用Hook让Agent感知时间
|
2月前
|
人工智能 JavaScript 数据可视化
用 Qoder 写代码很爽,但你知道它背后给模型发了什么吗?
ccglass 是一款开源本地观测工具,专为 Qoder 等 AI 编程 Agent 设计,可透明捕获并可视化其发给大模型的完整请求(system prompt、工具调用、上下文 diff、token 消耗等),无需改源码、不抓包、不传数据,助你真正理解与调试 AI 编程行为。
|
2月前
|
人工智能 IDE 前端开发
阿里云Qoder CN(原通义灵码):产品定位、版本划分与技术适配完整说明
阿里云旗下原“通义灵码”正式完成品牌升级,更名为**Qoder CN**。此次升级并非简单的名称变更,而是产品定位从单一代码生成工具向全栈智能研发助手的战略跃迁,产品形态、版本体系、技术能力与计费模式均实现全面迭代。Qoder CN以AI智能体为核心,构建起覆盖编码、办公、终端、云端的全场景产品矩阵,同时延续本土化优化、数据安全合规的核心优势,适配个人开发者、技术团队与企业级用户的多元需求。本文将从产品形态、版本划分、技术适配、核心能力、计费规则五大维度,结合官方最新信息,全面拆解Qoder CN产品体系,为不同用户提供清晰的选型与使用参考。
880 0
|
2月前
|
SQL 人工智能 测试技术
Loop Engineering 与 Spec-Driven Development 结合下的 token 收敛
本文深度剖析Loop Engineering(循环工程)——2026年兴起的第四代AI工程范式:它并非取代Prompt/SDD,而是构建“目标→执行→验证→修正→再执行”的自主闭环,让AI自我迭代直至达标;同时直面Token爆炸痛点,结合SDD规范实现上下文收敛与成本可控。(239字)