Skip to content

hookrise/hook-workflow-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hook Workflow Agent

多模型 AI 工作台,MIT 开源。类 ChatGPT/Claude 的 Web 界面,集成 5 种工作模式、12 个工具、16 个 API 端点。

快速开始

git clone https://github.com/yourname/hook-workflow-agent.git
cd hook-workflow-agent

# 方式一:Docker
docker compose up -d

# 方式二:手动
cd backend && pip install -r requirements.txt && uvicorn main:app --port 8001 --reload &
cd frontend && npm install && npm run dev

打开 http://localhost:5173 ,首次使用点击模型下拉旁的 + 添加 API Key。

功能

5 种工作模式

模式 说明
💬 聊天 对话 + 12 工具(Read/Write/Edit/Grep/Glob/Bash/HashEdit/FetchURL/GenerateImage/Retain/Recall)
📋 计划 需求复述 → 风险评估 → 分步计划 → 确认执行
🧠 缜密计划 5 阶段流水线:头脑风暴 → 方案设计 → 实施规划 → 执行实现 → 验证测试
📄 文档 结构化写作(选题→大纲→文献→正文→格式)+ 一键导出 Markdown
🎨 生图 fal.ai 图片生成

模型支持

7 个内置提供商 + 自定义:DeepSeek / OpenAI / Anthropic / GLM / Groq / Ollama / 自定义

  • DeepSeek V4 系列通过 Anthropic 兼容端点调用
  • 模型预设一键选择,自动探测能力(视觉/思考/生图/上下文窗口)
  • 思考模式:Auto / Low / Medium / High / XHigh / Max

插件系统

  • 插件市场浏览(anthropics/skills 17 个官方技能)
  • 一键安装/卸载
  • 已安装技能自动加载到 Agent 提示中

会话管理

  • 会话分支 DAG(创建分支/切换分支/面包屑导航)
  • 双击重命名会话
  • 侧边栏搜索(标题 + 消息内容全文检索)
  • 相对时间显示("3小时前")
  • 自动创建会话(无会话时直接输入)

Code Review

  • P0-P3 优先级系统(阻塞/警告/通过)
  • 仿 GitHub PR Review 面板
  • Agent 写文件后自动触发

编辑控制

  • Shift+Tab 切换:编辑前确认 (Ask before edits) / 自动编辑 (Edit automatically)
  • Hash-anchored 编辑(比字符串匹配更可靠)
  • 文件上传(拖拽支持)+ 工作区文件选择器

UI/UX

  • 深色/浅色/跟随系统主题
  • 思考框(仿 DeepSeek/Claude)
  • 代码块语法高亮 + 一键复制
  • 会话导出 Markdown
  • 输入区放大编辑模式
  • 回到底部按钮
  • 键盘快捷键(设置面板内可查看)
  • 空状态快捷提问

安全

  • API Key Fernet 真加密存储(AES-128-CBC),旧 base64 自动升级
  • 错误消息自动过滤 Key 片段(_sanitize_error
  • 文件操作沙箱化(路径遍历防护)
  • 命令执行黑名单 + 白名单 + Windows 防护
  • SSRF 防护(DNS 重绑定检测 + 内网 IP 拦截)
  • XSS 过滤(urlTransform
  • 密码 scrypt 哈希(n=16384)
  • 文件上传扩展名白名单 + 50MB 限制
  • 内存文件锁防并发损坏

配置

  • ENCRYPTION_KEY — API Key 加密密钥(不设则用开发 fallback)
  • APP_PASSWORD_HASH — 登录密码哈希
  • FAL_KEY — fal.ai 生图 API Key
  • GITHUB_TOKEN — 插件市场 GitHub API(可选)
  • 前端 VITE_API_BASE — 自定义后端地址(默认 http://localhost:8001

技术栈

技术
前端 React 18 + TypeScript + Vite + Zustand + ReactMarkdown
后端 Python FastAPI + SQLAlchemy + aiosqlite
数据库 SQLite(可迁移 PostgreSQL)
部署 Docker Compose(含 Nginx 生产构建)

API 端点

端点 方法 说明
/chat POST 核心对话
/sessions/ GET/POST 会话列表/创建
/sessions/{id} GET/DELETE 会话详情/删除
/sessions/{id}/rename PUT 重命名
/sessions/{id}/branches GET 分支列表
/sessions/search GET 全文搜索
/models/ GET/POST 模型列表/添加
/models/{id}/default PUT 设为默认
/review/ POST 代码审查
/image/generate POST AI 生图
/marketplace/ GET 插件市场
/marketplace/install/{name} POST/DELETE 安装/卸载
/marketplace/installed GET 已安装列表
/upload POST 文件上传
/workspace-files GET 工作区文件列表
/workspace-files/read GET 读取文件
/memory/retain POST 保存记忆
/memory/recall GET 检索记忆
/browser/fetch POST 获取网页
/auth/login POST 登录
/health GET 健康检查

开发

# 后端
cd backend && uv run uvicorn main:app --reload --port 8001

# 前端
cd frontend && npm run dev

# 测试
cd backend && python -m pytest tests/ -v

项目结构

hook-workflow-agent/
├── backend/
│   ├── main.py, config.py, requirements.txt
│   ├── db/database.py
│   ├── models/ (session, user_config)
│   ├── routes/ (chat, sessions, models, review, image, marketplace, browser, memory, auth)
│   ├── services/ (agent_engine, llm_client, capability_detector, tool_registry, code_reviewer, token_tracker, image_gen, browser, memory, marketplace, auth)
│   ├── tools/ (12 tools)
│   └── tests/ (61 tests)
├── frontend/
│   └── src/
│       ├── components/ (chat/layout/model/session/settings/editor/hud)
│       ├── hooks/ (useTheme, useFileSystem)
│       ├── store/ (chatStore, sessionStore, modelStore)
│       ├── api/ (client, chat, sessions, models)
│       └── config/ (modelPresets)
├── docker-compose.yml, nginx.conf, Dockerfile.prod
└── README.md

60+ commits · 38 backend · 34 frontend · 61 tests · 18 API endpoints · MIT

许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors