DevTrendsDeveloper trends
Accent color

DEV TRENDS / DAILY DISCOVERIES

May 18, 2026 · What developers are building

Daily discoveries from developer communities, independent makers, and open source.

Where Is This Place

基于人工智能的定位查找应用,能够从照片、截图和旅行图片中识别出地点,上传图片即可利用AI图像识别技术发现所在国家、城市、地标、旅游景点或确切位置

Original
DTTravel & mobility
—

WhatsMyName App

在 700 多个社交媒体平台、游戏网站、论坛和网站上查找用户名,搜索社交资料并检查账户可用性。

Original
DTLifestyle & entertainmentDTWeb appDTWeb
—

Teleprompter Online:让录视频更方便的极简在线提词器

Teleprompter Online 是一个开源的在线提词器,帮助独立开发者、创作者、YouTuber、和视频博主更自然地录制口播视频。 项目支持浏览器直接使用,无需安装,提供提词器模式和视频录制模式,支持滚动字幕、速度调整、字体大小调整、文字与背景颜色调整等功能,并能够根据窗口大小自动调整文本换行。 适用于 YouTube、TikTok、在线课程、演讲、直播和面试等场景。 项目同时提供 iPhone、iPad 和 Mac 客户端。 GitHub:

Original
DTResearch & learningDTSoftware developmentDTContent / resource
—

Rtomic LLM: 用 4 块钱训练一个 JEPA 架构的思维链大语言模型

用 R torch 从零构建的 JEPA (Joint Embedding Predictive Architecture) 大语言模型(带思维链),含 BPE 分词器训练、预训练、SFT 微调、推理全流程,总计约 700 行主脚本代码,单卡 RTX 4090 可跑,训练成本约 4 块钱。 点击观看视频演示 项目特点 1. 全 R 语言实现 完全基于 R 语言的 torch 和 luz 生态实现,不依赖任何 Python 深度学习框架。这在 LLM 领域极为少见,展示了 R 语言在深度学习前沿探索中的可能性。 2. JEPA + VQ 核心架构 不同于标准 GPT 式语言模型(在 logits 上计算交叉熵损失),本项目采用 JEPA (Joint Embedding Predictive Architecture): 隐空间预测:模型不是直接预测下一个 token 的 ID,而是在 embedding 语义空间中预测下一个 token 的连续向量表示 InfoNCE 对比损失:使用对比学习目标函数,让预测的隐向量在语义空间中接近真实下一 token 的 embedding,远离其他 token VQ (Vector Quantization) 解码:推理时通过最近邻搜索,在 token embedding 矩阵(同时作为码本)中找到最接近预测向量的 token ID 直通估计器 (STE):VQ 量化过程通过 STE 保持梯度通路,可端到端反向传播 这种架构相比传统 LLM 有以下特点: 使用对比学习让模型学习到 token 之间的语义关系,而非机械的 ngram 统计 Token embedding 矩阵天然作为 VQ 码本,无需额外参数 在推理时可结合连续空间操作(如插值、编辑)后再量化 简单说:标准 GPT 在开放域文本生成上更成熟稳定,而 JEPA 在语义理解和连续空间操作上有独特优势。本项目选择了 JEPA,是对 LeCun 世界模型理念的一次实践验证。 3. 极致低成本复现 模型架构:约 50M 参数(10 层 Transformer / 10 个注意力头 / 640 隐藏层维度 / 8192 词表) 上下文长度:256(预训练)→ 512(SFT) 训练数据: 预训练:117 万篇 / 787MB(基于 Minimind 语料清洗过滤) SFT:3000 条 CoT 思维链指令(DeepSeek V4 Flash 蒸馏) 算力与成本:单卡 RTX 4090 (24GB),总耗时 2 小时(PT 1.5h + SFT 0.5h),约 4 元(AutoDL 按时租用)

Original
DTResearch & learningDTSoftware developmentDTLibrary / SDK
—

AI Ins:不用翻文件,不用找内容,任意项目拿到手,点页面元素即可在页面中改页面,加单测

