{"_id":"@ai-agent-sdk/agent-core","_rev":"2-f0702584f16bbd96a6d50841463be156","name":"@ai-agent-sdk/agent-core","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@ai-agent-sdk/agent-core","version":"1.0.0","_id":"@ai-agent-sdk/agent-core@1.0.0","maintainers":[{"name":"nhatminh0509","email":"leminhnhat1133@gmail.com"}],"dist":{"shasum":"f16622aec4bed7a2a497c5a899a5dfe165b875f4","tarball":"https://registry.npmjs.org/@ai-agent-sdk/agent-core/-/agent-core-1.0.0.tgz","fileCount":13,"integrity":"sha512-Rv9RBLSJlO9emR58x71pqCD7EeOqj/UCAKc5uCSmfK4K3WV2CQoMtJgwJY48czTp9C6ETiOc8jV8lDY080se/Q==","signatures":[{"sig":"MEUCIAXIIYqKbSCPxTLb3uZ/VpS9xqVNjZbAYSwSZ4oh1CF0AiEAzN+0ypsRY0/92hNtzkOtiqK/YKnw0dyGN8U54yxlS5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37745},"type":"module","module":"src/index.ts","scripts":{"build":"bun run build.ts"},"_npmUser":{"name":"nhatminh0509","email":"leminhnhat1133@gmail.com"},"_npmVersion":"10.8.2","description":"## 📦 Cài đặt","directories":{},"_nodeVersion":"18.20.8","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/agent-core_1.0.0_1783064929783_0.3830411171075949","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ai-agent-sdk/agent-core","version":"1.0.1","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"type":"module","devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"scripts":{"build":"bun run build.ts"},"gitHead":"e6f4b4cc1eb28a835a8a274e9116bace97db95c7","description":"## 📦 Cài đặt","_id":"@ai-agent-sdk/agent-core@1.0.1","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-8W8OAF0+UK6gyr+BSx09/WU0eag5CWmizuiFGNBTaBjOSmbiogODrRo/q93I4xYmQf4Zun0ORN0m8N0joaoOjA==","shasum":"b3f1850075e43a57e97d6af5707135caaccf5823","tarball":"https://registry.npmjs.org/@ai-agent-sdk/agent-core/-/agent-core-1.0.1.tgz","fileCount":9,"unpackedSize":47259,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAP7hjjY9bgay/dYHJPALVmQK5zh97nfwMzxG58ChSCVAiADs2IHLapcxB2PptO0IMJKzZRgy5hsfXuluZpCH12rGg=="}]},"_npmUser":{"name":"nhatminh0509","email":"leminhnhat1133@gmail.com"},"directories":{},"maintainers":[{"name":"nhatminh0509","email":"leminhnhat1133@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agent-core_1.0.1_1783065228756_0.10701167704160763"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-03T07:48:49.612Z","modified":"2026-07-03T07:53:49.049Z","1.0.0":"2026-07-03T07:48:49.938Z","1.0.1":"2026-07-03T07:53:48.940Z"},"description":"## 📦 Cài đặt","maintainers":[{"name":"nhatminh0509","email":"leminhnhat1133@gmail.com"}],"readme":"# Agent Core SDK\n\n## 📦 Cài đặt\n\nYêu cầu: [Bun](https://bun.sh/) (hoặc Node.js >= 18)\n\n```bash\n# Cài đặt dependencies\nbun install\n```\n\nThiết lập file `.env` ở thư mục gốc:\n\n```env\nOPENAI_API_KEY=your_openai_api_key_here\nOPENAI_MODEL=gpt-4o-mini\nOPENAI_BASE_URL=https://api.openai.com/v1\n```\n\n## 🚀 Hướng dẫn sử dụng cơ bản\n\n### 1. Khởi tạo LLM Adapter và Agent\n\n```typescript\nimport { Agent, OpenAIAdapter } from \"./src\";\n\nconst model = new OpenAIAdapter({\n  apiKey: process.env.OPENAI_API_KEY!,\n  model: process.env.OPENAI_MODEL,\n  baseURL: process.env.OPENAI_BASE_URL,\n});\n\nconst agent = new Agent({\n  model,\n  instructions: \"Bạn là trợ lý ảo hữu ích.\",\n  // Ép trả về JSON nếu cần (Tuỳ chọn)\n  // responseFormat: 'json_object'\n});\n\nconst result = await agent.run(\"Xin chào!\");\nconsole.log(result.content); // Output: Chào bạn! Mình có thể giúp gì cho bạn?\nconsole.log(`Tokens dùng: ${result.usage.promptTokens}`);\n```\n\n### 2. Sử dụng Công cụ (Tools)\n\nTools giúp LLM thực hiện các tác vụ bên ngoài như lấy thời tiết, tính toán, gọi API.\n\n```typescript\nimport type { ITool } from \"./src\";\n\nconst getWeatherTool: ITool = {\n  name: \"getWeather\",\n  description: \"Lấy thời tiết hiện tại.\",\n  schema: {\n    type: \"object\",\n    properties: { location: { type: \"string\" } },\n    required: [\"location\"],\n  },\n  execute: async ({ location }) => {\n    return `Thời tiết ở ${location} là 28°C.`;\n  },\n};\n\nconst agent = new Agent({\n  model,\n  instructions: \"Sử dụng công cụ nếu người dùng hỏi thời tiết.\",\n  tools: [getWeatherTool],\n});\n```\n\n### 3. Kỹ năng tải động (Lazy Skills)\n\nGom nhóm nhiều Tools lại thành 1 Skill. Agent sẽ chỉ nạp Tools này vào context khi nó cho rằng cần thiết, giúp giữ System Prompt luôn gọn nhẹ.\n\n```typescript\nimport type { ISkill } from \"./src\";\n\nconst mathSkill: ISkill = {\n  name: \"MathExpert\",\n  description: \"Dùng khi cần tính toán số học phức tạp.\",\n  instructions: \"Không tự tính nhẩm, hãy gọi tool calculate.\",\n  tools: [calculateTool],\n};\n\nconst agent = new Agent({\n  model,\n  skills: [mathSkill],\n});\n```\n\n### 4. Streaming và Memory (Chat CLI)\n\nTạo ứng dụng Chat có khả năng ghi nhớ và phản hồi từng chữ (Streaming).\n\n```typescript\nimport { LocalMemory } from \"./your-memory-impl\";\n\nconst agent = new Agent({\n  model,\n  memory: new LocalMemory(),\n  maxHistoryMessages: 20, // Tự động xoá chat cũ nếu quá 20 tin nhắn\n  callbacks: {\n    onStream: (chunk) => process.stdout.write(chunk), // In ra từng chữ\n    onToolStart: (name) => console.log(`[Đang chạy ${name}...]`),\n  },\n});\n\n// sessionId giúp nhận diện người dùng / phiên chat\nconst result = await agent.run(\"Xin chào, tôi tên là Bacoor\", {\n  sessionId: \"user_123\",\n});\n```\n\n_(Tham khảo mã nguồn đầy đủ của ứng dụng chat tại `examples/chat.ts`)_\n\n## 🧱 Kiến trúc (Architecture)\n\nHệ thống được thiết kế hoàn toàn theo nguyên tắc SOLID, bao gồm các thành phần (Interfaces) có thể thay thế độc lập:\n\n- `ILanguageModel`: Chịu trách nhiệm giao tiếp với Provider (Ví dụ: `OpenAIAdapter`).\n- `IMemoryProvider`: Chịu trách nhiệm quản lý lịch sử (Có thể thay thế bằng RedisMemory, MongoDBMemory).\n- `ITool` / `ISkill`: Khả năng mở rộng vô hạn.\n- `Middleware`: Can thiệp và chỉnh sửa chuỗi xử lý (Ví dụ: nhúng hệ thống RAG/VectorDB).\n\n---\n\n**Build & Dev**\n\n```bash\nbun run build # Dịch ra thư mục ./dist\n```\n","readmeFilename":"README.md"}