agentkai
Version:
具有自主意识、长短期记忆、目标管理和自主决策能力的AI助手系统,其中AI助手名为'凯'(Kai)
251 lines (193 loc) • 6.75 kB
Markdown
一个具有自主意识、长短期记忆、目标管理和自主决策能力的AI助手系统。AI助手的名字是"凯"(Kai)。
- 🧠 长短期记忆管理 - 自动区分短期对话和长期重要信息
- 🎯 目标导向决策 - 根据设定的目标优先级进行规划决策
- 🤖 自主学习和适应 - 能保存和利用过往交互经验
- 🔍 自然语言搜索 - 通过语义理解查找相关记忆
- 🛠️ 工具调用能力 - 能根据需要使用专业工具完成任务
- 📊 完善的日志系统 - 支持多级日志控制,方便调试和使用
- TypeScript + Node.js
- 向量数据库 (HNSW) 用于语义搜索
- 通义千问/OpenAI API 支持的大型语言模型
- 命令行工具库 Commander.js
- 异步处理和性能监控
```bash
npm install -g agentkai
npm install agentkai
```
```bash
git clone https://github.com/Peiiii/agentkai.git
cd agentkai
npm install
npm run build
```
- Node.js >= 16
- TypeScript >= 4.5
- npm >= 7
AgentKai支持多级配置管理,配置加载优先级(从高到低):
1. 当前目录的`.env`文件
2. 用户主目录的`.agentkai/config`文件
3. 系统全局配置(`/etc/agentkai/config`或Windows下的`%ProgramData%\agentkai\config`)
首次使用时,可以通过以下命令创建默认配置:
```bash
agentkai config --init
agentkai config --edit
```
主要配置项:
```env
AI_API_KEY=your_api_key_here
AI_MODEL_NAME=qwen-max-latest
AI_MAX_TOKENS=2000
AI_TEMPERATURE=0.7
AI_BASE_URL=https://dashscope.aliyuncs.com/api/v1
AI_EMBEDDING_MODEL=text-embedding-v3
MEMORY_MAX_SIZE=1000
MEMORY_SIMILARITY_THRESHOLD=0.6
DECISION_CONFIDENCE_THRESHOLD=0.7
```
通过全局安装后可直接使用命令行工具:
```bash
agentkai config
agentkai config --init
agentkai config --edit
agentkai config --path
agentkai config --get AI_TEMPERATURE
agentkai config --set AI_TEMPERATURE 0.8
agentkai chat
agentkai memory --list
agentkai memory --add "这是新记忆内容"
agentkai memory --search "搜索关键词"
agentkai memory --remove 123
agentkai goals --list
agentkai goals --add "完成项目文档"
agentkai goals --progress 123 0.5
agentkai goals --status 123 completed
agentkai --log-level debug chat
agentkai chat --debug
agentkai --log-level warn memory --list
agentkai --log-level silent goals --list
```
您可以在自己的项目中使用AgentKai作为库:
```javascript
// ESM
import { AISystem, OpenAIModel, Logger } from 'agentkai';
// CommonJS
const { AISystem, OpenAIModel, Logger } = require('agentkai');
// 初始化配置
const config = {
modelConfig: {
apiKey: process.env.AI_API_KEY,
model: 'qwen-max-latest',
// 其他模型配置...
},
memoryConfig: {
// 记忆系统配置...
},
decisionConfig: {
// 决策系统配置...
}
};
// 使用示例
async function main() {
// 设置日志级别
Logger.setGlobalLogLevel('info');
// 初始化模型
const model = new OpenAIModel(config.modelConfig);
// 创建AI系统
const ai = new AISystem(config, model);
await ai.initialize();
// 处理用户输入
const response = await ai.processUserInput('你好,凯!');
console.log(response);
}
main().catch(console.error);
```
AgentKai提供了多个核心组件,可以单独使用或组合使用:
```javascript
// 记忆系统
import { MemorySystem } from 'agentkai';
const memorySystem = new MemorySystem(config.memoryConfig);
await memorySystem.initialize();
await memorySystem.addMemory('这是一条重要记忆');
// 目标管理
import { GoalManager } from 'agentkai';
const goalManager = new GoalManager();
await goalManager.addGoal({
description: '完成项目文档',
priority: 0.8
});
// 日志系统
import { Logger, LogLevel } from 'agentkai';
const logger = new Logger('MyComponent');
logger.info('系统初始化完成');
logger.debug('调试信息', { detail: 'value' });
```
```
src/
├── core/
│ └── AISystem.ts
├── models/
├── memory/
├── goals/
├── decision/
├── utils/
│ ├── logger.ts
│ ├── errors.ts
│ └── performance.ts
├── tools/
├── storage/
├── commands/
├── types.ts
└── cli.ts
docs/
├── ARCHITECTURE.md
├── CODE_IMPROVEMENTS.md
└── REFACTORING.md
```
系统使用本地文件系统存储记忆和目标,默认存储在项目根目录的`.data`文件夹中:
```
.data/
├── goals/
│ └── [id].json
└── memories/
└── [id].json
```
- 【Web界面】构建Web图形界面,提供更友好的交互体验
- 【主动学习】实现主动学习功能,优化记忆重要性评估
- 【API服务】提供RESTful API接口,支持第三方集成
- 【多模态】支持图片、语音等多模态交互
- 【插件系统】实现可扩展的插件系统,支持自定义功能
1. Fork本仓库
2. 创建特性分支 (`git checkout -b feature/amazing-feature`)
3. 提交更改 (`git commit -m 'Add some amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 创建Pull Request
MIT