aiins AI Ins 是一个本地开发辅助工具,让你在开发 web/electron 等项目的时候无需离开项目窗口,在项目内编写项目。 有点像 “忒修斯之船”,逐渐迭代自己; 不用来回找文件。 不用复制组件路径。 不用描述“帮我修改xxx模块,xxx按钮...”。 接手陌生项目,直接快速上手修改。不再需要花时间熟悉项目结构、查找相关代码位置。 通过在页面中选取元素,调度 codex cli,claude code cli,copilot cli等等帮你修改,只要你本地任意一个配置好的 cli 工具即可 本地的开发环境下,这里假装自己在开发一个 x 平台,可以参考这个示例操作视频(面板仍在迭代好用的功能): 快速接入 你可以直接跟你的 agent 说: “帮我接入 aiins” , 他会自动帮你接入。 或者你担心 agent 不够智能,可以说:“参考 ,帮我接入 aiins” 命令行快捷接入 单配置的 web 或 electron 项目里,可以直接运行下面的命令。CLI 会自动识别项目内的构建工具(Vite / Webpack / Next.js),安装对应的 @aiins/ 包,并尝试修改配置文件: bash 只需要一行即可快速接入: npx aiins 如果项目里有多个 Vite / Webpack 配置文件,或者你明确知道要改哪一个配置文件,建议从一开始就显式指定: bash npx aiins bundler vite config apps/web/vite.config.ts npx aiins bundler webpack config build/webpack.dev.js config 支持相对项目根目录的路径,也支持绝对路径。CLI 在检测到多个候选配置文件时会直接停止,并提示你使用 config,不会再盲猜要改哪个文件。 你只需要:按住 Option / Alt 点选页面上的 DOM,通过打开的内置 AI Ins 面板,把目标元素和修改要求一起交给本地 CLI Agent 执行,并在页面里持续查看任务输出,任务完成后通过热更新直接看到修改结果即可。 并且在 macOS 按住 Option + Cmd,Windows / Linux 按住 Ctrl + Alt 点击页面元素也支持直接打开IDE,并跳转到源码位置,用以查看修改细节或者手动调整。 当前能力 通过运行 npx aiins 自动识别项目内的构建工具(Next.js / Vite / Webpack...),安装对应的 @aiins/ 包,并尝试修改配置文件。 支持通过 config <path 指定目标配置文件,适合多 Vite 配置、多 Webpack 配置或非标准文件名场景。 在检测到多个候选配置文件或多个可能的 bundler 时,CLI 会直接要求你显式指定,而不是静默修改第一个匹配项。 Vite dev server 自动注入 AI Ins 客户端,支持 Option / Alt 点选 DOM 打开面板。 面板内可以选择 Agent、填写代理、提交修改要求,并并发跟踪多个运行任务。 内置 Codex、Claude 和 Copilot CLI provider。 macOS 下会优先使用正在运行的 VS Code / Zed / WebStorm / Cursor 等编辑器打开源码。 支持状态 | 包 | 状态 | 说明 | | | | | | aiins | 可用 | 提供 aiins 命令,用于初始化项目配置。 | | @aiins/vite | 可用 | 主要支持路径,包含客户端注入和 React / Vue / SolidJS / Svelte source 适配。 | | @aiins/webpack | 可用 | 注册 devServer middleware,自动注入客户端脚本,并在开发态给 JSX DOM 元素注入 source 标记。 | | @aiins/nextjs | 可用 | 支持 Next.js dev server,包含 Webpack / Turbopack JSX source 标记和 middleware 转发。 | | @aiins/core | 内部包 | 提供 middleware、Agent provider、客户端脚本生成等共享能力。 | 高级用法 bash 接入 npx aiins 指定构建工具: bash npx aiins bundler vite npx aiins bundler webpack npx aiins bundler nextjs 指定目标配置文件: bash npx aiins config vite.config.ts npx aiins bundler vite config apps/web/vite.config.ts npx aiins bundler webpack config build/webpack.dev.js 如果你已经用 config 明确传入了类似 vite.config.ts 或 webpack.dev.js 这样的文件名,CLI 会先按文件名推断 bundler;如果文件名本身不够明确,仍然建议同时传 bundler。 只改配置、不安装依赖: bash npx aiins noinstall 强制重新安装最新的适配包: bash npx aiins force 不带子命令时,CLI 会默认执行初始化逻辑;显式写 npx aiins init 也仍然支持,后续新增的其它子命令会继续通过 aiins <command 调用。CLI 会根据 packageManager 或 lockfile 选择 pnpm / yarn / bun / npm。如果项目已经安装过对应依赖,默认会跳过安装;加上 force 时会重新安装最新版,例如 Vite 项目会安装 @aiins/vite@latest。如果检测到多个可能的 bundler、多个候选配置文件,或者配置文件结构太特殊,CLI 会提示你显式指定 bundler / config,或者手动把插件加入配置。 给 AI / Agent 的接入规则 如果你是 AI agent,用户说“帮我接入 aiins”时,优先按下面的顺序执行: 1. 先识别项目使用的是 Next.js、Vite 还是 Webpack。 2. 先检查要接入的 app/包目录里是否存在多个 bundler 配置文件。 3. 单配置项目:优先运行 npx aiins bundler <bundler。 4. 多配置项目:必须运行 npx aiins bundler <bundler config <目标配置文件,不要直接运行裸的 npx aiins。 5. 如果 CLI 无法安全修改配置,就按下面的 bundler 示例手动接入,不要猜测应该改哪一个文件。 6. 对 Vite 项目,把 aiIns() 放在 React / Vue / Svelte 等框架插件前面。 7. 对 Next.js 项目,除了更新 next.config. 之外,还要确保 instrumentationclient.ts 或 instrumentationclient.js 引入 @aiins/nextjs/client。 你也可以直接把下面这段话交给 AI: text 帮我在这个项目里接入 aiins。先判断 bundler;如果有多个配置文件,不要直接跑 npx aiins,而是使用 bundler 和 config 指定目标配置;如果 CLI 无法安全改写,就按 README 里的对应示例手动接入。 多配置文件项目 对单配置项目,npx aiins 依然是最快的入口。 对下面这些场景,推荐直接使用 config: 一个仓库里有多个 Vite app,各自有自己的 vite.config.。 Electron、SSR、微前端项目里同时存在 vite.config.ts、vite.renderer.config.ts、vite.main.config.ts。 Webpack 项目里同时存在 webpack.config.js、webpack.dev.js、webpack.prod.js。 你知道 dev server 实际读取的是某个特定配置文件,而不是根目录默认文件名。 典型命令: bash Vite npx aiins bundler vite config vite.config.ts npx aiins bundler vite config apps/admin/vite.config.ts Webpack npx aiins bundler webpack config webpack.dev.js npx aiins bundler webpack config build/webpack.renderer.config.js Vite 使用方式 如果 CLI 无法自动修改,或者你更希望手动接入,可以直接按下面的方式配置: ts import react from '@vitejs/pluginreact' import { defineConfig } from 'vite' import aiIns from '@aiins/vite' // < 引入插件 export default defineConfig({ plugins: [ aiIns(), // < 使用插件 react(), ], }) aiIns() 需要放在 React/Vue/Svelte 等框架插件前面,这样开发态 source 标记会在框架编译 JSX / template 前注入。 启动 dev server 后: Option / Alt + 点击页面元素:打开 AI Ins 面板并选中目标。 macOS Option + Cmd,Windows / Linux Ctrl + Alt + 点击页面元素:在编辑器里打开源码位置。 面板内 Shift + Enter:提交当前修改要求。 关闭面板不会中断已启动的 Agent 任务,任务会继续在侧边列表里更新。 Webpack 使用方式 如果 CLI 无法自动修改,或者你需要手动接入某个特定的 Webpack 配置文件,可以直接按下面的方式配置: js const { AiInsWebpackPlugin } = require('@aiins/webpack') module.exports = { devServer: {}, plugins: [new AiInsWebpackPlugin()], } Webpack 插件会在开发构建中自动注入客户端脚本,并通过 preloader 给 JSX DOM 元素注入 source 标记。 Next.js 使用方式 如果 CLI 无法自动修改,或者你希望手动接入,可以直接按下面的方式配置: ts import { withAiIns } from '@aiins/nextjs' import type { NextConfig } from 'next' const nextConfig: NextConfig = {} export default withAiIns(nextConfig) 同时在项目根目录添加或更新 instrumentationclient.ts: ts import '@aiins/nextjs/client' Next.js 适配会在开发态启动本地 AI Ins middleware 服务,并通过 rewrites() 转发 aiins 相关请求。Webpack dev server 会通过 webpack() hook 注入 source loader;Turbopack dev server 会通过 turbopack.rules 使用同一个 loader。 Agent 配置 内置 provider 包括 codex、claude、copilot、gemini 和 cursor。Gemini CLI 官方 headless 模式支持 stdin 与 JSON 输出;Cursor Agent CLI 官方建议在非交互场景使用 print outputformat streamjson,AI Ins 会按这两个 CLI 的结构化输出做实时展示。 默认 provider: ts aiIns({ agents: { defaultProvider: 'codex', }, }) 切换到 Gemini CLI: ts aiIns({ agents: { defaultProvider: 'gemini', }, gemini: { model: 'gemini2.5flash', }, }) 切换到 Cursor Agent CLI: ts aiIns({ agents: { defaultProvider: 'cursor', }, cursor: { model: 'gpt5', }, }) 自定义 provider: ts aiIns({ agents: { defaultProvider: 'myagent', providers: [ { id: 'myagent', label: 'My Agent', command: 'myagent', args: ['run', 'json'], input: 'stdin', output: 'plain', }, ], }, }) Provider 字段说明: command:本地可执行命令。 args:启动参数。 input:stdin 或 argument,表示 prompt 通过标准输入还是命令参数传入。 output:codexjson、json、jsonl 或 plain,用于解析输出流。 proxy:单个 provider 的代理配置。 环境变量 bash CODEXCLI=codex CLAUDECLI=claude COPILOTCLI=copilot GEMINICLI=gemini CURSORAGENTCLI=cursoragent AIINSPROXY= AIINSCODEXMODEL=gpt5.5 AIINSCLAUDEMODEL=sonnet AIINSCOPILOTMODEL=gpt5.2 AIINSGEMINIMODEL=gemini2.5flash AIINSCURSORMODEL=gpt5 代理解析优先级:插件配置 / provider 配置优先,其次读取 AIINSPROXY,再读取常见的 HTTPPROXY、HTTPSPROXY、ALLPROXY,最后尝试读取 macOS / Windows 系统代理。 跨平台命令解析会优先使用 PATH 中的可执行文件;Windows 下会优先选择 .cmd / .bat 等 npm 或原生命令 shim,因此只要 Codex、Claude、Copilot、Gemini 或 Cursor CLI 的安装目录已加入 PATH,macOS 和 Windows 都可以使用同一套配置。 本仓库开发 bash pnpm install pnpm dev:watch pnpm dev:nextjs pnpm dev:webpack pnpm dev:watch 会同时 watch core、Vite 插件和 examples/vitereact playground。改 packages/core/src/client/ 或 packages/vite/src/index.ts 后刷新浏览器即可。pnpm dev 仍然会先构建 core / Vite 插件,再启动 playground。 pnpm dev:vite 会同时启动 examples/vitereact、examples/vitevue3、examples/vitesolidjs 和 examples/vitesvelte 四个 Vite playground。 pnpm dev:nextjs 会先构建 core / Next.js 插件,再启动 examples/nextjsreact playground,默认使用 Turbopack。需要走 Webpack dev server 时可以运行 pnpm dev:nextjs:webpack。 pnpm dev:webpack 会先构建 core / Webpack 插件,再同时 watch core、Webpack 插件和 examples/webpackreact playground。改 packages/core/src/client/ 后刷新浏览器即可看到新的 AI Ins 面板 runtime;如果改的是 Webpack 插件初始化逻辑,重启 dev server 后生效。 常用检查: bash pnpm typecheck pnpm build 包结构 txt packages/cli aiins CLI 包,默认提供 init 初始化逻辑 packages/core middleware、Agent provider、客户端 runtime packages/vite Vite 插件 packages/webpack Webpack devServer 插件 packages/nextjs Next.js 插件,支持 Webpack / Turbopack dev server examples/vitereact examples/vitevue3 examples/vitesolidjs examples/vitesvelte examples/nextjsreact 常见问题 如何连接 codex的? Codex Exec 是一种轻量级、非交互式的 CLI 模式,专门用于自动化任务、CI/CD 管道和单次脚本执行。它通过命令行直接接收提示,处理任务,生成流式结构化日志并退出。

