# CogitoAgent **Repository Path**: cnt-code/cogito-agent ## Basic Information - **Project Name**: CogitoAgent - **Description**: 🔥CogitoAgent — 云端驱动、本地执行的自主AI智能体。持续思考、自动分析,集成文件管理、代码执行、网页搜索、数据库等实工具,安全高效。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: project - **Homepage**: https://snowleopard-io.github.io/CogitoAgent/ - **GVP Project**: No ## Statistics - **Stars**: 27 - **Forks**: 6 - **Created**: 2026-06-07 - **Last Updated**: 2026-07-16 ## Categories & Tags **Categories**: ai **Tags**: Nodejs, JavaScript, 智能体, 人工智能, Electron ## README # CogitoAgent > **持续思考 · 自主行动 · 隐私优先** 我思故我在 —— CogitoAgent 不仅仅是一个工具,它是您在本地环境中的自主思考伙伴。 **CogitoAgent** 是一款云端驱动,本地执行的智能体框架,集成了文件管理、知识挖掘、系统操作、代码执行和网络连接能力。它直接运行在用户配置的工作目录内,通过调用用户指定的大模型 API 驱动思考与决策,**用户的工作文件保留在本地**,在保障文件资产安全的同时提供持续运行的智能助手服务。  与传统聊天机器人不同,CogitoAgent 具备**持续思考**、**自主探索**和**工具执行**的能力,能够在后台主动发现和整理您的本地文件资产,并通过可扩展的工具集提供更多能力。
--- ## 核心功能 | 功能 | 描述 | |------|------| | **TypeScript 核心** | 全量 TypeScript 重构,类型安全,编译时错误检测 | | **隐私优先** | 用户工作文件保留在本地,仅通过 API 将必要上下文发送至你指定的模型服务商 | | **持续思考** | 每 3 秒自动触发一次思考循环(可配置) | | **工具执行** | 16+ 工具模块,100+ 工具,覆盖文件操作、代码执行、Git、数据库、OCR、Office 文档等 | | **安全沙箱** | JavaScript 代码执行使用 `isolated-vm` 进行进程级隔离 | | **多会话管理** | 多个独立的对话会话,持久化存储,自动压缩 | | **桌面模式** | Electron 桌面窗口,通过 WebSocket 与终端 Agent 通信 | | **MCP 协议** | 将工具暴露为 MCP Server,支持与其他 AI 客户端集成 | | **插件系统** | 动态加载自定义工具插件 | | **思维链可视化** | 实时可视化思考过程和工具执行 | | **智能体集群** | 支持子智能体创建与任务委派,多智能体协作 | | **监控面板** | 独立窗口实时展示集群拓扑、思维链和工具统计 | | **微信集成** | 扫码登录、消息收发、专属会话、工具气泡展示 | --- ## 🚀 快速开始 ### 环境要求 - **Node.js** 22.12 或更高版本 - **npm** 或 **yarn** 包管理器 - **Python** 3.x(可选,用于 Python 代码执行) > **国内用户注意**:如果 `npm install` 下载 Electron 失败: > ```bash > $env:ELECTRON_MIRROR = "https://npmmirror.com/mirrors/electron/" > npm install > ``` ### 安装步骤 ```bash git clone https://gitee.com/cnt-code/cogito-agent.git cd cogito-agent npm install npm start ``` ### 首次配置 1. **API 基础地址** — 支持 OpenAI 兼容的第三方 API 2. **API Key** — 您的 API 密钥 3. **模型名称** — 例如 gpt-4o, claude-3-sonnet 等 4. **工作目录路径** — AI 可以访问的目录 5. **角色选择** — 选择预设的 AI 角色 ### 使用模式 | 命令 | 模式 | 描述 | |------|------|------| | `npm start` | 设置向导 | 首次配置或修改设置 | | `npm run electron:desktop` | 桌面模式 | Electron 悬浮窗口 + 终端 Agent(WebSocket 通信) | | `npm run electron:dashboard` | 仪表盘模式 | 全屏仪表盘,包含会话管理和工具可视化 | | `npm run cli` | CLI 模式 | 纯终端模式,无 Electron(适用于服务器/无头环境) | --- ## 工具系统 所有工具由 `registry.ts` 管理,通过 `[TOOL] functionName(args) [/TOOL]` 格式调用。 ```mermaid flowchart LR Tools["🛠 工具系统"] Tools --> File["📁 文件操作"] Tools --> Web["🌐 网络工具"] Tools --> Browser["🖥 浏览器自动化"] Tools --> Code["💻 代码执行"] Tools --> Git["🔀 Git 操作"] Tools --> Task["📋 任务管理"] Tools --> Memory["🧠 记忆系统"] Tools --> Data["📊 数据处理"] Tools --> Office["📝 Office 文档"] Tools --> OCR["👁 OCR / 视觉"] Tools --> Wx["💬 微信集成"] Tools --> GIS["🗺 GIS 地理信息"] Tools --> Bio["🧬 生命科学"] Tools --> Med["🏥 医学"] Tools --> Chem["⚗️ 化学"] Tools --> Fin["💰 金融"] Tools --> Math["📐 数学统计"] ``` | 分类 | 文件 | 主要函数 | |------|------|----------| | 文件操作 | `file.ts` | `ls`, `read`, `create`, `copy`, `mkdir` | | 路径工具 | `path.ts` | `getBasePath` | | 网络工具 | `web.ts` | `search`, `browse`, `fetchPage` | | 浏览器自动化 | `browser.ts` | `initBrowser`, `clickElement`, `fillField`, `selectOption`, `viewChanges`, `getPageContent`, `takeScreenshot`, `closeBrowser`, `searchOnPage`, `findElements`, `searchOnEngine`, `downloadFile` | | 系统操作 | `system.ts` | `listApps`, `openApp`, `closeApp` | | 代码执行 | `code.ts` | `executeCode`, `executeFile`, `runJavaScript`, `runPython`, `formatCode` | | 安全沙箱 | `sandbox.ts` | `createJavaScriptSandbox`, `runJavaScriptSandbox`, `runPythonSandbox`, `executeCodeSandbox` | | Git | `git.ts` | `gitInit`, `gitClone`, `gitAdd`, `gitCommit`, `gitPush`, `gitPull`, `gitStatus`, `gitLog`, `gitBranchCreate`, `gitBranchDelete`, `gitBranchList`, `gitCheckout`, `gitCheckoutNew`, `gitMerge`, `gitDiff`, `gitRemoteAdd`, `gitRemoteList`, `gitConfigUser`, `gitReset`, `gitStash`, `gitStashPop` | | 任务管理 | `task.ts` | `createTask`, `getTasks`, `getTask`, `updateTask`, `deleteTask`, `completeTask`, `splitTask`, `getTaskStats`, `clearTasks` | | 记忆系统 | `memory.ts` | `addMemory`, `searchMemory`, `getAllMemories`, `getMemory`, `updateMemory`, `deleteMemory`, `getMemoryStats`, `getRelatedMemories`, `clearMemory` | | 数据处理 | `data.ts` | `readCSV`, `writeCSV`, `readJSON`, `writeJSON`, `csvToJSON`, `jsonToCSV`, `queryData`, `analyzeData`, `sortData` | | 数据库 | `db.ts` | `executeSQL`, `query`, `insert`, `update`, `deleteData`, `createTable`, `dropTable`, `getTables`, `getTableSchema`, `executeTransaction`, `closeDB` | | 邮件 | `email.ts` | `sendEmail`, `sendTextEmail`, `sendHtmlEmail`, `sendTemplateEmail`, `sendEmailWithAttachments`, `checkEmailConfig` | | 系统监控 | `monitor.ts` | `getCPUInfo`, `getMemoryInfo`, `getDiskInfo`, `getNetworkInfo`, `getProcesses`, `getSystemInfo`, `getCurrentProcess`, `getSystemLoad`, `monitorSystem` | | 定时任务 | `scheduler.ts` | `addScheduleTask`, `getScheduleTasks`, `getScheduleTask`, `updateScheduleTask`, `toggleScheduleTask`, `removeScheduleTask`, `startScheduler`, `stopScheduler` | | 存储 | `storage.ts` | `FileStorage`, `createStorage` | | 图像识别 | `ocr.ts` | `ocr`, `ocrBatch` | | 视觉分析 | `vision.ts` | `vision`, `visionFromUrl` | | Office 文档 | `office.ts` | `createPpt`, `createWord`, `createExcel`, `readExcel` | | GIS 地理信息 | `gis.ts` | `convertCoord`, `calcDistance`, `calcArea`, `readGeoJSON`, `pointInPolygon`, `geoJSONToKML` | | 生命科学 | `bio.ts` | `dnaComplement`, `translate`, `gcContent`, `parseFASTA`, `hammingDistance`, `codonUsage` | | 医学 | `med.ts` | `bmi`, `egfr`, `childPugh`, `convertUnit`, `oxygenIndex`, `loanPayment`, `parseVitalSigns` | | 化学 | `chem.ts` | `molWeight`, `elementInfo`, `phFromH`, `idealGasLaw`, `dilution`, `elementComposition` | | 金融 | `finance.ts` | `compoundInterest`, `npv`, `irr`, `loanPayment`, `roi`, `volatility`, `movingAverage` | | 数学统计 | `math.ts` | `describe`, `correlation`, `linearRegression`, `matrixMultiply`, `solveQuadratic`, `factorial` | > 详细工具文档:注册机制、使用示例、最佳实践 → [introduction/tools.md](introduction/tools.md)
文件操作 · 网络搜索 · 微信集成
智能体集群监控面板