[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-ozgrozer--chatgpt-artifacts":3,"tool-ozgrozer--chatgpt-artifacts":64},[4,17,25,39,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":10,"last_commit_at":23,"category_tags":24,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":26,"name":27,"github_repo":28,"description_zh":29,"stars":30,"difficulty_score":10,"last_commit_at":31,"category_tags":32,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[33,34,35,36,14,37,15,13,38],"图像","数据工具","视频","插件","其他","音频",{"id":40,"name":41,"github_repo":42,"description_zh":43,"stars":44,"difficulty_score":45,"last_commit_at":46,"category_tags":47,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[14,33,13,15,37],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":45,"last_commit_at":54,"category_tags":55,"status":16},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74913,"2026-04-05T10:44:17",[15,33,13,37],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":45,"last_commit_at":62,"category_tags":63,"status":16},2181,"OpenHands","OpenHands\u002FOpenHands","OpenHands 是一个专注于 AI 驱动开发的开源平台，旨在让智能体（Agent）像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点，通过自动化流程显著提升开发速度。\n\n无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员，还是需要快速原型验证的技术团队，都能从中受益。OpenHands 提供了灵活多样的使用方式：既可以通过命令行（CLI）或本地图形界面在个人电脑上轻松上手，体验类似 Devin 的流畅交互；也能利用其强大的 Python SDK 自定义智能体逻辑，甚至在云端大规模部署上千个智能体并行工作。\n\n其核心技术亮点在于模块化的软件智能体 SDK，这不仅构成了平台的引擎，还支持高度可组合的开发模式。此外，OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩，证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能，支持与 Slack、Jira 等工具集成，并提供细粒度的权限管理，适合从个人开发者到大型企业的各类用户场景。",70612,"2026-04-05T11:12:22",[15,14,13,36],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":75,"owner_website":82,"owner_url":83,"languages":84,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":10,"env_os":97,"env_gpu":98,"env_ram":98,"env_deps":99,"category_tags":106,"github_topics":107,"view_count":111,"oss_zip_url":112,"oss_zip_packed_at":112,"status":16,"created_at":113,"updated_at":114,"faqs":115,"releases":131},402,"ozgrozer\u002Fchatgpt-artifacts","chatgpt-artifacts","Bring Claude's Artifacts feature to ChatGPT","chatgpt-artifacts 是一个开源项目，旨在为 ChatGPT 用户带来类似 Anthropic Claude 的“Artifacts”功能——即在对话过程中实时生成并展示可交互的网页、代码预览等内容，提升聊天体验的可视化与实用性。它解决了标准 ChatGPT 界面无法直接渲染动态内容（如 HTML 页面或图表）的问题，让用户更直观地查看 AI 生成的成果。\n\n该项目适合开发者、研究人员或对本地大模型感兴趣的用户使用。使用者只需简单配置，即可接入 OpenAI、Groq、Ollama（支持 Llama3、Gemma2 等本地模型）或 Azure OpenAI 服务。其亮点在于灵活的后端适配能力：通过修改少量代码，就能切换不同推理后端，既支持云端 API，也兼容本地运行的开源模型。整个项目基于 Node.js 构建，部署流程清晰，遵循 GPL-3.0 开源协议，便于学习与二次开发。","# chatgpt-artifacts\n\nBring Claude's Artifacts feature to ChatGPT\n\n## Preview\n\nhttps:\u002F\u002Fgithub.com\u002Fozgrozer\u002Fchatgpt-artifacts\u002Fassets\u002F651938\u002Fabc68e48-2a85-4cb8-a17a-ae795de1ed26\n\n## Usage\n\nClone this repository\n\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fozgrozer\u002Fchatgpt-artifacts.git\n```\n\nInstall dependencies\n\n```\nnpm install\n```\n\nDuplicate `.env.example` as `.env` and add your OPEN AI API key\n\n```\ncp .env.example .env\nvim .env\n```\n\nBuild the app\n\n```\nnpm run build\n```\n\nStart the app\n\n```\nnpm start\n```\n\n## Ollama Support\n\nTo make it work with your local LLMs like Llama3 or Gemma2 you just need to make a simple update in the code.\n\nOpen `\u002Fpages\u002Fapi\u002Fchat.js` file\n\n```js\n\u002F\u002F change this\nconst openai = new OpenAI({\n  apiKey: process.env.OPENAI_API_KEY\n})\n\u002F\u002F to this\nconst openai = new OpenAI({\n  apiKey: 'ollama',\n  baseURL: 'http:\u002F\u002F127.0.0.1:11434\u002Fv1'\n})\n\n\u002F\u002F change this\nconst stream = await openai.chat.completions.create({\n  stream: true,\n  model: 'gpt-4o',\n  messages: conversations[conversationId]\n})\n\u002F\u002F to this\nconst stream = await openai.chat.completions.create({\n  stream: true,\n  model: 'llama3',\n  messages: conversations[conversationId]\n})\n```\n\n## Groq Support\n\nTo make it work with Groq you just need to get an API key [here](https:\u002F\u002Fconsole.groq.com\u002Fkeys) and make a simple update in the code.\n\nOpen `\u002Fpages\u002Fapi\u002Fchat.js` file\n\n```js\n\u002F\u002F change this\nconst openai = new OpenAI({\n  apiKey: process.env.OPENAI_API_KEY\n})\n\u002F\u002F to this\nconst openai = new OpenAI({\n  apiKey: process.env.OPENAI_API_KEY,\n  baseURL: 'https:\u002F\u002Fapi.groq.com\u002Fopenai\u002Fv1'\n})\n\n\u002F\u002F change this\nconst stream = await openai.chat.completions.create({\n  stream: true,\n  model: 'gpt-4o',\n  messages: conversations[conversationId]\n})\n\u002F\u002F to this\nconst stream = await openai.chat.completions.create({\n  stream: true,\n  model: 'llama3-70b-8192',\n  messages: conversations[conversationId]\n})\n```\n\n## Azure OpenAI Support\n\nTo make it work with Azure OpenAI, you need to create a resource in the [Azure Portal](https:\u002F\u002Fportal.azure.com\u002F) and then create a deployment in the [Azure OpenAI Studio](https:\u002F\u002Foai.azure.com\u002F) and get your API key, API version, API endpoint and make a simple update in the code.\n\nOpen `\u002Fpages\u002Fapi\u002Fchat.js` file\n\n```js\n\u002F\u002F change this\nconst openai = new OpenAI({\n  apiKey: process.env.OPENAI_API_KEY\n})\n\u002F\u002F to this (change the API version if yours is different)\nconst openai = new OpenAI({\n  apiKey: process.env.OPENAI_API_KEY,\n  defaultQuery: { 'api-version': '2023-03-15-preview' },\n  defaultHeaders: { 'api-key': process.env.OPENAI_API_KEY },\n  baseURL: 'https:\u002F\u002F\u003CRESOURCE_NAME>.openai.azure.com\u002Fopenai\u002Fdeployments\u002F\u003CDEPLOYMENT_NAME>'\n})\n\n\u002F\u002F change your model here\nconst stream = await openai.chat.completions.create({\n  stream: true,\n  model: 'gpt-4o',\n  messages: conversations[conversationId]\n})\n```\n\n## License\n\n[GPL-3.0](https:\u002F\u002Fgithub.com\u002Fozgrozer\u002Fchatgpt-artifacts\u002Fblob\u002Fmain\u002Flicense)\n","# chatgpt-artifacts\n\n将 Claude 的 Artifacts（工件）功能引入 ChatGPT\n\n## 预览\n\nhttps:\u002F\u002Fgithub.com\u002Fozgrozer\u002Fchatgpt-artifacts\u002Fassets\u002F651938\u002Fabc68e48-2a85-4cb8-a17a-ae795de1ed26\n\n## 使用方法\n\n克隆本仓库\n\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fozgrozer\u002Fchatgpt-artifacts.git\n```\n\n安装依赖\n\n```\nnpm install\n```\n\n复制 `.env.example` 为 `.env`，并填入你的 OpenAI API 密钥\n\n```\ncp .env.example .env\nvim .env\n```\n\n构建应用\n\n```\nnpm run build\n```\n\n启动应用\n\n```\nnpm start\n```\n\n## Ollama 支持\n\n若要使其与本地大语言模型（LLM）如 Llama3 或 Gemma2 配合使用，只需对代码进行简单修改。\n\n打开 `\u002Fpages\u002Fapi\u002Fchat.js` 文件\n\n```js\n\u002F\u002F 将此处\nconst openai = new OpenAI({\n  apiKey: process.env.OPENAI_API_KEY\n})\n\u002F\u002F 修改为\nconst openai = new OpenAI({\n  apiKey: 'ollama',\n  baseURL: 'http:\u002F\u002F127.0.0.1:11434\u002Fv1'\n})\n\n\u002F\u002F 将此处\nconst stream = await openai.chat.completions.create({\n  stream: true,\n  model: 'gpt-4o',\n  messages: conversations[conversationId]\n})\n\u002F\u002F 修改为\nconst stream = await openai.chat.completions.create({\n  stream: true,\n  model: 'llama3',\n  messages: conversations[conversationId]\n})\n```\n\n## Groq 支持\n\n若要使其与 Groq 配合使用，只需在 [此处](https:\u002F\u002Fconsole.groq.com\u002Fkeys) 获取 API 密钥，并对代码进行简单修改。\n\n打开 `\u002Fpages\u002Fapi\u002Fchat.js` 文件\n\n```js\n\u002F\u002F 将此处\nconst openai = new OpenAI({\n  apiKey: process.env.OPENAI_API_KEY\n})\n\u002F\u002F 修改为\nconst openai = new OpenAI({\n  apiKey: process.env.OPENAI_API_KEY,\n  baseURL: 'https:\u002F\u002Fapi.groq.com\u002Fopenai\u002Fv1'\n})\n\n\u002F\u002F 将此处\nconst stream = await openai.chat.completions.create({\n  stream: true,\n  model: 'gpt-4o',\n  messages: conversations[conversationId]\n})\n\u002F\u002F 修改为\nconst stream = await openai.chat.completions.create({\n  stream: true,\n  model: 'llama3-70b-8192',\n  messages: conversations[conversationId]\n})\n```\n\n## Azure OpenAI 支持\n\n若要使其与 Azure OpenAI 配合使用，你需要在 [Azure 门户](https:\u002F\u002Fportal.azure.com\u002F) 中创建资源，然后在 [Azure OpenAI Studio](https:\u002F\u002Foai.azure.com\u002F) 中创建部署，并获取你的 API 密钥、API 版本和 API 终结点，最后对代码进行简单修改。\n\n打开 `\u002Fpages\u002Fapi\u002Fchat.js` 文件\n\n```js\n\u002F\u002F 将此处\nconst openai = new OpenAI({\n  apiKey: process.env.OPENAI_API_KEY\n})\n\u002F\u002F 修改为（如果 API 版本不同，请相应调整）\nconst openai = new OpenAI({\n  apiKey: process.env.OPENAI_API_KEY,\n  defaultQuery: { 'api-version': '2023-03-15-preview' },\n  defaultHeaders: { 'api-key': process.env.OPENAI_API_KEY },\n  baseURL: 'https:\u002F\u002F\u003CRESOURCE_NAME>.openai.azure.com\u002Fopenai\u002Fdeployments\u002F\u003CDEPLOYMENT_NAME>'\n})\n\n\u002F\u002F 在此处修改你的模型\nconst stream = await openai.chat.completions.create({\n  stream: true,\n  model: 'gpt-4o',\n  messages: conversations[conversationId]\n})\n```\n\n## 许可证\n\n[GPL-3.0](https:\u002F\u002Fgithub.com\u002Fozgrozer\u002Fchatgpt-artifacts\u002Fblob\u002Fmain\u002Flicense)","# chatgpt-artifacts 快速上手指南\n\n将 Claude 的 Artifacts 功能带到 ChatGPT。\n\n## 环境准备\n\n- **操作系统**：支持 macOS、Linux 或 Windows（推荐使用 WSL）\n- **Node.js**：版本 ≥ 18.x（建议使用 [nvm](https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm) 管理）\n- **npm** 或 **yarn**：已随 Node.js 安装\n- **网络环境**：如需访问 OpenAI API，请确保网络可连通；国内用户建议配置代理或使用支持国内访问的替代方案（如 Groq、Ollama）\n\n> 💡 国内加速提示：安装依赖时可使用淘宝 NPM 镜像加速：\n> ```bash\n> npm install --registry https:\u002F\u002Fregistry.npmmirror.com\n> ```\n\n## 安装步骤\n\n1. 克隆仓库：\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Fozgrozer\u002Fchatgpt-artifacts.git\n   ```\n\n2. 进入项目目录并安装依赖：\n   ```bash\n   cd chatgpt-artifacts\n   npm install\n   ```\n\n3. 配置 API 密钥：\n   ```bash\n   cp .env.example .env\n   vim .env  # 将 OPENAI_API_KEY 替换为你的 OpenAI API Key\n   ```\n\n4. 构建应用：\n   ```bash\n   npm run build\n   ```\n\n5. 启动服务：\n   ```bash\n   npm start\n   ```\n\n启动成功后，默认可通过 `http:\u002F\u002Flocalhost:3000` 访问。\n\n## 基本使用\n\n默认配置下，应用会调用 OpenAI 的 `gpt-4o` 模型。你只需在 `.env` 中填入有效的 `OPENAI_API_KEY`，启动后即可在浏览器中与支持 Artifacts 功能的 ChatGPT 界面交互。\n\n> 如需切换至本地模型（如 Llama3）或 Groq、Azure OpenAI 等后端，请参考项目 README 中对应部分修改 `\u002Fpages\u002Fapi\u002Fchat.js` 文件。","前端工程师小李正在开发一个内部知识库系统，需要频繁与 ChatGPT 协作生成可交互的 HTML\u002FReact 组件原型，并实时预览效果。\n\n### 没有 chatgpt-artifacts 时\n- 每次让 ChatGPT 生成代码后，必须手动复制粘贴到本地编辑器或 CodePen 中才能查看渲染效果，流程繁琐。\n- 无法在聊天界面中直接看到页面或组件的可视化结果，只能靠想象或反复调试确认输出是否正确。\n- 当需要修改样式或逻辑时，得在 ChatGPT 和开发环境之间来回切换，上下文容易断裂。\n- 团队成员想复用某段生成的 UI 代码时，难以快速定位和提取有效内容。\n- 使用本地 LLM（如 Llama3）时，更无法获得任何可视化反馈，体验远不如云端模型。\n\n### 使用 chatgpt-artifacts 后\n- ChatGPT 生成的 HTML、CSS 或 React 代码会自动以内嵌“Artifact”形式实时渲染，无需离开聊天界面即可预览效果。\n- 可直接在 Artifact 面板中查看、调试甚至截图分享组件原型，大幅提升沟通效率。\n- 修改需求后，新版本 Artifact 自动更新，保持对话与输出的一致性，避免上下文丢失。\n- 所有生成的可视化结果按会话保存，方便回溯和复用历史成果。\n- 无缝切换至 Ollama 或 Groq 上的开源模型（如 Llama3），依然保留 Artifact 渲染能力，兼顾隐私与体验。\n\nchatgpt-artifacts 将原本割裂的“生成-验证”流程融合为所见即所得的协作体验，显著提升开发者与大模型协同构建 UI 的效率。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fozgrozer_chatgpt-artifacts_5ccef937.png","ozgrozer","Ozgur Ozer","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fozgrozer_895d7b93.jpg","Software developer","planla.co","Antalya, Turkey","ozgr@live.com","https:\u002F\u002Fozgur.work","https:\u002F\u002Fgithub.com\u002Fozgrozer",[85,89],{"name":86,"color":87,"percentage":88},"JavaScript","#f1e05a",88.4,{"name":90,"color":91,"percentage":92},"SCSS","#c6538c",11.6,512,86,"2026-03-08T13:29:13","GPL-3.0","Linux, macOS, Windows","未说明",{"notes":100,"python":98,"dependencies":101},"项目基于 Node.js 构建，需安装 npm；支持 OpenAI、Ollama、Groq 和 Azure OpenAI 后端；使用 Ollama 时需本地运行兼容的 LLM（如 Llama3）；需配置 API 密钥或本地模型服务地址。",[102,103,104,105],"next","react","openai","dotenv",[15],[108,109,110],"artifacts","chatgpt","claude",6,null,"2026-03-27T02:49:30.150509","2026-04-06T05:36:47.064727",[116,121,126],{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},1497,"在预览 HTML\u002FCSS\u002FJS 组件时出现“Syntax error: end of file unexpected”错误怎么办？","该错误是由于执行命令末尾多出“ && ”导致的。解决方法是在 server\u002Fexecute.js 和 server\u002Fexecute-react.js 文件中，找到 return new Promise((resolve, reject) 行，在其下方添加以下代码：\nconst joinedCommands = commands.join(' && ');\nconst cleanedCommands = joinedCommands.endsWith(' && ') ? joinedCommands.slice(0, -2) : joinedCommands;\n然后将 exec(commands.join(' && '), (err, stdout, stderr) => { 替换为 exec(cleanedCommands, (err, stdout, stderr) => {。","https:\u002F\u002Fgithub.com\u002Fozgrozer\u002Fchatgpt-artifacts\u002Fissues\u002F7",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},1498,"是否支持使用 Azure OpenAI 服务？","支持。项目已添加对 Azure OpenAI 的支持，具体配置方法请参考项目 README 中的“Azure OpenAI Support”部分：https:\u002F\u002Fgithub.com\u002Fozgrozer\u002Fchatgpt-artifacts#azure-openai-support。","https:\u002F\u002Fgithub.com\u002Fozgrozer\u002Fchatgpt-artifacts\u002Fissues\u002F6",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},1499,"能否使用自定义的 OpenAI 兼容 API 端点（例如 Ollama）？","可以。项目已支持 Ollama 等 OpenAI 兼容的 API 端点。详细使用方法请参阅项目 README 中的“Ollama Support”部分：https:\u002F\u002Fgithub.com\u002Fozgrozer\u002Fchatgpt-artifacts#ollama-support。","https:\u002F\u002Fgithub.com\u002Fozgrozer\u002Fchatgpt-artifacts\u002Fissues\u002F3",[]]