Original
DTData & operationsDTSoftware developmentDTAgent extension
—

Axiomind 个人知识管理系统

我开源了一个个人知识管理系统:Axiomind。 它最初来自 Karpathy 的 llmwiki 启发。 llmwiki 核心思路是:让 LLM 持续维护一个 Markdown wiki,把论文、书籍等编译成一个不断积累的知识库。 但我的问题不是资料太少,而是 daily notes 太碎。 日记、反思等碎碎记写得越多,越迫切需要一个系统把它们沉淀下来。 所以 Axiomind 做的是: daily notes → observations → principles → axioms → agentreadable personal context 也就是说,原始笔记不会直接变成“知识”。它会先被整理成 observation;重复出现、能指导行动的模式,才会上升为 principle;更深层、影响长期决策的信念,才会被提议为 axiom。 它不是帮我收藏更多信息,而是把长期记录编译成个人认知层。 Agent 负责整理结构,人负责确认意义。 一句话说:llmwiki 编译资料,Axiomind 编译自己。 仓库链接如下,欢迎体验

Original
DTResearch & learningDTAgent extensionDTAgent orchestration
—

憩连:用结构化方式整理需要记录的信息与事件

Hi 大家好,我是 Paul,憩连 的开发者。 憩连是一款结构化信息管理工具,专为解决「信息散落各处、难以回溯」的问题而生。 现代人的信息往往分散在手机备忘录、微信收藏、各种 App 之间,想找一条记录时总要翻来翻去。憩连用「空间 → 项目 → 时刻 → 事件 → 子事件」的层级结构,让每一条信息都有明确的归属,一眼看清上下文。 核心特点: 逻辑清晰:层级结构让每件事都在它该在的位置,相关内容自然聚合 灵活整理:支持按重要性、类别或主题自由组织信息 高效回溯:查找任意记录,直达目标,不再遗漏 目前我们已经上线 Web 端与 iOS 版本,欢迎大家进行体验。 Web:www.qliann.com iOS: 如有任何建议欢迎联系 hi@qliann.com ❤️

