从技能合集到多智能体生态:Context7 Skills Curated Pack 演进史
梳理 context7-skills-curated-pack 项目从一个简单的技能配置清单,如何一步步演变成为支持跨平台、多智能体、并提供详细数据面板和角色档案库的成熟生态项目。
Sharing my journey in Open Source, Rust, and Frontend.
梳理 context7-skills-curated-pack 项目从一个简单的技能配置清单,如何一步步演变成为支持跨平台、多智能体、并提供详细数据面板和角色档案库的成熟生态项目。
从 AI-friendly 技术选型,到录音转写 + Mermaid 需求整理,再到 Qwen CLI、Context7 和 Skills 的认知纠偏。ScholarFlow 不只是一个全栈项目,也是一段开发范式升级的过程。
汇总最近 10 天已合并 PR,以及已处理完成、待合并/待复审的 issue 与 PR 跟进。
修复 exclude_platform 在配置 linux 时未能排除 PEP 600 manylinux_2_* wheels 的问题,并补齐回归测试。
修复 docs/options.md 中缺失的 TOML reference definition,避免站点渲染出破损的 [TOML] 链接。
在 public profile 模板列表中为标题/描述增加可收缩与换行处理,避免超长/无空格内容把操作菜单或 Sign 按钮挤出可视区域。
增加 PIP_AUDIT_IGNORE_VULN(空格分隔的漏洞 ID 列表)作为 --ignore-vuln 的环境变量等价物,并补齐文档与单测。
用 Popen.communicate() 替换自写的 poll/read 循环,可靠读取完整 stdout/stderr,避免 UTF-8 边界被截断/污染,并补齐单测。
新增单测覆盖 require-virtualenv 的退出码与 opt-out 行为,并用矩阵测试显式约束各子命令是否忽略该限制,避免未来回归。
让 pip 的 zsh completion 输出在 compdef 不可用时按需初始化 compinit,并更新文档推荐写入 ~/.zshrc,避免启动时报错。
为 pipx 增加 MAX_PIPX_LOGS 环境变量(默认 10),用于控制保留多少份命令日志,并补齐单测。
修复 PodmanRemoteSshTunnel.disconnect 未清理重连 setTimeout,导致断开后仍可能触发重连的问题,并补齐单测。
修复自定义仓库 upload URL 以 /legacy 结尾但缺少 / 时,可能触发重定向导致上传静默失败的问题,并补齐单测。
将容器详情页的 Tty 标签与面包屑统一为 TTY(缩写一致性),并做定向测试验证。
在 pr-labeler GitHub Actions workflow 中增加 actions/checkout(checkout base SHA),让 actions/labeler 能读取 .github/labeler.yml 正常打标签。
在写入 JSONL 之前递归剥离字符串中的 ANSI escape sequences,避免机器可读的 report log 被颜色码污染,并补齐回归测试。
修复 cleanup_unserializable 只要遇到一个不可 JSON 序列化值就把整段 user_properties 变成字符串的问题,并补齐回归测试。
为 docutils 的 HTML5 输出补回 definition list classifier 的 ` : ` 分隔符,避免 PyPI 上出现 termclassifier 这类黏连文本,并补齐回归测试。
Biome 规则 noInteractiveElementToNoninteractiveRole 会把 `<hr role="presentation">` 误判为错误。本文记录定位、修复与测试验证。
为 delta-kernel-rs 添加 TableProperties 统一 accessor,集中处理协议默认值,并迁移现有调用点以减少 unwrap_or 分散逻辑。
记录我在 delta-io/delta-kernel-rs 完成 issue #1820 的实现过程:新增 StructType helper API、补测试、重构事务 schema 插入逻辑并提交 PR。
记录我在 delta-io/delta-kernel-rs 上对 issue #1804 的第一轮实现:把 actions 模块高重复校验测试改为 rstest 参数化用例。
记录我在 juanfont/headscale 的一次 Go 修复:让 `tailscaled --state=mem:` 在 interactive/OIDC 注册路径下也能正确标记并持久化为 ephemeral 节点。
记录我在 juanfont/headscale 的一次 Go 代码跟进:在 PR #3062 中把 prefixes 的风险说明从文档扩展到运行时 warning。
在 Settings > Registry 场景中,密码字段文案是小写 password。本文记录我如何做最小改动修复并补齐测试。
记录我在 delta-io/delta-kernel-rs 连续完成的 3 个 issue:committer tracing、checkpoint 示例简化、dataSkippingStringPrefixLength 支持。
记录本轮已完成的 issue 处理与 PR 提交(含待 review 项),不只统计 merged,方便持续跟踪与复盘。
给 Azure-Samples/azure-nvidia-robotics-reference-architecture 的 4 个 submit 脚本补齐 CLI 参数表(默认值/来源)与示例命令,降低上手成本并满足基础文档要求。
当 key 使用模板字符串/拼接表达式时,Biome 的 noArrayIndexKey 只看最后一个标识符,导致 `${index}-${item}` 等场景漏报。本文记录修复与测试补充。
记录我在 dbt-labs/dbt-jobs-as-code 中改进 sync --json 输出:在 apply 后返回 applied 结果,并包含 job_id,方便 CI/CD 自动触发新建 Job。
delta-io/delta-kernel-rs 中 Snapshot 构建会用 Url::join 拼接 _delta_log 路径;当 table URL 没有 trailing slash 时会替换最后一段路径导致路径错误。本次通过在 SnapshotBuilder::new_for 里统一补齐尾斜杠并完善测试,避免用户踩坑。
在 harper-core 中将既有的 few time unit 规则从仅匹配 “few <unit> ago” 扩展到更多常见上下文(After few minutes / Few minutes after 等),并补齐测试用例。
在 lingdojo/kana-dojo 中按贡献指南向 JSON 内容库追加一条日语谚语(ことわざ),属于 1 分钟级别的 good first issue。
记录我在 karakeep-app/karakeep 中为书签搜索增加轻量回退:当 Meilisearch 未配置或临时不可用时,回退到数据库 title-only 搜索,保证最小安装也能用。
记录我在 kubetail-org/kubetail 中更新 AGENTS.md 与 CLAUDE.md:对齐 Make targets 与 dashboard-ui 脚本,修正 Jotai/Recoil 描述,并补充常用 CI 命令入口。
Mazanoke 在启用 Basic Auth 时,容器重启会重复写入 auth_basic 指令导致 Nginx 报错并 crash loop。本次通过让 basicauth.sh 幂等化并在启动时始终执行脚本,解决重复注入问题。
用 gh(GraphQL)汇总近几天我被合并的 PR,按仓库归类并附链接,方便快速回顾。
记录我在 Storybook 中修复日志级别参数不生效的问题:统一 new logger 与 legacy npmlog 的 level,并补齐 CLI 参数校验。
解决一个小但高频的体验坑:提示里显示 30s,用户自然会写 UV_HTTP_TIMEOUT=120s。这个 PR 让 uv 接受可选的 `s`(仍然只表示秒)。
记录我在 ProjectEvergreen/wcc 中修复 popovertarget/popovertargetaction JSX 类型过宽的问题,并通过 @ts-expect-error 夹具做回归保护。
在 xiaozhi-client 前端组件中将复制提示的 setTimeout 存入 ref,并在组件卸载时清理,避免内存泄漏与卸载后 setState 警告。
用 gh 汇总过去 30 天我被合并的 PR,按仓库归类并附链接,方便回顾与复盘。
记录我如何在 Biome PR #8848 中补齐 PR 模板、披露 AI 协助,并优化 changeset 描述。
记录一次针对 .github/dependabot.yml 的小微优化,通过移除无效的空字符串配置来提升存储库健康度。
记录我在 GitHub CLI PR #12527 中根据评审意见运行 gofmt,修复缩进问题并恢复 CI 通过。
记录一个极简翻译器的 Rust 重写:低内存、无前端框架、离线依赖、systemd 静默自启。
记录我在 magic-regexp PR #666 中发现 Vercel 预览需要 Nuxt 团队授权,并提醒维护者处理。
记录我在 MalwareMinimizer PR #97 中修复 clippy 警告引发的构建失败,并推动 CI 通过。
记录我如何在 oxlint PR #18463 中补充 maxWarnings 的配置测试与 CLI fixtures,并请求复审。
记录我如何在 Rung PR #107 中补充 pr_ref 颜色单测、运行 clippy/fmt,并完成 rebase 更新。
记录我在 VueUse PR #5226 中回应社区 review 需求,并保持 PR 活跃度。
为 Rust 开发的 CLI 工具 Rung 改进易用性,包括支持更灵活的创建参数以及重构变基参数结构。
实践 "Coverage Agent" 策略,为 unjs/magic-regexp 补充 Edge Cases 测试。一个关于如何找到开源项目测试盲区的实战记录。
深入 Nuxt 源码,排查 v-once 组件在路由切换后引用 undefined 数据的幽灵 Bug。一次关于 Vue 闭包持久性与 Nuxt 内存清理策略冲突的深度调试。
为新兴的 Rust 项目 Rustrak 编写详细的 CONTRIBUTING.md,帮助新开发者快速上手。
介绍我如何为 Biome 添加新的 useGlobalThis lint 规则,检测 window、self 和 global 的使用并建议替换为 globalThis
介绍我如何通过修复 @supports 查询中的 CSS linting 问题为 Biome JavaScript 工具链做贡献
介绍我如何通过实现 xtask 为 Cadmus Kobo 文档阅读器项目做贡献,实现现代化构建过程自动化
介绍我如何通过修复上下文 dirty flag 和跟踪问题为 Chibi CLI 聊天机器人做贡献
如何构建一个自动将 GitHub 仓库同步到 Gitee 的工具,让国内用户也能顺畅访问
介绍我如何通过清理无效的 Dependabot 配置为 MalwareMinimizer 项目做贡献
介绍我如何通过实现图像 alt text 支持为 RemGlk Rust 移植项目做贡献,以提高无障碍性
介绍我如何通过将函数参数重构为结构化选项对象为 Rung CLI 工具做贡献
为 Tauri 项目添加 convert_file_src 函数,解决了在 Rust 中处理文件路径到 Tauri asset URL 的转换需求。
如何使用现代技术和增强功能重新构建知乎宽度调整浏览器扩展
记录 tech-blog 的深度重构过程,包括配置抽离、标签系统、Pagefind 搜索及 UI 细节优化。
在 vueuse 这样重量级的开源项目中贡献代码,PR 成功合并!
为 gh repo clone 命令添加 --no-upstream 选项,体验 Go 语言的高效开发。
为目前最快的 JS Linter oxlint 添加 maxWarnings 配置支持。
修复 Ruff 中的 FURB180 规则误删注释的 Bug,体验 Rust 高性能 Linter 的开发流程。
记录 tech-blog 2.0 的全面升级,探讨为什么 shadcn 和 Tailwind 是 AI 时代的最佳前端伙伴。
通过改进 UV_HTTP_TIMEOUT 的错误信息,提升开发者体验。
从 CSV 乱码到时区陷阱,从数据库锁死到跨平台打包。本文详细记录了一个企业级工具开发过程中的架构考量与踩坑实录。
记录我在 Una UI 项目中的第一次 Pull Request (#553),修复了 Checkbox 组件无法识别自定义颜色别名的问题。
深度解析 ikun-ui 如何适配 Svelte 5:从 Runes API 重构到 Vitest 测试迁移,以及遇到的那些坑。
记录从 Nuxt 4 迁移到 SvelteKit 的过程,以及如何解决 ikun-ui 在 Svelte 5 下的兼容性危机。
CSIT883 (JI125) System Analysis and Project Management 项目复盘。深度剖析 AI-Driven 开发模式下的四大陷阱:模型选择、架构偏差、CSS 混乱与版本控制。
露出鸡脚
其实人类也可以看
这篇文章不是给人类看的
记录在 Nuxt 项目中尝试 UnoCSS 多种 UI 方案的真实体验:DaisyUI 的版本陷阱、Una UI 的依赖细节,以及对“折腾”与“生产”的思考。
记录使用 Nuxt 4 + Una UI + Drizzle ORM 构建独立产品发现榜的完整过程,包括技术选型的反复探索和踩坑经验。
想试试超级轻量级的应用
想试试超级轻量级的应用
本系列面向 Java/Spring Boot 后端开发者,通过 Atidraw 项目系统学习 Vue 和 Nuxt。本篇介绍前端基础:HTML/CSS/JS、Node.js、npm,并与你熟悉的 Java 生态做类比。
本篇介绍 Vue 3 最核心的概念:响应式系统 (ref)、单文件组件 (.vue)、模板语法 (v-for, v-if)。通过逐行解读 ColorPicker.vue,带你理解 Vue 的工作原理。
本篇介绍 Nuxt 在 Vue 之上的增强:SSR 服务端渲染、基于文件的自动路由、Nuxt 4 的目录结构,以及 nuxt.config.ts 配置解析。
系列终篇。介绍 NuxtHub 如何无缝对接 Cloudflare:R2 对象存储、Workers AI、一键部署。回顾整个系列,为你的前端学习之旅划上句号。
本篇讲解 Nuxt 的数据获取方式:$fetch 与 useFetch 的区别、SSR 数据水合原理,以及使用 useState 管理全局状态。通过首页画廊的无限滚动实现加深理解。
本篇介绍 Nuxt 的内置后端引擎 Nitro:基于文件的 API 路由、事件处理器 eventHandler、请求参数读取,并逐行解析 upload.post.ts 文件上传接口。
本篇讲解 Vue 组件之间如何传递数据:Props 父传子、Events 子传父、Composables 复用逻辑。通过分析 DrawPad 与 ColorPicker 的交互,理解组件通信的最佳实践。
从 DH 密钥交换进阶到公钥加密。为什么两个密文乘起来,解密后等于明文相乘?这是 Assignment 1 的核心考点。
一个全栈备考管理应用的开发实录。从 LocalStorage 到 SQLite,从 ApexCharts 到 nuxt-charts 再回滚,深度复盘 SSR 状态管理与 UI 细节打磨。
期末考试复习记录。如何在一个有人偷听的房间里告诉对方秘密数字?DH 协议的核心逻辑梳理。
这是我的第一篇博客文章,欢迎来到我的技术博客!
Assignment 1 Task D 解析。如何在互不信任的情况下完成数据交换?这是 MPC 和投票协议的基石。
Deep Dive: 架构设计、快慢双车道并发策略与人机协作工作流
手把手教你使用 Astro、Tailwind CSS 和 GitHub Pages 搭建一个现代化的个人技术博客,支持暗色模式和评论系统。
Assignment 2 核心攻略。如何证明“我知道秘密”却不泄露秘密?深入解析 Sigma 协议与 Nonce 重用攻击。
CSIT883 (JI125) System Analysis and Project Management 项目复盘。分享如何使用 Google Antigravity 和 AI-Driven 选型策略,将一个混乱的项目拯救回来。