[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80437":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":13,"stars7d":15,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":8,"rankLanguage":8,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":8,"pushedAt":8,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":14,"starSnapshotCount":14,"syncStatus":15,"lastSyncTime":27,"discoverSource":28},80437,"kimiproxy","pedrofariasx\u002Fkimiproxy","pedrofariasx",null,"TypeScript",63,21,55,1,0,2,8,3,44.83,"ISC License",false,"main",true,[],"2026-06-11 04:07:13","# KimiProxy\n\nProxy API local compatível com OpenAI que roteia requisições para os modelos do **Kimi (kimi.com)** via automação de navegador com Playwright. Oferece suporte a execução de ferramentas, modo de pensamento (reasoning) e persistência de sessão.\n\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-5.0-blue)](https:\u002F\u002Fwww.typescriptlang.org\u002F)\n[![Hono](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FHono-4.0-green)](https:\u002F\u002Fhono.dev\u002F)\n[![Playwright](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPlaywright-1.59-blueviolet)](https:\u002F\u002Fplaywright.dev\u002F)\n[![License: ISC](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-ISC-yellow.svg)](LICENSE)\n\n---\n\n## ✨ Features\n\n- **OpenAI API Compatible**: Interface compatível com `\u002Fv1\u002Fchat\u002Fcompletions` e `\u002Fv1\u002Fmodels`.\n- **Reasoning Support**: Suporte completo ao modo de pensamento (thinking) dos modelos Kimi.\n- **Tool Execution**: Sistema de execução de ferramentas locais integrado ao fluxo do chat.\n- **Session Persistence**: Login persistente com armazenamento de perfil do navegador em `kimi_profile\u002F`.\n- **Network Visibility**: Exibe URLs local e de rede (IP) ao iniciar o servidor.\n- **Browser Selection**: Escolha entre Chrome, Firefox, Edge ou Chromium para execução.\n- **Docker Ready**: Deploy simplificado com suporte a Docker e Docker Compose.\n\n---\n\n## 🏗️ Arquitetura\n\n```mermaid\ngraph TD\n    Client[Cliente OpenAI\u002FSDK] -->|HTTP| Proxy[KimiProxy]\n    Proxy -->|\u002Fv1\u002Fchat\u002Fcompletions| Handler[Chat Handler]\n    Handler --> Kimi[kimi.com]\n    Handler --> Playwright[Playwright Service]\n    Playwright --> Browser[Browser Instance]\n    Handler --> Tools[Tools Executor]\n    Tools --> Registry[Tool Registry]\n    \n    subgraph \"Configuração\"\n        Env[.env] --> Proxy\n        Profile[kimi_profile\u002F] --> Playwright\n    end\n```\n\n---\n\n## 📋 Pré-requisitos\n\n| Dependência | Versão Mínima | Instalação |\n|------------|--------------|-----------|\n| Node.js | v20.x | [nvm](https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm) |\n| npm | v9.x | Incluído com Node.js |\n| Playwright | - | `npx playwright install` |\n| Docker (opcional) | v24.x | [Docker Docs](https:\u002F\u002Fdocs.docker.com\u002Fget-docker\u002F) |\n\n---\n\n## 🚀 Instalação\n\n### Via npm\n\n```bash\n# Clonar repositório\ngit clone https:\u002F\u002Fgithub.com\u002Fpedrofariasx\u002Fkimiproxy.git\ncd kimiproxy\n\n# Instalar dependências\nnpm install\n\n# Instalar browsers do Playwright\nnpx playwright install\n```\n\n### Via Docker\n\n```bash\n# Iniciar containers\ndocker-compose up -d\n```\n\n---\n\n## ⚙️ Configuração\n\nCrie o arquivo `.env` na raiz do projeto:\n\n```env\n# Porta do servidor (default: 3000)\nPORT=3000\n\n# Chave de API para proteger os endpoints (opcional)\nAPI_KEY=sua-chave-secreta-aqui\n\n# Navegador padrão (chromium, firefox, chrome, edge)\nBROWSER=chromium\n```\n\n---\n\n## 📡 Uso e Comandos\n\n### Inicialização do Servidor\n\n```bash\n# Iniciar com o navegador padrão (Chromium)\nnpm start\n\n# Iniciar com navegadores específicos\nnpm run start:chrome\nnpm run start:firefox\nnpm run start:edge\n```\n\nAo iniciar, o console exibirá:\n```txt\n🚀 KimiProxy started!\n- Local:   http:\u002F\u002Flocalhost:3000\n- Network: http:\u002F\u002F192.168.1.10:3000\n\nAvailable Routes:\n- [GET] \u002Fhealth\n- [POST] \u002Fv1\u002Fchat\u002Fcompletions\n- [GET] \u002Fv1\u002Fmodels\n```\n\n### Autenticação de Sessão (Login)\n\nRealize o login interativo direto no terminal (totalmente invisível e rodando em segundo plano):\n```bash\nnpm run login\n# Ou com browser específico\nnpm run login:firefox\n```\n\nAo executar, o script solicitará de forma interativa no console o seu número de telefone (com DDI e DDD, ex: `5582987185879`) e, em seguida, o código de 6 dígitos recebido via SMS. O fluxo é inteiramente processado de forma silenciosa em segundo plano (headless), injetando o Token de Acesso diretamente na sessão e armazenando os cookies de sessão de forma segura na pasta `kimi_profile\u002F`.\n\n---\n\n## 📡 API Reference\n\n### Chat Completions\n\n```http\nPOST \u002Fv1\u002Fchat\u002Fcompletions\nContent-Type: application\u002Fjson\nAuthorization: Bearer sua-chave\n```\n\n**Modelos Suportados**:\n- `k2d6-thinking`: Modelo com raciocínio (thinking) habilitado.\n- `k2d6`: Modelo padrão sem o bloco de pensamento.\n\n---\n\n## 💻 Exemplos de Integração\n\n### OpenAI SDK (Node.js)\n\n```typescript\nimport OpenAI from 'openai';\n\nconst openai = new OpenAI({\n  baseURL: 'http:\u002F\u002Flocalhost:3000\u002Fv1',\n  apiKey: process.env.API_KEY || 'sk-no-key-required'\n});\n\nconst completion = await openai.chat.completions.create({\n  model: 'k2d6-thinking',\n  messages: [{ role: 'user', content: 'Explique como funciona o Playwright.' }]\n});\n\nconsole.log(completion.choices[0].message.content);\n```\n\n---\n\n## 📁 Estrutura do Projeto\n\n```\nkimiproxy\u002F\n├── src\u002F\n│   ├── index.ts              # Entry point e servidor Hono\n│   ├── routes\u002F\n│   │   └── chat.ts          # Handler compatível com OpenAI\n│   ├── services\u002F\n│   │   ├── kimi.ts          # Integração com a API do Kimi\n│   │   └── playwright.ts    # Automação de navegador\n│   ├── tools\u002F\n│   │   ├── executor.ts      # Execução de ferramentas\n│   │   └── registry.ts      # Registro de tools\n│   └── login.ts             # Script de autenticação\n├── kimi_profile\u002F            # Armazenamento da sessão (gitignored)\n├── Dockerfile                # Configuração Docker\n└── package.json             # Scripts e dependências\n```\n\n---\n\n## 🔍 Troubleshooting\n\n- **Endereço em uso**: Verifique se a porta `3000` está livre ou altere o `PORT` no `.env`.\n- **Erro de Navegador**: Se um navegador não abrir, certifique-se de que ele está instalado (`npx playwright install`).\n- **Sessão Expirada**: Execute `npm run login` novamente para renovar os cookies.\n\n---\n\n## ⚠️ Disclaimer\n\n> Este projeto é fornecido estritamente para fins educacionais e de pesquisa.\n\nOs autores não incentivam ou endossam:\n- Violação dos Termos de Serviço da plataforma Kimi.\n- Automação não autorizada em larga escala.\n- Uso para atividades maliciosas.\n\n**Use por sua conta e risco.**\n","KimiProxy 是一个兼容OpenAI API的本地代理服务，通过Playwright自动化浏览器操作将请求路由到Kimi平台的模型。项目使用TypeScript编写，并基于Hono框架和Playwright技术栈实现。它支持执行本地工具、思考模式以及会话持久化等功能。特别适合需要在本地环境中利用Kimi AI能力进行开发或测试的场景，同时提供Docker部署选项以简化设置过程。","2026-06-11 04:00:45","CREATED_QUERY"]