Original
DTSoftware developmentDTWebDTiOS
—

: 基于 edge-tts 的语音合成服务,方便部署到 vercel 等 serverless。

上次看到周刊推荐的 edgetts,感觉非常实用。 但是作为 js 程序员,我不太熟悉 python 的生态、部署。 于是,我让 cursor 做了一个 web 服务,可以部署到 vercel 上。 我只是仔细检查了代码,并整理了文档。 设置好密码,想用的时候,直接在 js 里调用 http api 就可以了。

Original
DTData & operationsDTSoftware developmentDTWeb
—

Dimcut 二维时间轴视频剪辑

Dimcut 是一个探索新型剪辑交互设计的开源项目,非常适合知识类(如技术分享、演讲、播客类)音视频文件的剪辑。 主要特征和创新点 二维时间轴;一眼看到更多信息 将文字整合进音视频时间轴;能更快地定位时间点、选中片段,进行剪辑操作 极简便捷;极简 UI 设计,直接在网页中剪辑视频 体验地址:

Original
DTContent creationDTWeb appDTWeb
—

AVC:用一行 Unix 管道,把 AI Agent 的文字墙变成可交互弹窗

AVC(Agent View Controller)是一个 3MB 的 Go 单二进制,给所有 CLI AI Agent(Codex CLI、Claude Code、Cursor、Gemini CLI)加上「视觉交互」的能力。 解决什么痛点 AI Agent 在终端里又快又强,但每次需要人类拍板——一个重构方案、一个数据库迁移计划、一个多步部署——它们只会甩出 50 行等宽文字让你逐行读,输入 yes/no。 想把第 3 步和第 5 步换个顺序?想跳过第 6 步?想改第 4 步的描述?只能复制出来手改,再粘回去,或者放弃直接说 "all good"。 Agent 的输入是 JSON,Agent 的输出是 JSON,唯独让人审批的那一刻塌缩成了文字。 怎么用 一行 Unix 管道: bash echo '{"view":"plan","title":"...","data":{"steps":[...]}}' | avc 读 stdin → 弹原生 WebView 窗口 → 人拖拽/编辑/勾选 → 修改后的 JSON 回到 stdout → Agent 继续按修改后的计划执行。 像 fzf 给 CLI 用户带来了「交互式选择」,AVC 给所有 CLI Agent 带来了「交互式视觉审批」。 主要特征 Agentagnostic:不绑定任何 Agent,作为 skill 一键装到 Claude Code / Codex CLI / Gemini CLI / GitHub Copilot 3 MB 单二进制:启动 < 100ms,零运行时依赖。系统原生 WebView(macOS WKWebView / Linux WebKitGTK / Windows WebView2),当前 macOS 已 CI 验证,Linux/Windows 理论支持欢迎社区验证 7 种 UI JSON 里 lang 字段切换 en/zh/ja/ko/es/fr/de Smart Threshold:内容短于 3000 tokens 自动透传不打断人;长内容才弹窗 安装 bash brew install study8677/tap/avc 或一键脚本(自动给所有检测到的 Agent 装上 skill) curl sSL | bash plan view

Original
DTData & operationsDTSoftware developmentDTAgent extension
—

codewiki-cli 无需浏览器即可查询 GitHub 仓库 Wiki

一条命令查询任意 GitHub 仓库的 Wiki,输出 Markdown 格式,专为 LLM 编码 Agent 和人类设计。 一句话: 通过 Google Code Wiki 查询 GitHub Wiki,无需打开浏览器。内置 6 小时磁盘缓存,支持 Claude Code 技能集成。 ✨ 亮点 1. 为 LLM Agent 优化 输出干净的 Markdown 到 stdout,GitHub 源码引用自动转换为可点击 URL,架构图保留为 dot 代码块。可直接管道传输给任何 AI Agent。 2. 无需认证,即装即用 公共 GitHub 仓库无需任何认证或 API Key。安装后直接使用: bash codewiki read facebook/react 3. 智能缓存,高效查询 6 小时磁盘缓存机制,连续查询同一仓库时跳过引导步骤。缓存位置可自定义:$CODEWIKICACHEDIR。 4. 多种查询模式 structure:列出 Wiki 章节标题 read:导出完整 Wiki 为 Markdown ask:用 Gemini 回答关于仓库的问题 5. Claude Code 技能集成 内置 Claude Code 技能,Claude 可自动识别何时使用 codewiki: bash cp r skill/codewiki ~/.claude/skills/ 📦 安装 Homebrew (macOS arm64) bash brew install aeroxy/tap/codewikicli Cargo bash cargo install codewikicli 💻 使用示例 bash 列出仓库 Wiki 结构 codewiki structure facebook/react 导出完整 Wiki codewiki read facebook/react 提问关于仓库的问题 codewiki ask facebook/react "How does useEffect work?" 管道传输给 AI Agent codewiki read astgrep/astgrep | claude p "Summarise the rule engine" 🔧 工作原理 Code Wiki 没有公开 API。codewiki 使用与 Google 网页前端相同的 batchexecute RPC 协议: VSX6ub:返回仓库完整 Wiki 的结构化 JSON EgIxfe:使用 Gemini 回答聊天问题 无需认证。仅支持公共 GitHub 仓库(Code Wiki 本身暂不支持私有仓库)。 📜 MIT 专为 LLM 编码 Agent 设计的 GitHub Wiki 查询工具。无需浏览器,无需认证,输出干净 Markdown,支持 Claude Code 技能集成。

Original
DTSoftware developmentDTAgent extensionDTWeb app
—

QUIT: A Human-in-the-Loop Platform for AI Research Automation

