kuday-system/ajan

GitHub: kuday-system/ajan

一个以安全为核心设计的本地桌面 LLM Agent 系统,通过多层过滤、模拟执行和双重用户确认来确保 AI 生成的操作计划可控可审计。

Stars: 0 | Forks: 0

# 本地安全代理 v1.4 ## 🚀 功能说明 这是一个运行在本地机器上的,**以控制为核心且安全**的代理系统。 - 接收命令 - 生成计划 (LLM) - 通过安全层进行过滤 - 进行模拟 - 获取用户批准 - 执行实际操作 ## 架构 ``` kullanıcı komutu → planner (LLM) → sanitizer → normalizer → rule_engine → lockbox → kullanıcı onayı → simulator → kullanıcı onayı (gerçek execution için) → executor → storage ``` ## 安装说明 ``` pip install -r requirements.txt ollama pull qwen2.5:7b python app.py ``` ## 使用的模型 - `qwen2.5:7b` (Ollama, 本地) - Temperature: 0.1 — 用于确保输出一致且安全 - 3b 模型会遗漏 prompt 规则,因此必须使用 7b 模型 ## 允许的区域 - 桌面 (`Desktop`) - 文档 (`Documents`) - 下载 (`Downloads`) - 项目内部文件夹 — logs, data (仅限 INTERNAL 操作) ## 安全层 1. **Prompt 安全** — 注入防护,用户文本仅作为任务内容 2. **Enum 严格解析** — LLM 无法生成无效的 action 3. **Sanitizer** — 清理转义字符和路径分隔符 4. **Normalizer** — 修正错误的环境变量前缀 (`%desktop%` → `Desktop`),不进行猜测 5. **Rule engine** — 路径强化,区域控制,计划结构,重复清理 6. **Lockbox** — 计划哈希验证,执行前的完整性检查 7. **用户批准** — 模拟前和执行前的双重确认 8. **Executor** — 基于 allow-list 的 handler map,仅允许已授权的 action 执行 ## 架构限制 (需受保护) ### Normalizer - 仅修正格式,不改变语义 - 不进行区域推断 / 目标补全 — 规划器的错误应保持可见 - 禁用 C 组:不进行如 `abc123` → `Desktop\abc123` 的猜测 ### RuleEngine - `requires_real_execution` 仅在 MUTATING action 中予以考虑 - LIST_DIR / READ_FILE 不会触发此标志 - 区域列表来自 `config.py`,不添加盲目的 fallback ### `single_task_ok` 字段 源自模型,不是可靠的政策信号。 多任务检测由 `rule_engine` 独立执行 (`MULTI_TASK_DETECTED`)。 ## 执行 — 允许的 Action 当前在 executor 中启用的 handler: - `CREATE_DIR` — 创建文件夹,支持 rollback - `LIST_DIR` — 列出文件夹,只读 其他 action(`READ_FILE`、`WRITE_FILE` 等)尚无对应的 handler — 将返回 `SKIPPED`。 ## 后续计划 - PlanValidator 层 - Executor handler 扩展 (READ_FILE, WRITE_FILE) - 原子 rollback 机制
标签:AI安全, AI风险缓解, API密钥检测, Chat Copilot, DLL 劫持, LLM评估, MLOps, Ollama, Prompt安全, Python, Qwen2.5, Streamlit, 任务规划, 双重用户授权, 命令执行, 大语言模型, 子域名枚举, 安全代理系统, 安全合规, 完整性校验, 搜索语句(dork), 数字取证, 无后门, 本地AI代理, 本地文件管理, 本地部署, 桌面自动化, 模拟与审批, 系统安全, 网络代理, 自动化脚本, 访问控制, 路径清洗, 输入验证, 逆向工具, 防注入