[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-microsoft--TypeChat":3,"tool-microsoft--TypeChat":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",159636,2,"2026-04-17T23:33:34",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":111,"forks":112,"last_commit_at":113,"license":114,"difficulty_score":32,"env_os":115,"env_gpu":116,"env_ram":116,"env_deps":117,"category_tags":121,"github_topics":122,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":127,"updated_at":128,"faqs":129,"releases":170},8855,"microsoft\u002FTypeChat","TypeChat","TypeChat is a library that makes it easy to build natural language interfaces using types.","TypeChat 是一个帮助开发者轻松构建自然语言交互界面的开源库。传统上，让机器准确理解用户意图并收集必要信息往往需要复杂的决策树，而大语言模型（LLM）虽然简化了这一过程，却带来了回复不可控、结构混乱或内容无效等新挑战。以往解决这些问题主要依赖“提示词工程”，但这不仅学习曲线陡峭，且随着提示词变长，系统稳定性也会下降。\n\nTypeChat 创新性地用“模式工程”取代了“提示词工程”。开发者只需定义代表应用意图的类型（如情感分类、购物车操作等），TypeChat 便会自动完成后续工作：它利用这些类型构建提示词，验证大模型的回复是否符合预设结构，并在验证失败时自动引导模型修正输出，最后还能在不消耗大模型算力的情况下生成简洁摘要以确认用户意图。\n\n这款工具特别适合需要使用 TypeScript、Python 或 C# 进行开发的软件工程师和架构师。其核心亮点在于“类型即一切”的理念，将编程中严谨的类型系统引入大模型交互，既保证了数据的安全与结构化，又大幅降低了开发自然语言应用的门槛和复杂度，让构建可靠的 AI 接口变得更加简单高效。","# TypeChat\n\nTypeChat is a library that makes it easy to build natural language interfaces using types.\n\nBuilding natural language interfaces has traditionally been difficult. These apps often relied on complex decision trees to determine intent and collect the required inputs to take action. Large language models (LLMs) have made this easier by enabling us to take natural language input from a user and match to intent. This has introduced its own challenges including the need to constrain the model's reply for safety, structure responses from the model for further processing, and ensuring that the reply from the model is valid. Prompt engineering aims to solve these problems, but comes with a steep learning curve and increased fragility as the prompt increases in size.\n\nTypeChat replaces _prompt engineering_ with _schema engineering_.\n\nSimply define types that represent the intents supported in your natural language application. That could be as simple as an interface for categorizing sentiment or more complex examples like types for a shopping cart or music application. For example, to add additional intents to a schema, a developer can add additional types into a discriminated union. To make schemas hierarchical, a developer can use a \"meta-schema\" to choose one or more sub-schemas based on user input.\n\nAfter defining your types, TypeChat takes care of the rest by:\n\n1. Constructing a prompt to the LLM using types.\n2. Validating the LLM response conforms to the schema. If the validation fails, repair the non-conforming output through further language model interaction.\n3. Summarizing succinctly (without use of a LLM) the instance and confirm that it aligns with user intent.\n\nTypes are all you need!\n\n# Getting Started\n\nInstall TypeChat for TypeScript\u002FJavaScript:\n\n```\nnpm install typechat\n```\n\n\u003C!--\n\nOr from PyPI:\n\n...\n\nOr NuGet\n\n...\n\n-->\n\nYou can also work with TypeChat from source for:\n\n* [Python](.\u002Fpython\u002FREADME.md)\n* [TypeScript](.\u002Ftypescript\u002FREADME.md)\n* [C#\u002F.NET](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTypeChat.net)\n\nTo see TypeChat in action, we recommend exploring the [TypeChat example projects](.\u002Ftypescript\u002Fexamples). You can try them on your local machine or in a GitHub Codespace.\n\nTo learn more about TypeChat, visit the [documentation](https:\u002F\u002Fmicrosoft.github.io\u002FTypeChat) which includes more information on TypeChat and how to get started.\n\n## Contributing\n\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https:\u002F\u002Fcla.opensource.microsoft.com.\n\nWhen you submit a pull request, a CLA bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002F).\nFor more information see the [Code of Conduct FAQ](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002Ffaq\u002F) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft \ntrademarks or logos is subject to and must follow \n[Microsoft's Trademark & Brand Guidelines](https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Flegal\u002Fintellectualproperty\u002Ftrademarks\u002Fusage\u002Fgeneral).\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\nAny use of third-party trademarks or logos are subject to those third-party's policies.\n","# TypeChat\n\nTypeChat 是一个库，它使使用类型构建自然语言界面变得简单。\n\n传统上，构建自然语言界面一直颇具挑战性。这类应用通常依赖复杂的决策树来确定用户意图，并收集执行操作所需的输入。然而，大型语言模型（LLMs）的出现使得这一过程变得更加容易——我们如今可以直接接收用户的自然语言输入，并将其与预定义的意图进行匹配。不过，这也带来了新的挑战：为了安全起见，我们需要对模型的回复加以约束；为了让后续处理更加顺畅，必须以结构化的方式组织模型的响应；同时还要确保模型的回复是有效的。提示工程旨在解决这些问题，但其学习曲线较为陡峭，且随着提示规模的增大，系统的脆弱性也会显著增加。\n\nTypeChat 用“模式工程”取代了“提示工程”。\n\n你只需定义代表自然语言应用中支持意图的类型即可。这些类型可以很简单，比如用于情感分类的接口；也可以更复杂，例如购物车或音乐应用中的类型。例如，若要向模式中添加更多意图，开发者只需将新的类型加入到联合类型中；而若需构建层级化的模式，则可以通过“元模式”根据用户输入选择一个或多个子模式。\n\n定义好类型后，TypeChat 将负责完成其余工作：\n\n1. 使用类型为 LLM 构建提示。\n2. 验证 LLM 的响应是否符合模式要求。如果验证失败，则通过进一步的模型交互修复不符合规范的输出。\n3. 在不借助 LLM 的情况下，简洁地总结实例内容，并确认其与用户意图一致。\n\n你只需要类型就够了！\n\n# 开始使用\n\n安装适用于 TypeScript\u002FJavaScript 的 TypeChat：\n\n```\nnpm install typechat\n```\n\n\u003C!--\n\n或者从 PyPI 安装：\n\n...\n\n或者 NuGet：\n\n...\n\n-->\n\n你也可以从源代码入手，使用 TypeChat 来开发：\n\n* [Python](.\u002Fpython\u002FREADME.md)\n* [TypeScript](.\u002Ftypescript\u002FREADME.md)\n* [C#\u002F.NET](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTypeChat.net)\n\n要体验 TypeChat 的实际效果，我们建议你探索 [TypeChat 示例项目](.\u002Ftypescript\u002Fexamples)。你可以直接在本地运行这些示例，也可以在 GitHub Codespace 中尝试。\n\n如需了解更多关于 TypeChat 的信息，请访问 [文档](https:\u002F\u002Fmicrosoft.github.io\u002FTypeChat)，其中包含有关 TypeChat 的详细说明以及入门指南。\n\n## 参与贡献\n\n本项目欢迎各类贡献和建议。大多数贡献都需要您签署一份贡献者许可协议（CLA），声明您有权并将您的贡献权利授予我们。有关详情，请访问 https:\u002F\u002Fcla.opensource.microsoft.com。\n\n当您提交拉取请求时，CLA 机器人会自动判断您是否需要提供 CLA，并相应地标记您的 PR（例如添加状态检查或评论）。您只需按照机器人提供的指示操作即可。对于所有使用我们 CLA 协议的仓库，您只需完成一次此步骤。\n\n本项目已采纳 [微软开源行为准则](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002F)。如需更多信息，请参阅 [行为准则常见问题解答](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002Ffaq\u002F) 或发送邮件至 [opencode@microsoft.com](mailto:opencode@microsoft.com) 咨询更多问题或提出意见。\n\n## 商标\n\n本项目可能包含与项目、产品或服务相关的商标或标识。未经授权使用微软商标或标识的行为须遵守并遵循 [微软商标与品牌指南](https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Flegal\u002Fintellectualproperty\u002Ftrademarks\u002Fusage\u002Fgeneral)。在本项目的修改版本中使用微软商标或标识时，不得造成混淆或暗示微软的赞助关系。任何第三方商标或标识的使用均应遵守该第三方的相关政策。","# TypeChat 快速上手指南\n\nTypeChat 是一个利用类型系统（Types）构建自然语言接口的库。它用“模式工程（Schema Engineering）”取代了传统的“提示词工程（Prompt Engineering）”，让开发者只需定义 TypeScript 接口或类，即可轻松实现意图识别、数据验证和自动修复功能。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Windows, macOS 或 Linux\n*   **运行时环境**：\n    *   Node.js (推荐 v16 或更高版本)\n    *   npm 或 yarn 包管理器\n*   **大模型访问权限**：您需要拥有一个可用的 LLM API Key（如 Azure OpenAI Service 或 OpenAI API），并在代码中配置环境变量。\n\n> **注意**：虽然 TypeChat 核心基于 TypeScript，但也支持 Python 和 .NET。本指南以最常用的 TypeScript\u002FJavaScript 环境为例。\n\n## 安装步骤\n\n使用 npm 安装 TypeChat 核心库：\n\n```bash\nnpm install typechat\n```\n\n如果您希望从源码运行示例或进行深度定制，可以克隆官方仓库并查看对应语言的子目录：\n\n*   **TypeScript**: `.\u002Ftypescript`\n*   **Python**: `.\u002Fpython`\n*   **.NET**: [TypeChat.net](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTypeChat.net)\n\n## 基本使用\n\nTypeChat 的核心工作流是：**定义类型 -> 创建翻译器 -> 获取结构化结果**。\n\n以下是一个最简单的示例，演示如何定义一个“数学计算器”的意图类型，并让用户通过自然语言生成符合该类型的操作指令。\n\n### 1. 定义类型 (Schema)\n\n首先，定义代表您应用意图的 TypeScript 接口。\n\n```typescript\n\u002F\u002F 定义支持的运算类型\ntype MathOp = \"add\" | \"subtract\" | \"multiply\" | \"divide\";\n\n\u002F\u002F 定义计算请求的结构\ninterface MathRequest {\n    op: MathOp;\n    operands: number[];\n}\n```\n\n### 2. 初始化 TypeChat 并发送请求\n\n使用 `createLanguageModel` 创建模型实例，然后使用 `createTranslator` 将上述类型绑定到模型。\n\n```typescript\nimport { createLanguageModel, createTranslator } from \"typechat\";\nimport { MathRequest } from \".\u002Ftypes\"; \u002F\u002F 假设类型定义在此文件中\n\n\u002F\u002F 1. 创建语言模型实例 (需设置过程变量 AZURE_OPENAI_API_KEY 或 OPENAI_API_KEY)\nconst model = createLanguageModel(process.env);\n\n\u002F\u002F 2. 创建翻译器，传入类型泛型\nconst translator = createTranslator\u003CMathRequest>(model, {\n    name: \"MathRequest\",\n    description: \"A request to perform a math operation.\",\n});\n\n\u002F\u002F 3. 发送自然语言请求\nasync function calculate() {\n    const result = await translator.translate(\"把 10 和 5 加起来，然后再乘以 2\");\n\n    if (result.success) {\n        \u002F\u002F result.data 已经是符合 MathRequest 类型的合法对象\n        console.log(\"结构化数据:\", result.data);\n        \u002F\u002F 输出示例: { op: \"multiply\", operands: [15, 2] } (TypeChat 会自动处理逻辑链)\n        \n        \u002F\u002F 在此处执行实际的业务逻辑\n        executeMath(result.data);\n    } else {\n        console.error(\"翻译失败:\", result.message);\n    }\n}\n\nfunction executeMath(request: MathRequest) {\n    \u002F\u002F 具体的业务实现...\n}\n\ncalculate();\n```\n\n### 工作流程说明\n\n1.  **构造提示词**：TypeChat 自动根据您的 `MathRequest` 类型生成提示词，告诉 LLM 需要返回什么样的 JSON 结构。\n2.  **验证与修复**：如果 LLM 返回的数据不符合类型定义（例如字段缺失或类型错误），TypeChat 会自动发起第二轮对话让 LLM 修复输出，直到验证通过。\n3.  **结果确认**：最终返回给您的 `result.data` 保证是符合您定义的 TypeScript 类型的有效对象，无需额外的解析代码。\n\n您可以前往 [TypeChat 示例项目](.\u002Ftypescript\u002Fexamples) 查看更多复杂场景（如购物车、音乐应用等）的实现代码。","某电商团队正在开发一个智能客服助手，需要让用户通过自然语言指令完成“查询订单”、“修改收货地址”或“申请退款”等复杂操作。\n\n### 没有 TypeChat 时\n- 开发人员需耗费大量时间编写复杂的提示词（Prompt Engineering），试图引导大模型输出固定的 JSON 格式，但模型经常产生幻觉或格式错误。\n- 为了处理模型返回的非法数据，后端不得不编写冗长的正则表达式和多重校验逻辑，代码脆弱且难以维护。\n- 当业务新增“取消订单”意图时，必须重新调整整个提示词模板，极易引发旧功能的回归错误，迭代成本极高。\n- 缺乏类型约束导致前端无法预知返回数据结构，联调过程中频繁出现字段缺失或类型不匹配的问题。\n\n### 使用 TypeChat 后\n- 开发者只需定义 TypeScript 接口来描述业务意图，TypeChat 自动将这些类型转换为精准的提示词，彻底告别手工调优提示词。\n- 内置的验证与修复机制能自动检测大模型的违规输出，并通过二次交互修正数据，确保返回结果 100% 符合预定义 Schema。\n- 扩展新功能变得极其简单，仅需在联合类型中添加新的接口定义，TypeChat 会自动更新底层逻辑，实现安全的模块化扩展。\n- 前端直接复用后端定义的类型文件，获得完整的代码智能提示和编译期检查，大幅减少运行时错误。\n\nTypeChat 通过将不可控的“提示词工程”转化为严谨的“模式工程”，让构建可靠的大语言模型应用像编写普通类型代码一样简单高效。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmicrosoft_TypeChat_4e991dba.png","microsoft","Microsoft","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmicrosoft_4900709c.png","Open source projects and samples from Microsoft",null,"opensource@microsoft.com","OpenAtMicrosoft","https:\u002F\u002Fopensource.microsoft.com","https:\u002F\u002Fgithub.com\u002Fmicrosoft",[83,87,91,95,99,103,107],{"name":84,"color":85,"percentage":86},"TypeScript","#3178c6",48.6,{"name":88,"color":89,"percentage":90},"Python","#3572A5",39.6,{"name":92,"color":93,"percentage":94},"Jupyter Notebook","#DA5B0B",7,{"name":96,"color":97,"percentage":98},"Nunjucks","#3d8137",3.1,{"name":100,"color":101,"percentage":102},"JavaScript","#f1e05a",0.9,{"name":104,"color":105,"percentage":106},"CSS","#663399",0.7,{"name":108,"color":109,"percentage":110},"HTML","#e34c26",0.1,8650,412,"2026-04-17T16:54:54","MIT","","未说明",{"notes":118,"python":116,"dependencies":119},"TypeChat 是一个库而非独立运行的模型，支持 TypeScript\u002FJavaScript、Python 和 C#\u002F.NET。它本身不包含 LLM，需开发者自行配置 LLM 服务（如 Azure OpenAI 或其他兼容 API）。安装方式为 npm install typechat，具体语言版本的详细依赖请参阅其子目录 README。",[120],"typechat",[13,15,14,35],[123,124,125,126],"ai","llm","natural-language","types","2026-03-27T02:49:30.150509","2026-04-18T14:24:40.402923",[130,135,140,145,150,155,160,165],{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},39734,"在生产环境或部署时遇到 \"Cannot find module 'readline\u002Fpromises'\" 错误怎么办？","这通常是由于运行时版本过低导致的。请确保使用 Node.js 20 或更高版本，该模块在旧版本中不可用。如果升级后仍有问题，检查构建配置是否正确打包了依赖。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTypeChat\u002Fissues\u002F131",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},39735,"TypeChat v0.1.0 版本何时发布到 npm？当前 npm 版本与 master 分支 API 不一致。","TypeChat 0.1.0 已经正式发布到 npm。您可以运行 `npm install typechat@latest` 进行更新。更多详情可查阅官方博客：https:\u002F\u002Fmicrosoft.github.io\u002FTypeChat\u002Fblog\u002Fannouncing-typechat-0-1-0\u002F","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTypeChat\u002Fissues\u002F187",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},39736,"Python 版本中遇到请求超时且错误消息为空（Empty failure message）该如何调试？","空错误消息通常是因为底层 HTTP 库的默认超时时间（5 秒）已过，而抛出的 `ReadTimeout` 异常未携带详细信息。解决方案包括：1. 增加模型的超时设置；2. 检查代码中是否正确使用 `TypedDict`（例如访问字段应使用 `result.value[\"questions\"]` 而非点号访问，除非转换为 dataclass）。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTypeChat\u002Fissues\u002F219",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},39737,"如何在浏览器或 Edge Runtime 等非 Node.js 环境中使用 TypeChat？","虽然官方版本依赖 Node.js 模块，但社区已有适配方案。例如，可以通过 ES 模块导入方式在 Deno 或非 Node 环境中使用：`import { createJsonTranslator } from \"https:\u002F\u002Fesm.sh\u002Fgh\u002Fkeyreply\u002Ftypechat@0.0.10\u002Fsrc\u002Findex.ts\";`。注意需禁用交互式模式（interactive mode），因为它仅适用于 Node.js 环境。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTypeChat\u002Fissues\u002F105",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},39738,"README 中的 \"Restaurant\" 示例输出似乎有误，这是预期的行为吗？","该示例旨在展示大模型（如 GPT-4）的能力，但并非所有模型都能完美输出。文档已更新以澄清：TypeChat 的输出可能不总是 100% 准确，建议在实际应用中让用户确认关键操作后再执行。如果输入理解正确，预期输出应为 1 个大号蘑菇披萨和 1 个大号香肠披萨，而非原文显示的 2 个蘑菇披萨。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTypeChat\u002Fissues\u002F62",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},39739,"TypeChat 的修复机制（repair）是如何工作的？它真的会发送修正后的 JSON 给模型吗？","是的，修复机制是有效的。其工作原理是将验证错误信息发送给 LLM，引导模型根据错误提示重新生成并输出修正后的 JSON 程序对象。系统并不直接发送修改后的代码，而是通过 Prompt 让模型自我纠正并返回正确的 JSON 结果。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTypeChat\u002Fissues\u002F122",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},39740,"是否支持自定义系统提示词（System Prompt）的前缀内容？","目前可以通过修改源码中的 `createRequestPrompt` 函数来实现。用户可以定义全局的 `prefixPrompt` 变量，将其拼接到生成的 Prompt 开头，从而添加如“基于已有信息进行推断”等自定义指令。未来可能会提供更便捷的配置接口。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTypeChat\u002Fissues\u002F76",{"id":166,"question_zh":167,"answer_zh":168,"source_url":169},39741,"TypeChat 是否支持 Python？目前的进展如何？","TypeChat 正在积极开发 Python 支持。基础功能的 PR 已经提交（PR #148），虽然合并后仍可能有变动，但核心功能已就绪。社区建议在 Python 包中仍可保留 TypeScript Schema 定义，因为其在类型健壮性和开发体验上优于 Python 原生类型提示。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FTypeChat\u002Fissues\u002F38",[]]