QUIT Quit the Old Way of Doing Research ✨ Query · Understand · Implement · Tell 最近开源了一个项目 —— QUIT,做的事情是:给它一个研究方向,它自动完成文献检索、idea 生成、实验代码编写、实验运行,最后输出一篇完整的 LaTeX 论文。 GitHub: 它和其他「Auto Research」工具有什么不同? 市面上已有一些类似的工作,但大多数是黑盒 EndtoEnd 流程——一键启动,等结果,中间不可干预。 QUIT 的设计理念不同:HumanintheLoop 优先。 你可以在任意阶段暂停,查看中间产物(证据卡片、Idea 列表、实验方案、生成代码),手动修改后再继续,之前的步骤不需要重新跑。当然,如果你想全自动跑完,EndtoEnd 模式也完全支持。 系统架构 四个专职 Agent,由中央状态机协调: | Agent | 职责 | ||| | 🗺️ PlannerAgent | 将用户的研究方向转化为结构化的 ResearchBrief | | 🔬 ResearchAgent | 检索论文、提取证据卡片、生成并排序 ideas | | 🏗️ BuilderAgent | 编写实验代码、运行实验、起草论文 | | 🔍 ReviewerAgent | 独立审查 idea、代码质量和论文草稿 | ReviewerAgent 分离的设计是为了避免「自我确认偏差」——生成和评审不是同一个 Agent。 关键设计:Artifact 驱动 所有中间产物都是普通文件(JSON / JSONL / LaTeX),Agent 之间不共享对话上下文。这带来三个好处: ✅ 可追溯:每一步的输入输出都有记录 ✅ 可复现:所有 LLM prompt 和原始回复均保存 ✅ 可恢复:任意阶段崩溃或中断后可从断点继续 成本 使用 DeepSeekV4Pro 跑完整个 workflow(检索 → 论文):约 10 RMB。 Pipeline 流程 PLAN → VALIDATE → RETRIEVE → READ → IDEATE → IDEAEVAL → BUILDSPEC → CODE → CODEEVAL → WRITE → WRITEEVAL → EXTRACT 支持任意阶段作为起点或终点,比如: 只跑文献综述:PLAN → READ 从已有结果重新写论文:WRITE → WRITEEVAL 修改 BuildSpec 后重跑实验:CODE → CODEEVAL 已生成的 论文 以下论文均由 QUIT 端到端生成: TrustRegion Rectified Flow Offline Actor for LowLatency Generative Policy Learning(Offline RL 方向) Online Pricing and EnergyAware Dispatch for Mobile Charging RobotMediated V2G Services(机器人 + 能源调度) Decoupled Macro–Micro Generation for Editable LargeScale 3D Surface Patterns(3D 生成方向) 欢迎大家来体验测试,也非常欢迎 HumanintheLoop 的使用反馈 —— 你在哪个阶段介入、怎么修改的、最终结果如何,这类经验对项目改进很有价值。 有问题欢迎评论区讨论 🙌 ⭐ GitHub:MrXcHan/QUIT

Original
DTResearch & learningDTSoftware developmentDTAgent extension
—

Code quality scan: 10 findings (B, 85/100)

Hi @521xueweihan, an automated scan of this repository surfaced 10 codequality findings that may be worth a look. Full details, severity filters, and perfile context are at the link below — feel free to close this issue if it isn't useful to you. Full interactive report scan page At a glance Score: 85/100 • Grade: B Scanned: 20260517 20:09 UTC Lines of code: 313 Total findings: 10 Securitytagged: 9 Credential / secret patterns: 0 Top issues, with file & line These are deterministic rulebased findings — the file paths and line numbers below are real and can be verified in your tree. 1. [high] [SEC013] Path Traversal — User Input in File Path: Usercontrolled input used in file path without sanitization. Allows reading arbitrary files. — script/makecontent/makecontent.py:45 Use os.path.realpath() and verify the path starts with your expected base directory. Use securefilename() for uploads. 2. [low] No LICENSE file Add a LICENSE file to your repository. Use choosealicense.com to pick the right license (MIT for permissive, Apache 2.0 for patent protection, GPL for copyleft). 3. [medium] Remote install command pipes network code directly to a shell — content/HelloGitHub102.md:195 Agent helper projects often publish oneline installers. curl | sh style commands are convenient, but they bypass review unless the script is pinned, signed, or checksumverif… 4. [medium] Remote install command pipes network code directly to a shell — content/HelloGitHub29.md:39 Agent helper projects often publish oneline installers. curl | sh style commands are convenient, but they bypass review unless the script is pinned, signed, or checksumverif… 5. [medium] Remote install command pipes network code directly to a shell — content/HelloGitHub50.md:55 Agent helper projects often publish oneline installers. curl | sh style commands are convenient, but they bypass review unless the script is pinned, signed, or checksumverif… See all 10 findings, with severity filters and AI fix prompts: What is this? Repobility is a research project that scans public repositories with a multilayer static analyzer (rulebased, no AI hallucinations) and learns codequality patterns across a broad crossrepo corpus. This is not a sales pitch — there's no paywall, no signup required to view the report, and no payment ask. If the findings aren't useful, please close this issue and we won't post again. To rerun after fixes land: paste your URL at repobility.com — fresh scan, free. Issue filed via the public Repobility report at

DTSecurity & testingDTResearch & learningDTAgent extension
—

AI Ins:不用翻文件,不用找内容,任意项目拿到手,点页面元素即可在页面中改页面,加单测

