DevFlow Agent — 可靠、诚实、可控的 AI 开发助手 CLI 工具。
核心目标:完全模拟人类开发者的思维方式和工作流程
- 可靠性 — 每个 AI 建议必须可验证、可复现
- 诚实性 — 明确区分 AI 推测和确认事实
- 可控性 — 用户对所有操作保持完全控制
- 10 个 AI 平台 — OpenAI、Anthropic、Google、DeepSeek、硅基流动、阿里云百炼、智谱AI、百度千帆、Ollama、LM Studio
- 智能模型查找 — 自动从平台 API 搜索匹配模型(支持 239+ 个阿里云模型)
- 自动切换 — 模型失败时自动尝试下一个(
--fallback) - 流式响应 — 实时显示 AI 输出
- 13 个内置工具 — Shell、文件操作、HTTP、JSON、文本处理、哈希等
- 管道链式调用 —
tools pipe "shell() | text() | json()"组合工具 - 代码审查 — 规则引擎 + AI 深度审查(安全/Bug/性能/质量)
- 上下文记忆 — 自动关联相关历史对话
- 知识图谱 — 实体关系网络,支持路径查找
- RAG 检索 — 向量检索相似内容
- 记忆整合 — 自动压缩和整理过期记忆
- 时间衰减 — 旧记忆自动降低权重
- Big Five 人格模型 — 开放性、尽责性、外向性、宜人性、神经质
- 情绪状态 — 8 种情绪状态,影响响应风格
- 学习循环 — 从经验中学习,改进行为
- 自主目标 — 主动检测项目健康状态并生成建议
- 多提供商支持 — Local、GitHub Gist、自定义 API
- 自动备份 — 定时备份配置和记忆
- 数据导出/导入 —
devflow data export/import
npm install -g @devflow/agent# 克隆仓库
git clone https://github.com/badhope/DevFlow-Agent.git
cd DevFlow-Agent
# 安装依赖(会自动编译)
npm install
# 全局链接(可选)
npm link要求 Node.js >= 18.0.0
# 1. 配置 API Key
devflow config set-key aliyun sk-xxxxx
devflow config set-default aliyun
# 2. 开始聊天
devflow chat ask "你好,介绍一下你自己"
# 3. 指定模型(支持模糊匹配)
devflow chat ask "写一个冒泡排序" -m qwen-max
# 4. 启用自动切换
devflow chat ask "你好" -m qwen-plus --fallback
# 5. 交互式多轮对话
devflow chat startdevflow chat start # 交互式多轮对话
devflow chat ask <问题> # 单轮快速提问
devflow chat ask <问题> -m <模型> --fallback # 自动切换模型
devflow chat models -p aliyun # 列出平台模型devflow config init # 交互式配置向导
devflow config list # 查看所有配置
devflow config set-key <平台> <API Key>
devflow config set-default <平台>
devflow config test <平台> # 测试平台连接devflow tools list # 列出所有工具
devflow tools shell "git status" # 执行 Shell
devflow tools run read_file p=src/index.ts
devflow tools pipe "shell(cmd=dir) | text(action=sort)"devflow data export -o backup.json # 导出所有数据
devflow data import -i backup.json # 导入数据
devflow data reset --confirm "DELETE ALL DATA" # 重置数据devflow review file <文件路径> # 审查单个文件
devflow review dir <目录路径> # 审查整个目录
devflow review file <文件> -c security # 仅安全审查src/
├── cli.ts # CLI 入口
├── core.ts # Agent 核心执行器
├── commands/ # CLI 命令
│ ├── ai.ts # AI 平台管理
│ ├── chat.ts # 聊天功能
│ ├── config.ts # 配置管理
│ ├── data.ts # 数据管理
│ ├── review.ts # 代码审查
│ └── tools.ts # 工具调用
├── providers/ # AI 平台适配器
│ ├── openai.ts
│ ├── anthropic.ts
│ ├── aliyun.ts
│ └── ...
├── agent/ # Agent 系统
│ ├── core.ts # 主执行器
│ ├── context-builder.ts # 上下文构建
│ ├── experience-store.ts # 经验学习
│ ├── personality.ts # 人格系统
│ ├── emotional-state.ts # 情绪状态
│ └── autonomous-goals.ts # 自主目标
├── memory/ # 记忆系统
│ ├── manager.ts # 记忆管理器
│ ├── knowledgeGraph.ts # 知识图谱
│ ├── memoryGraph.ts # 记忆图谱
│ ├── rag.ts # RAG 检索
│ └── consolidation.ts # 记忆整合
├── tools/ # 工具系统
│ ├── registry.ts # 工具注册表
│ ├── security.ts # 安全检查
│ └── definitions/ # 工具定义
├── config/ # 配置管理
│ ├── manager.ts
│ ├── schemas.ts # Zod 验证
│ └── validation.ts
├── services/ # 服务层
│ ├── logger.ts # 结构化日志
│ ├── compression-service.ts
│ └── chat-service.ts
├── di/ # 依赖注入
│ ├── container.ts
│ └── tokens.ts
└── utils/ # 工具函数
├── async-lock.ts # 异步锁
├── errors.ts # 错误类
└── ...
- 路径验证 — 所有文件操作都经过
validatePath检查 - 命令白名单 — Shell 命令限制在白名单内
- 危险模式检测 — 自动识别并阻止危险命令
- 敏感信息过滤 — 日志自动脱敏 API Key 等敏感信息
- SSRF 防护 — HTTP 工具阻止访问私有 IP 和元数据端点
- 并发锁保护 — 关键资源使用 AsyncLock 防止竞态条件
| 平台 | 类型 | API 格式 | 模型搜索 |
|---|---|---|---|
| OpenAI | 云端 | OpenAI | ✅ |
| Anthropic | 云端 | Anthropic | ✅ |
| Google Gemini | 云端 | ✅ | |
| DeepSeek | 云端 | OpenAI 兼容 | ✅ |
| 硅基流动 | 云端 | OpenAI 兼容 | ✅ |
| 阿里云百炼 | 云端 | OpenAI 兼容 | ✅ (239个模型) |
| 智谱AI | 云端 | OpenAI 兼容 | ✅ |
| 百度千帆 | 云端 | 自定义 | 内置列表 |
| Ollama | 本地 | Ollama | ✅ |
| LM Studio | 本地 | OpenAI 兼容 | ✅ |
# 安装依赖
npm install
# 开发模式(热重载)
npm run dev
# 构建
npm run build
# 测试
npm test
# 代码检查
npm run lint/web— React Web 界面/sdk— JavaScript SDK/vscode— VSCode 扩展
MIT