[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Explosion-Scratch--claude-unofficial-api":3,"tool-Explosion-Scratch--claude-unofficial-api":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 真正成长为懂上",160015,2,"2026-04-18T11:30:52",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[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":68,"readme_en":69,"readme_zh":70,"quickstart_zh":71,"use_case_zh":72,"hero_image_url":73,"owner_login":74,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":78,"owner_location":78,"owner_email":78,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":90,"forks":91,"last_commit_at":92,"license":93,"difficulty_score":94,"env_os":95,"env_gpu":96,"env_ram":95,"env_deps":97,"category_tags":103,"github_topics":104,"view_count":32,"oss_zip_url":78,"oss_zip_packed_at":78,"status":17,"created_at":112,"updated_at":113,"faqs":114,"releases":150},9032,"Explosion-Scratch\u002Fclaude-unofficial-api","claude-unofficial-api","Unofficial API for Claude-2 via Claude Web (Also CLI)","claude-unofficial-api 是一个轻量级的 JavaScript 库，旨在让开发者通过代码直接调用 Claude AI（特别是 Claude-2 及早期版本）的非官方内部接口。它支持在 Node.js 或浏览器环境中运行，无需额外依赖，即可实现开启新对话、上传文件、获取历史聊天记录以及发送消息等功能，甚至能辅助生成完整项目代码或输出结构化 JSON 数据。\n\n该工具主要解决了官方未开放公共 API 时，开发者希望将 Claude 集成到自定义应用、自动化脚本或命令行工具中的需求。其技术亮点包括“同构”设计（一套代码通用于前后端）、原生支持 Async\u002Fawait 现代语法，以及内置高覆盖率的单元测试，确保稳定性。此外，它还提供了便捷的 CLI 命令行工具，方便快速交互。\n\n需要注意的是，由于 Anthropic 近期加强了安全防护，封锁了非浏览器流量的内部 API 访问，目前该项目可能暂时无法正常使用，作者也在社区中寻求解决方案。因此，它最适合具备一定技术背景的开发者和研究人员使用，用于探索 AI 集成方案或进行本地化实验。对于普通用户而言，直接使用官网或许是更稳定的选","claude-unofficial-api 是一个轻量级的 JavaScript 库，旨在让开发者通过代码直接调用 Claude AI（特别是 Claude-2 及早期版本）的非官方内部接口。它支持在 Node.js 或浏览器环境中运行，无需额外依赖，即可实现开启新对话、上传文件、获取历史聊天记录以及发送消息等功能，甚至能辅助生成完整项目代码或输出结构化 JSON 数据。\n\n该工具主要解决了官方未开放公共 API 时，开发者希望将 Claude 集成到自定义应用、自动化脚本或命令行工具中的需求。其技术亮点包括“同构”设计（一套代码通用于前后端）、原生支持 Async\u002Fawait 现代语法，以及内置高覆盖率的单元测试，确保稳定性。此外，它还提供了便捷的 CLI 命令行工具，方便快速交互。\n\n需要注意的是，由于 Anthropic 近期加强了安全防护，封锁了非浏览器流量的内部 API 访问，目前该项目可能暂时无法正常使用，作者也在社区中寻求解决方案。因此，它最适合具备一定技术背景的开发者和研究人员使用，用于探索 AI 集成方案或进行本地化实验。对于普通用户而言，直接使用官网或许是更稳定的选择；但对于希望深入定制 AI 工作流的程序员来说，一旦网络限制被突破，这将是一个极具潜力的集成桥梁。","> [!IMPORTANT]\n> Claude seems to have blocked all non-browser traffic to their internal API – Effectively rendering this project useless. **If you have a fix\u002Fmethod to get around this please PR**. Sorry – [@Explosion-Scratch](https:\u002F\u002Fgithub.com\u002FExplosion-Scratch)\n\n\n\n\u003Ch1>\u003Cdiv align=center>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fexplosion-scratch\u002Fclaude-unofficial-api\">claude-unofficial-api\u003C\u002Fa>\u003C\u002Fdiv>\u003C\u002Fh1>\n\nhttps:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fassets\u002F61319150\u002F6c3f706d-bddf-42e6-9745-aa1f7561ca40\n\nThis is a lightweight (isomorphic, 0 dependency) JavaScript library for interacting with the [Claude AI](https:\u002F\u002Fwww.claude.ai\u002F) chatbot's unofficial internal API. [CLI installation](#cli-installation), [API installation + usage](#usage)\n\n> _Psst. It can also [code full projects](https:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fblob\u002Fmain\u002Fexamples\u002Fcoding.md) and [output valid JSON](https:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fblob\u002Fmain\u002Fexamples\u002Fjson.md)_\n\n## Features\n- 💬 Start new conversations\n- 📎 Upload files\n- 🧪 [Unit tests included with 85% coverage of code and 100% pass rates!](https:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fassets\u002F61319150\u002Fb65d32f4-2b43-4bc3-8e2c-4cf977fe7e89)\n \n- 🌎 Isomorphic (supposing you setup a proxy, cors make me sad)\n- 🔄 Async\u002Fawait ready with modern syntax\n- 💾 Get and respond to existing conversations\n- 🚀 Upcoming\n  - CLI: ~~Retrying responses, [Reflexion](https:\u002F\u002Farxiv.org\u002Fabs\u002F2303.11366) implementation, prompt templates~~, auto conversation saving\n  - API: ~~Better error handling, automated unit tests~~, caching layer, searching, ~~`setActiveModel`, list available models, send message directly to existing conversation~~, hooks for events, used tokens count (percentage\u002Fraw), token estimator, ~~available tokens for model~~\n- 💪 Supports all claude models (`claude-2`, `claude-1.3`, `claude-instant-100k` - See `--model` flag)\n\n\n## Installation\n\n```\nnpm install claude-ai\n```\n\n## CLI installation\n```\nnpm install -g claude-cli\n```\n> **Note**\n> Run `claude --help` or see [CLI_DOCS.md](CLI_DOCS.md) for more info about the CLI\n\n## Usage\n\nFirst, import the library:\n\n```js\nconst Claude = require('claude-ai'); \n```\n\nInitialize a new Claude instance with your session key:\n\n> **Note**\n> Get `sessionKey` from the `sessionKey` cookie via the Claude website.\n\n```js\nconst claude = new Claude({\n  sessionKey: 'YOUR_SESSION_KEY' \n});\n```\n\nStart a conversation by calling `startConversation()` with a prompt message (or get existing conversations via `.getConversations()`):\n\n```js\nconst conversation = await claude.startConversation('Hello Claude!');\n```\n\nThe `Conversation` instance exposes methods like `sendMessage()` to continue the chat:\n\n```js \nawait conversation.sendMessage('How are you today?');\n```\n\nThe full code would look like:\n\n```js\nconst Claude = require('claude-ai');\n\nconst claude = new Claude({\n  sessionKey: 'YOUR_SESSION_KEY'\n});\n\nawait claude.init();\n\nconst conversation = await claude.startConversation('Hello Claude!');\n\nawait conversation.sendMessage('How are you today?');\n```\n\nSee the [documentation](#documentation) below for the full API reference.\n\n## Documentation\n\n### `Claude`\n\nThe main class for interfacing with the Claude API.\n\n**Constructor:**\n```js\nconst claude_instance = new Claude({\n  sessionKey: string,\n  proxy: string | ({endpoint, options}) => ({endpoint, options})\n})\n```\n\n- If proxy is a function it will be passed the API route to fetch as well as the fetch options which can then be manipulated before running through fetch. If you're feeling adventurous you could also just modify the `claude.request` functionnn (see source for more info)\n- If `proxy` is a string, it will simply be prepended before the API endpoint, example: `https:\u002F\u002Fclaude.ai\u002F` \n\n**Parameters:**\n\n- `sessionKey` - Your Claude `sessionKey` cookie \n\n**Methods (on an instance):**\n\n- `startConversation(prompt)` - Starts a new conversation with the given prompt message\n- `getConversations()` - Gets recent conversations\n- `clearConversations()` - Clear all conversations\n- `uploadFile(file)` - Uploads a file \n\n### `Conversation`\n\nReturned by `Claude.startConversation()`. \n\n**Methods:**\n\n- `sendMessage(message, options)` - Sends a followup message in the conversation  \n- `getInfo()` - Gets the conversation (includes messages, name, created_at, update_at, etc)\n- `delete()` - Delete the conversation (returns fetch response)\n\n**SendMessage Options:**\n\n- `timezone` - The timezone for completion \n- `attachments` - Array of file attachments \n- `model` - The Claude model to use (default: `claude-2`, other models that I know of include `claude-1.3`, and `claude-instant-100k`. Seems to also accept `claude-1` but transform it to `claude-1.3`)\n- `done` - Callback when completed\n- `progress` - Progress callback\n\n## Contributing\n\nContributions welcome! This library was created by @Explosion-Scratch on GitHub. Please submit PRs to help improve it.\n","> [!重要]\n> Claude 似乎已阻止所有非浏览器流量访问其内部 API，这使得该项目几乎无法使用。**如果你有解决此问题的方法，请提交 PR**。抱歉——[@Explosion-Scratch](https:\u002F\u002Fgithub.com\u002FExplosion-Scratch)\n\n\n\n\u003Ch1>\u003Cdiv align=center>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fexplosion-scratch\u002Fclaude-unofficial-api\">claude-unofficial-api\u003C\u002Fa>\u003C\u002Fdiv>\u003C\u002Fh1>\n\nhttps:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fassets\u002F61319150\u002F6c3f706d-bddf-42e6-9745-aa1f7561ca40\n\n这是一个轻量级的（同构、无依赖）JavaScript 库，用于与 [Claude AI](https:\u002F\u002Fwww.claude.ai\u002F) 聊天机器人的非官方内部 API 进行交互。[CLI 安装](#cli-installation)、[API 安装 + 使用](#usage)\n\n> _嘘——它还能[编写完整的项目](https:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fblob\u002Fmain\u002Fexamples\u002Fcoding.md)，以及[输出有效的 JSON](https:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fblob\u002Fmain\u002Fexamples\u002Fjson.md)_\n\n## 特性\n- 💬 开始新的对话\n- 📎 上传文件\n- 🧪 [包含单元测试，代码覆盖率85%，通过率100%！](https:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fassets\u002F61319150\u002Fb65d32f4-2b43-4bc3-8e2c-4cf977fe7e89)\n \n- 🌎 同构（假设你设置了代理；CORS 让我很难过）\n- 🔄 支持 async\u002Fawait 和现代语法\n- 💾 获取并回复现有对话\n- 🚀 即将推出\n  - CLI：~~重试响应、实现[Reflexion](https:\u002F\u002Farxiv.org\u002Fabs\u002F2303.11366)、提示模板~~、自动保存对话\n  - API：~~更好的错误处理、自动化单元测试~~、缓存层、搜索功能、~~`setActiveModel`、列出可用模型、直接向现有对话发送消息~~、事件钩子、已使用 token 数量（百分比\u002F原始值）、token 预估器、~~模型可用 token 数量~~\n- 💪 支持所有 Claude 模型（`claude-2`、`claude-1.3`、`claude-instant-100k`——参见 `--model` 标志）\n\n\n## 安装\n\n```\nnpm install claude-ai\n```\n\n## CLI 安装\n```\nnpm install -g claude-cli\n```\n> **注意**\n> 运行 `claude --help` 或查看 [CLI_DOCS.md](CLI_DOCS.md) 以获取有关 CLI 的更多信息。\n\n## 使用\n\n首先，导入库：\n\n```js\nconst Claude = require('claude-ai'); \n```\n\n使用你的会话密钥初始化一个新的 Claude 实例：\n\n> **注意**\n> 从 Claude 网站的 `sessionKey` Cookie 中获取 `sessionKey`。\n\n```js\nconst claude = new Claude({\n  sessionKey: 'YOUR_SESSION_KEY' \n});\n```\n\n通过调用 `startConversation()` 并传入提示信息来开始对话（或通过 `.getConversations()` 获取现有对话）：\n\n```js\nconst conversation = await claude.startConversation('Hello Claude!');\n```\n\n`Conversation` 实例提供了如 `sendMessage()` 等方法来继续聊天：\n\n```js \nawait conversation.sendMessage('How are you today?');\n```\n\n完整代码如下：\n\n```js\nconst Claude = require('claude-ai');\n\nconst claude = new Claude({\n  sessionKey: 'YOUR_SESSION_KEY'\n});\n\nawait claude.init();\n\nconst conversation = await claude.startConversation('Hello Claude!');\n\nawait conversation.sendMessage('How are you today?');\n```\n\n请参阅下方的[文档](#documentation)，以获取完整的 API 参考。\n\n## 文档\n\n### `Claude`\n\n用于与 Claude API 交互的主要类。\n\n**构造函数：**\n```js\nconst claude_instance = new Claude({\n  sessionKey: string,\n  proxy: string | ({endpoint, options}) => ({endpoint, options})\n})\n```\n\n- 如果 `proxy` 是一个函数，它会接收要请求的 API 路径以及 fetch 选项，并在执行 fetch 之前对这些选项进行修改。如果你愿意冒险，也可以直接修改 `claude.request` 函数（更多信息请参阅源码）。\n- 如果 `proxy` 是一个字符串，则该字符串会简单地被添加到 API 端点之前，例如：`https:\u002F\u002Fclaude.ai\u002F` \n\n**参数：**\n\n- `sessionKey` —— 你的 Claude `sessionKey` Cookie \n\n**实例方法：**\n\n- `startConversation(prompt)` —— 使用给定的提示信息开始新对话\n- `getConversations()` —— 获取最近的对话\n- `clearConversations()` —— 清除所有对话\n- `uploadFile(file)` —— 上传文件\n\n### `Conversation`\n\n由 `Claude.startConversation()` 返回。\n\n**方法：**\n\n- `sendMessage(message, options)` —— 在对话中发送后续消息\n- `getInfo()` —— 获取对话信息（包括消息、名称、创建时间、更新时间等）\n- `delete()` —— 删除对话（返回 fetch 响应）\n\n**sendMessage 选项：**\n\n- `timezone` —— 完成时使用的时区\n- `attachments` —— 文件附件数组\n- `model` —— 要使用的 Claude 模型（默认为 `claude-2`；其他已知模型包括 `claude-1.3` 和 `claude-instant-100k`。似乎也接受 `claude-1`，但会将其转换为 `claude-1.3`）\n- `done` —— 完成时的回调\n- `progress` —— 进度回调\n\n## 贡献\n\n欢迎贡献！本库由 GitHub 上的 @Explosion-Scratch 创建。请提交 PR 来帮助改进它。","# claude-unofficial-api 快速上手指南\n\n> **⚠️ 重要提示**\n> 根据项目作者说明，Claude 官方似乎已屏蔽所有非浏览器流量访问其内部 API，导致本项目目前**可能无法正常使用**。如果您有解决方案，欢迎向原仓库提交 PR。本指南仅基于项目原有文档整理，供参考或本地调试使用。\n\n## 环境准备\n\n- **运行环境**: Node.js (推荐最新 LTS 版本)\n- **前置依赖**: 无 (该库为 0 依赖的轻量级 JavaScript 库)\n- **关键凭证**: 需要从 Claude 官网获取 `sessionKey` Cookie\n  - 登录 [claude.ai](https:\u002F\u002Fwww.claude.ai\u002F)\n  - 打开浏览器开发者工具 (F12) -> Application (应用) -> Cookies\n  - 复制名为 `sessionKey` 的值\n\n## 安装步骤\n\n### 1. 安装核心库 (用于代码调用)\n\n```bash\nnpm install claude-ai\n```\n\n*国内加速方案（可选）：*\n```bash\nnpm install claude-ai --registry=https:\u002F\u002Fregistry.npmmirror.com\n```\n\n### 2. 安装命令行工具 (可选)\n\n如需在终端直接使用，可全局安装 CLI 工具：\n\n```bash\nnpm install -g claude-cli\n```\n\n安装完成后，可通过 `claude --help` 查看命令帮助。\n\n## 基本使用\n\n以下是最简单的代码调用示例，展示如何初始化并发送消息。\n\n### 代码示例\n\n```js\nconst Claude = require('claude-ai');\n\n\u002F\u002F 1. 初始化实例，填入从浏览器获取的 sessionKey\nconst claude = new Claude({\n  sessionKey: 'YOUR_SESSION_KEY' \n});\n\n\u002F\u002F 2. 初始化连接\nawait claude.init();\n\n\u002F\u002F 3. 开启新对话并发送第一条消息\nconst conversation = await claude.startConversation('Hello Claude!');\n\n\u002F\u002F 4. 继续发送消息\nawait conversation.sendMessage('How are you today?');\n```\n\n### 进阶选项说明\n\n在 `sendMessage` 方法中，您可以传入配置对象以指定模型或添加附件：\n\n```js\nawait conversation.sendMessage('请帮我写一段代码', {\n  model: 'claude-2', \u002F\u002F 可选模型：claude-2, claude-1.3, claude-instant-100k\n  attachments: [],   \u002F\u002F 文件附件数组\n  timezone: 'Asia\u002FShanghai'\n});\n```\n\n### 主要功能概览\n\n- **启动对话**: `claude.startConversation(prompt)`\n- **获取历史**: `claude.getConversations()`\n- **上传文件**: `claude.uploadFile(file)`\n- **删除对话**: `conversation.delete()`","一位全栈开发者希望将 Claude-2 的强大推理能力集成到内部的自动化代码审查脚本中，以实现每日构建时的智能代码优化建议。\n\n### 没有 claude-unofficial-api 时\n- **集成门槛极高**：由于官方未开放公共 API，开发者只能手动复制粘贴代码到网页端，无法实现脚本自动调用，严重阻碍自动化流程。\n- **缺乏编程接口**：无法在 Node.js 环境中直接发起请求，必须编写复杂的浏览器自动化脚本（如 Puppeteer）来模拟操作，导致运行缓慢且资源占用高。\n- **会话管理困难**：难以在程序中保存和复用历史对话上下文，每次审查都像是“初次见面”，导致 AI 无法结合项目之前的修改记录给出连贯建议。\n- **文件处理繁琐**：无法通过代码直接上传大型项目文件供分析，只能截取片段，限制了 AI 对整体架构的理解能力。\n\n### 使用 claude-unofficial-api 后\n- **无缝代码集成**：通过简单的 `npm install` 即可在 JavaScript 项目中引入，利用 `sessionKey` 直接调用内部接口，让自动化脚本几分钟内完成部署。\n- **轻量高效调用**：作为零依赖的轻量库，它支持原生的 Async\u002Fawait 语法，脚本运行速度显著提升，不再需要启动沉重的无头浏览器。\n- **完整上下文保持**：利用 `getConversations` 和 `sendMessage` 方法，脚本能自动加载历史审查记录，使 AI 能基于之前的反馈提供连续、深度的优化方案。\n- **便捷文件交互**：直接在代码中调用上传接口，将整个模块文件发送给 claude-unofficial-api，获得基于全局视角的重构建议。\n\nclaude-unofficial-api 成功打破了网页端的交互壁垒，让开发者能以极低的成本将 Claude-2 的智能转化为可编排的自动化工作流。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FExplosion-Scratch_claude-unofficial-api_98f92032.png","Explosion-Scratch","Thomas","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FExplosion-Scratch_543246d3.jpg","A 19 year old fullstack developer!",null,"https:\u002F\u002Fexplosion-scratch.github.io\u002Fportfolio","https:\u002F\u002Fgithub.com\u002FExplosion-Scratch",[82,86],{"name":83,"color":84,"percentage":85},"JavaScript","#f1e05a",88.4,{"name":87,"color":88,"percentage":89},"HTML","#e34c26",11.6,744,76,"2026-04-16T11:20:43","Unlicense",5,"未说明","不需要 GPU",{"notes":98,"python":99,"dependencies":100},"该项目是一个轻量级 JavaScript 库，需要 Node.js 环境。重要提示：根据 README 顶部警告，Claude 已屏蔽所有非浏览器流量，导致该项目目前无法使用。使用前需从 Claude 官网获取 sessionKey cookie。","不需要 Python",[101,102],"Node.js (运行环境)","无第三方依赖库 (0 dependency)",[16,45,35,13,14],[105,106,107,108,109,110,111],"api","claude","gpt","llm","node","unofficial","cli","2026-03-27T02:49:30.150509","2026-04-18T22:32:41.670805",[115,120,125,130,135,140,145],{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},40505,"为什么使用 sessionKey 调用 API 时返回 'permission_error' 错误？","这通常是因为会话密钥（sessionKey）仅在特定来源（如 claude.ai 官网）或特定地理位置（如美国或英国的服务器）有效。如果在本地或其他非官方域名的服务器上直接使用该 Key，可能会触发 CORS 限制或被拒绝访问。建议确保代码运行在与 claude.ai 相同的环境或通过位于美\u002F英的远程服务器进行请求。","https:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fissues\u002F3",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},40506,"为什么指定模型参数后仍然回退到默认模型或返回 403 错误？","Claude API 已更新，目前仅支持 'Claude2' 模型。尝试使用其他模型会导致 403 Forbidden 错误。这是官方接口的限制，库本身无法绕过此限制。请确保只使用当前支持的模型名称。","https:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fissues\u002F15",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},40507,"发送消息后收不到回复，或者流式响应中缺失部分文字怎么办？","这是一个已知的解析逻辑问题。可以通过修改库源码 `index.js` 文件来修复：找到判断停止原因的代码行，将 `if(parsed.stop_reason === 'stop_sequence')` 修改为 `if(parsed.stop_reason === 'stop_sequence' || parsed.stop_reason === null)`。注意：此修改可能导致在第一个数据块后就立即停止接收，需根据实际测试调整。","https:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fissues\u002F49",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},40508,"调用 uploadFile 函数时报错 'file.arrayBuffer is not a function' 如何解决？","该错误通常是因为传入的文件对象格式不正确或缺少必要的 Node.js 模块导入。请确保在代码顶部添加了 `import {readFileSync} from \"fs\"`，并且传入 `uploadFile` 的是正确的文件缓冲对象或符合库要求的文件实例，而不是普通的路径字符串或未初始化的对象。","https:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fissues\u002F33",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},40509,"CLI 工具中如何处理包含方括号的消息以及文件上传报错 'File is not defined'？","1. 方括号问题：CLI 可能将方括号内的内容误解析为文件路径。建议避免在提示词中直接使用方括号，或使用引号完整包裹消息。2. 文件上传报错：'ReferenceError: File is not defined' 通常与 Node.js 版本有关，请确保使用的是较新的 Node.js 版本（如 v18.16.1 或更高），因为旧版本可能不支持全局 `File` 对象。","https:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fissues\u002F30",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},40510,"在 CommonJS 项目中引入库时报错 'ERR_REQUIRE_ESM' 且提示需要 Conversation ID 怎么办？","1. 引入错误：由于该库是 ES Module，不能在 CommonJS 中直接使用 `require()`。请改用动态导入：`const Claude = (await import('claude-ai')).default;`。2. Conversation ID 错误：确保在创建对话前正确初始化了 Claude 实例（调用 `.init()`），并且 `startConversation` 方法被正确异步调用。如果手动创建 Conversation 实例，必须传入有效的 `conversationId` 选项。","https:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fissues\u002F13",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},40511,"sendMessage 方法执行成功但 message.completion 返回空字符串 '' 是什么原因？","虽然 claude.ai 网页端显示有回复，但 API 返回空字符串通常意味着响应解析失败或流式数据未正确聚合。首先确保调用了 `await claude.init()` 初始化实例。如果问题持续，可能是官方接口返回格式发生了微小变化，导致库中的解析逻辑未能提取到文本内容，建议检查库是否为最新版本或查看是否有类似的停止原因（stop_reason）解析补丁。","https:\u002F\u002Fgithub.com\u002FExplosion-Scratch\u002Fclaude-unofficial-api\u002Fissues\u002F42",[]]