JS 一个本地开发辅助工具,让你在开发 web/electron 等项目的时候无需离开项目窗口,在项目内编写项目。 aiins AI Ins 是一个本地开发辅助工具,让你在开发 web/electron 等项目的时候无需离开项目窗口,在项目内编写项目。 有点像 “忒修斯之船”,逐渐迭代自己; 不用来回找文件。 不用复制组件路径。 不用描述“帮我修改xxx模块,xxx按钮...”。 接手陌生项目,直接快速上手修改。不再需要花时间熟悉项目结构、查找相关代码位置。 通过在页面中选取元素,调度 codex cli,claude code cli,copilot cli等等帮你修改,只要你本地任意一个配置好的 cli 工具即可 本地的开发环境下,这里假装自己在开发一个 x 平台,可以参考这个示例操作视频(面板仍在迭代好用的功能): 快速接入 你可以直接跟你的 agent 说: “帮我接入 aiins” , 他会自动帮你接入。 或者你担心 agent 不够智能,可以说:“参考 ,帮我接入 aiins” 命令行快捷接入 单配置的 web 或 electron 项目里,可以直接运行下面的命令。CLI 会自动识别项目内的构建工具(Vite / Webpack / Next.js),安装对应的 @aiins/ 包,并尝试修改配置文件: bash 只需要一行即可快速接入: npx aiins 如果项目里有多个 Vite / Webpack 配置文件,或者你明确知道要改哪一个配置文件,建议从一开始就显式指定: bash npx aiins bundler vite config apps/web/vite.config.ts npx aiins bundler webpack config build/webpack.dev.js config 支持相对项目根目录的路径,也支持绝对路径。CLI 在检测到多个候选配置文件时会直接停止,并提示你使用 config,不会再盲猜要改哪个文件。 你只需要:按住 Option / Alt 点选页面上的 DOM,通过打开的内置 AI Ins 面板,把目标元素和修改要求一起交给本地 CLI Agent 执行,并在页面里持续查看任务输出,任务完成后通过热更新直接看到修改结果即可。 并且在 macOS 按住 Option + Cmd,Windows / Linux 按住 Ctrl + Alt 点击页面元素也支持直接打开IDE,并跳转到源码位置,用以查看修改细节或者手动调整。 当前能力 通过运行 npx aiins 自动识别项目内的构建工具(Next.js / Vite / Webpack...),安装对应的 @aiins/ 包,并尝试修改配置文件。 支持通过 config <path 指定目标配置文件,适合多 Vite 配置、多 Webpack 配置或非标准文件名场景。 在检测到多个候选配置文件或多个可能的 bundler 时,CLI 会直接要求你显式指定,而不是静默修改第一个匹配项。 Vite dev server 自动注入 AI Ins 客户端,支持 Option / Alt 点选 DOM 打开面板。 面板内可以选择 Agent、填写代理、提交修改要求,并并发跟踪多个运行任务。 内置 Codex、Claude 和 Copilot CLI provider。 macOS 下会优先使用正在运行的 VS Code / Zed / WebStorm / Cursor 等编辑器打开源码。 支持状态 | 包 | 状态 | 说明 | | | | | | aiins | 可用 | 提供 aiins 命令,用于初始化项目配置。 | | @aiins/vite | 可用 | 主要支持路径,包含客户端注入和 React / Vue / SolidJS / Svelte source 适配。 | | @aiins/webpack | 可用 | 注册 devServer middleware,自动注入客户端脚本,并在开发态给 JSX DOM 元素注入 source 标记。 | | @aiins/nextjs | 可用 | 支持 Next.js dev server,包含 Webpack / Turbopack JSX source 标记和 middleware 转发。 | | @aiins/core | 内部包 | 提供 middleware、Agent provider、客户端脚本生成等共享能力。 | 高级用法 bash 接入 npx aiins 指定构建工具: bash npx aiins bundler vite npx aiins bundler webpack npx aiins bundler nextjs 指定目标配置文件: bash npx aiins config vite.config.ts npx aiins bundler vite config apps/web/vite.config.ts npx aiins bundler webpack config build/webpack.dev.js 如果你已经用 config 明确传入了类似 vite.config.ts 或 webpack.dev.js 这样的文件名,CLI 会先按文件名推断 bundler;如果文件名本身不够明确,仍然建议同时传 bundler。 只改配置、不安装依赖: bash npx aiins noinstall 强制重新安装最新的适配包: bash npx aiins force 不带子命令时,CLI 会默认执行初始化逻辑;显式写 npx aiins init 也仍然支持,后续新增的其它子命令会继续通过 aiins <command 调用。CLI 会根据 packageManager 或 lockfile 选择 pnpm / yarn / bun / npm。如果项目已经安装过对应依赖,默认会跳过安装;加上 force 时会重新安装最新版,例如 Vite 项目会安装 @aiins/vite@latest。如果检测到多个可能的 bundler、多个候选配置文件,或者配置文件结构太特殊,CLI 会提示你显式指定 bundler / config,或者手动把插件加入配置。 给 AI / Agent 的接入规则 如果你是 AI agent,用户说“帮我接入 aiins”时,优先按下面的顺序执行: 1. 先识别项目使用的是 Next.js、Vite 还是 Webpack。 2. 先检查要接入的 app/包目录里是否存在多个 bundler 配置文件。 3. 单配置项目:优先运行 npx aiins bundler <bundler。 4. 多配置项目:必须运行 npx aiins bundler <bundler config <目标配置文件,不要直接运行裸的 npx aiins。 5. 如果 CLI 无法安全修改配置,就按下面的 bundler 示例手动接入,不要猜测应该改哪一个文件。 6. 对 Vite 项目,把 aiIns() 放在 React / Vue / Svelte 等框架插件前面。 7. 对 Next.js 项目,除了更新 next.config. 之外,还要确保 instrumentationclient.ts 或 instrumentationclient.js 引入 @aiins/nextjs/client。 你也可以直接把下面这段话交给 AI: text 帮我在这个项目里接入 aiins。先判断 bundler;如果有多个配置文件,不要直接跑 npx aiins,而是使用 bundler 和 config 指定目标配置;如果 CLI 无法安全改写,就按 README 里的对应示例手动接入。 多配置文件项目 对单配置项目,npx aiins 依然是最快的入口。 对下面这些场景,推荐直接使用 config: 一个仓库里有多个 Vite app,各自有自己的 vite.config.。 Electron、SSR、微前端项目里同时存在 vite.config.ts、vite.renderer.config.ts、vite.main.config.ts。 Webpack 项目里同时存在 webpack.config.js、webpack.dev.js、webpack.prod.js。 你知道 dev server 实际读取的是某个特定配置文件,而不是根目录默认文件名。 典型命令: bash Vite npx aiins bundler vite config vite.config.ts npx aiins bundler vite config apps/admin/vite.config.ts Webpack npx aiins bundler webpack config webpack.dev.js npx aiins bundler webpack config build/webpack.renderer.config.js Vite 使用方式 如果 CLI 无法自动修改,或者你更希望手动接入,可以直接按下面的方式配置: ts import react from '@vitejs/pluginreact' import { defineConfig } from 'vite' import aiIns from '@aiins/vite' // < 引入插件 export default defineConfig({ plugins: [ aiIns(), // < 使用插件 react(), ], }) aiIns() 需要放在 React/Vue/Svelte 等框架插件前面,这样开发态 source 标记会在框架编译 JSX / template 前注入。 启动 dev server 后: Option / Alt + 点击页面元素:打开 AI Ins 面板并选中目标。 macOS Option + Cmd,Windows / Linux Ctrl + Alt + 点击页面元素:在编辑器里打开源码位置。 面板内 Shift + Enter:提交当前修改要求。 关闭面板不会中断已启动的 Agent 任务,任务会继续在侧边列表里更新。 Webpack 使用方式 如果 CLI 无法自动修改,或者你需要手动接入某个特定的 Webpack 配置文件,可以直接按下面的方式配置: js const { AiInsWebpackPlugin } = require('@aiins/webpack') module.exports = { devServer: {}, plugins: [new AiInsWebpackPlugin()], } Webpack 插件会在开发构建中自动注入客户端脚本,并通过 preloader 给 JSX DOM 元素注入 source 标记。 Next.js 使用方式 如果 CLI 无法自动修改,或者你希望手动接入,可以直接按下面的方式配置: ts import { withAiIns } from '@aiins/nextjs' import type { NextConfig } from 'next' const nextConfig: NextConfig = {} export default withAiIns(nextConfig) 同时在项目根目录添加或更新 instrumentationclient.ts: ts import '@aiins/nextjs/client' Next.js 适配会在开发态启动本地 AI Ins middleware 服务,并通过 rewrites() 转发 aiins 相关请求。Webpack dev server 会通过 webpack() hook 注入 source loader;Turbopack dev server 会通过 turbopack.rules 使用同一个 loader。 Agent 配置 内置 provider 包括 codex、claude、copilot、gemini 和 cursor。Gemini CLI 官方 headless 模式支持 stdin 与 JSON 输出;Cursor Agent CLI 官方建议在非交互场景使用 print outputformat streamjson,AI Ins 会按这两个 CLI 的结构化输出做实时展示。 默认 provider: ts aiIns({ agents: { defaultProvider: 'codex', }, }) 切换到 Gemini CLI: ts aiIns({ agents: { defaultProvider: 'gemini', }, gemini: { model: 'gemini2.5flash', }, }) 切换到 Cursor Agent CLI: ts aiIns({ agents: { defaultProvider: 'cursor', }, cursor: { model: 'gpt5', }, }) 自定义 provider: ts aiIns({ agents: { defaultProvider: 'myagent', providers: [ { id: 'myagent', label: 'My Agent', command: 'myagent', args: ['run', 'json'], input: 'stdin', output: 'plain', }, ], }, }) Provider 字段说明: command:本地可执行命令。 args:启动参数。 input:stdin 或 argument,表示 prompt 通过标准输入还是命令参数传入。 output:codexjson、json、jsonl 或 plain,用于解析输出流。 proxy:单个 provider 的代理配置。 环境变量 bash CODEXCLI=codex CLAUDECLI=claude COPILOTCLI=copilot GEMINICLI=gemini CURSORAGENTCLI=cursoragent AIINSPROXY= AIINSCODEXMODEL=gpt5.5 AIINSCLAUDEMODEL=sonnet AIINSCOPILOTMODEL=gpt5.2 AIINSGEMINIMODEL=gemini2.5flash AIINSCURSORMODEL=gpt5 代理解析优先级:插件配置 / provider 配置优先,其次读取 AIINSPROXY,再读取常见的 HTTPPROXY、HTTPSPROXY、ALLPROXY,最后尝试读取 macOS / Windows 系统代理。 跨平台命令解析会优先使用 PATH 中的可执行文件;Windows 下会优先选择 .cmd / .bat 等 npm 或原生命令 shim,因此只要 Codex、Claude、Copilot、Gemini 或 Cursor CLI 的安装目录已加入 PATH,macOS 和 Windows 都可以使用同一套配置。 本仓库开发 bash pnpm install pnpm dev:watch pnpm dev:nextjs pnpm dev:webpack pnpm dev:watch 会同时 watch core、Vite 插件和 examples/vitereact playground。改 packages/core/src/client/ 或 packages/vite/src/index.ts 后刷新浏览器即可。pnpm dev 仍然会先构建 core / Vite 插件,再启动 playground。 pnpm dev:vite 会同时启动 examples/vitereact、examples/vitevue3、examples/vitesolidjs 和 examples/vitesvelte 四个 Vite playground。 pnpm dev:nextjs 会先构建 core / Next.js 插件,再启动 examples/nextjsreact playground,默认使用 Turbopack。需要走 Webpack dev server 时可以运行 pnpm dev:nextjs:webpack。 pnpm dev:webpack 会先构建 core / Webpack 插件,再同时 watch core、Webpack 插件和 examples/webpackreact playground。改 packages/core/src/client/ 后刷新浏览器即可看到新的 AI Ins 面板 runtime;如果改的是 Webpack 插件初始化逻辑,重启 dev server 后生效。 常用检查: bash pnpm typecheck pnpm build 包结构 txt packages/cli aiins CLI 包,默认提供 init 初始化逻辑 packages/core middleware、Agent provider、客户端 runtime packages/vite Vite 插件 packages/webpack Webpack devServer 插件 packages/nextjs Next.js 插件,支持 Webpack / Turbopack dev server examples/vitereact examples/vitevue3 examples/vitesolidjs examples/vitesvelte examples/nextjsreact 常见问题 如何连接 codex的? Codex Exec 是一种轻量级、非交互式的 CLI 模式,专门用于自动化任务、CI/CD 管道和单次脚本执行。它通过命令行直接接收提示,处理任务,生成流式结构化日志并退出。 亮点 开发项目时 不用来回找文件。 不用复制组件路径。 不用描述“帮我修改xxx模块,xxx按钮...”。 接手陌生项目,直接快速上手修改。不再需要花时间熟悉项目结构、查找相关代码位置。 在项目中修改自己 markdown 截图或演示视频

Original
DTData & operationsDTSoftware developmentDTAgent extension
—

登录 Codex 强制要求验证手机号怎么办?

登录 Codex 强制要求验证手机号怎么办? C 登录 Codex 强制要求验证手机号怎么办? 事情是这样的。 这几天群里好几个朋友跟我说,登录 Codex 的时候突然弹出强制验证手机号的窗口,怎么都过不去。大家去网上搜了一圈“Codex 要求验证手机号怎么办”,发现不是个例,是最近大批量集体中招。 然后有一个细节把我搞得很迷惑,说出来大家感受一下:同一个账号,在浏览器里登录 ChatGPT 网页版聊天,完全正常。但只要切到 Codex 那边去授权,那个“验证手机号”的弹窗立马就来。更神奇的是,如果换一个干净环境注册的小号去试,有些人反而能顺利进去,什么验证都没有。 这就很耐人寻味了,OpenAI 这次不是无差别全局风控,是在选择性触发。 为什么登录 Codex 会突然要求验证手机号? 你如果关注这个领域的话可能知道,OpenAI 最近一直在升级对免费资源的保护机制,这次不过是一个缩影。 背后的逻辑其实很简单。自从 OpenAI 推出免费的 Codex 工具,免费用户安装并登录就能获得一定的调用额度,这本来是给开发者的福利。但这个福利很快引来了一批黑产团队,他们用脚本几万、十几万地批量注册机器号,疯狂白嫖算力和额度。 面对封之不绝的机器号,官方直接在底层拉高了防御阈值:所有免费使用 Codex 的用户,都极大概率要过手机号验证这一关。 所以你即使是正常手操注册、老老实实用了好几年的账号,登录 Codex 或 ChatGPT 时也可能撞上风控。这不是针对你,是为了拦截批量注册机设立的全局策略。普通用户很容易因为两个场景被「连坐」:一是用了共享 IP(即多人共用的万人骑代理节点);二是你的 IP 地址恰好跟批量注册机所在的网段重合了,纯纯的无妄之灾。 哪类账号最容易触发 OpenAI 风控? 那到底哪类账号最容易中招?根据这两天大量用户的实测反馈,基本上是以下三类: 1. 网络 IP 不干净:注册时间不长,但登录 IP 经常跨国、跨地区跳来跳去。 2. 注册途径可疑:用一次性接码邮箱或者批量生成的 Gmail 别名注册的账号,这类账号从一开始就带着「来历可疑」的标签。 3. 突然的异常调用:最近突然开始高频使用 Codex 或 API 的账号。就是那种之前从来不碰开发者功能,最近突然开始密集调用的。 坦率的讲,把这些特征拼凑在一起,画像就已经非常清晰了。这简直就是标准的「批量小号」行为模式。 为什么 OpenAI 接码平台收不到验证码了? 说到这里,必须解答一个大家狂搜的关键问题:既然要验证,那我去接个码不就行了?为什么接码平台收不到 Codex 的验证码了? OpenAI 最新的风控规则是一号一绑,额度锁定。一旦某个手机号绑定了账号,这个号码就被系统锁死,同一号码无法再为新账号接码,会直接提示超限。 这意味着,市面上那些廉价接码平台上的公共号码,大概率早就被黑产反复刷废了。你用接码平台去试,发现死活收不到验证码,不是你操作问题,是这些号码本来就已经死掉了。 我觉得这个逻辑设计挺绝的,一刀切解决了「老问题」,但确实误伤了一批正常用户。 ChatGPT 和 Codex 风控怎么解除?两套破局方案 好,说完原因,说说 ChatGPT 和 Codex 风控怎么解除,这事到底怎么破局。 方案一:升级底层网络环境(治本之法) 如果你的账号是正常使用的账号,却一直弹验证,百分之九十九是 IP 质量的问题。廉价的共享代理真的可以放弃了,被万人骑过的节点去撞 OpenAI 的风控墙,纯粹是送人头。 你需要换一个纯净度高、没被大规模污染的科学上网代理。这块经常有朋友问我平时用什么,坦率的讲,我这几年折腾了无数节点,最后稳定下来一直用到现在的,是一个叫 TAG 机场的服务。 它可能不算市面上最便宜的,但最大的好处就是极其省心。作为老牌的高端机场,TAG 的节点质量极高,我平时高频用 ChatGPT 和各种 AI 工具,几乎没遇到过因为 IP 连坐导致封号或者弹验证的情况。如果你也是那种不想把时间浪费在无休止折腾网络上,只想安安静静用 AI 干活的人,真的强烈建议去试试 TAG 机场。 网络环境干净了,被风控系统要求二次验证的概率会大幅降低。节点的「脏不脏」,很多时候才是这个核心问题的解法。 方案二:升级 Plus 订阅(最省事) 根据实测,付费用户的账号信任权重要高很多。升级之后,系统会自动为这类高价值账号豁免绝大多数的常规风控拦截。 如果升级后还是弹窗,那就参照方案一查一下你的网络节点,说明两个问题叠加了。对于不想折腾网络和到处找接码的朋友,这是最直接的解法。 我有时候觉得,这种「平台打黑产、正常用户被误伤」的故事,是互联网上最经典的循环之一。规则永远追着漏洞跑,漏洞永远追着规则跑,普通用户夹在中间,有时候确实不好受。 但话说回来,平台如果不管,那免费的资源最后只会被黑产吃光,什么都不剩。 所以有时候看着那一个弹窗,心里有点复杂就是了。。。 亮点 最近大量用户反馈,在登录 Codex 或 ChatGPT 时遭遇强制验证手机号的弹窗,甚至接码平台也全面失效。这并非个例,而是 OpenAI 针对“批量刷量黑产”的一次风控升级。本文将为你深度扒开这波风控背后的底层逻辑,并给出切实可行的 ChatGPT 和 Codex 风控解除方案(包含高端纯净节点 TAG 机场的推荐)。 markdown 截图或演示视频

Original
DTSecurity & testingDTData & operationsDTAgent observability
—

AnyFrame

Sandboxes for your AI agents

DTSoftware developmentDTAgent orchestrationDTAgent observability
96

Agentspan

Open-source runtime for durable AI agents

DTData & operationsDTSoftware developmentDTAgent observability
93

Moody

Your Mac wallpaper that listens to your music & weather

DTLifestyle & entertainmentDTmacOS
119

pixserp

Your LLM on the live web. One endpoint, ten answer shapes.

DTSoftware developmentDTLibrary / SDKDTWeb
105

Shadow

The interface AI needs. One that sees, hears, and runs.

DTDesktop productivityDTSkill / pluginDTmacOS
218

Origio

A personalized way to discover where to live

DTContent / resource
133

DEV TRENDS / COMMUNITY

Discuss this edition

Sign in with GitHub to share a thought, question, or useful follow-up.

Open discussions ↗