# deap-ai **Repository Path**: 476743842/deap-ai ## Basic Information - **Project Name**: deap-ai - **Description**: 尝试自己做的agent - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-06-19 - **Last Updated**: 2026-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # deap-ai DeepSeek 驱动的 AI Agent monorepo,包含 TUI CLI 与 Electron 桌面端。 ## 文档 详细架构、Agent 运行流程与调度原理见 **[docs/](./docs/)**: - [技术栈说明](./docs/tech-stack.md) - [架构总览](./docs/architecture.md) - [Agent 运行流程与调度原理](./docs/agent-runtime.md) - [内部 HTTP / SSE API](./docs/api.md) 源码内已添加中文注释,建议从 `packages/core/src/session/prompt.ts` 开始阅读。 ## 包结构 | 包 | 说明 | |---|---| | `packages/core` | Agent、Session、Tool、Permission 引擎 | | `packages/llm` | DeepSeek(OpenAI-compatible)适配 | | `packages/app` | CLI 入口、HTTP Server、Worker | | `packages/tui` | OpenTUI 终端界面 | | `packages/ui` | 桌面端 Web UI | | `packages/desktop` | Electron 壳 | ## 环境要求 - Bun 1.3+ - `DEEPSEEK_API_KEY` 环境变量 ## 安装 ```powershell cd E:\yunagile\ai\deap-ai bun install ``` ## 启动 TUI ```powershell $env:DEEPSEEK_API_KEY = "sk-..." bun dev . ``` ## 单次运行(非交互) ```powershell bun run --cwd packages/app --conditions=browser src/index.ts run . -m "列出当前目录文件" ``` ## 启动桌面端 ```powershell $env:DEEPSEEK_API_KEY = "sk-..." $env:DEAP_CHANNEL = "dev" bun dev:desktop ``` ### Windows 注意事项 1. **Electron 二进制**:若报 `Electron uninstall`,在仓库根目录执行: ```powershell node node_modules\.bun\electron@42.3.3\node_modules\electron\install.js ``` 2. **无需 git 仓库**:桌面端构建使用 `DEAP_CHANNEL=dev`,不依赖 `git branch`。 3. **国内网络**:可设置 `ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/` 后重装 Electron。 ## 配置 项目根目录或工作目录下的 `deap.json`: ```json { "provider": "deepseek", "model": "deepseek/deepseek-chat", "default_agent": "build" } ``` ## 架构 ``` bun dev . → packages/app CLI (yargs) → Worker (HTTP Server) → packages/tui (OpenTUI) bun dev:desktop → Electron main → sidecar (bundled Server) → packages/ui (Solid Web UI) ```