📖 项目简介 Project Introduction

xworkbench — All-in-One 个人工作台

统一入口:快捷工具 · 任务管理 · 自动化 · AI 对话

多平台 定时调度 AI 自治 远程 Agent 经验沉淀

🎯 能做什么

  • 统一入口:作为日常 homepage / launcher,常用网址、目录、待办事项一键直达
  • 任务管理:手动任务、远程 Agent 任务、AI 自治任务,统一追踪
  • 自动化调度:Cron 定时任务,支持 shell / claude / cbc 多类型
  • AI 对话:浏览器内终端体验,多 CLI(claude/cbc/codex/shell)切换
  • 经验库:可复用上下文积累,关联任务自动注入,AI 学习自动写入
  • 代理:跨平台命令执行、HTTP 转发、远程 Agent 管理
📊

总览仪表盘

任务统计、趋势图、调度器状态、最近执行,一目了然

🔗

快捷工具

快捷链接、目录、待办事项,集中管理

📋

任务管理

手动+远程双模式,状态流转,AI 辅助评估

📚

经验库

可复用上下文积累,关键词匹配,与任务关联

自动化调度

Cron 定时任务,支持 shell/claude/cbc 多类型

🤖

AI 对话

终端式交互体验,多 CLI 支持,持续会话

🔀

代理

命令执行、HTTP 转发、远程 Agent 管理

⚙️

系统配置

快捷目录/链接管理、AI 默认设置、配置文件

⚡ 核心功能 8 个子模块

📊 总览仪表盘

一屏看清全局:有多少任务、谁在跑、下次何时执行、最近执行了什么。

📈 任务统计

6 种状态计数(待认领/待执行/执行中/待交互/已完成/异常),颜色区分,点击快速筛选

📉 趋势图

近 7 日任务数量柱状图,区分手动和调度任务,分析工作负载分布

⏰ 调度器状态

实时显示运行状态,展示下次执行时间,可快速启停

⚡ 最近执行

实时展示最新记录,自动刷新(默认 3s),支持手动触发

总览仪表盘
总览页面:任务统计、趋势图、调度器状态、最近执行

🔧 快捷工具

常驻首页的快捷入口:链接、目录、待办,一点就开,无需再翻文件夹或备忘录。

🔗 快捷链接

图标卡片展示,点击新窗口打开。悬停显示删除,支持自定义图标

📂 快捷目录

支持本地路径(Finder/xdg-open/explorer)和远程 user@host:/path

☑️ 待办事项

绑定 todo.md,解析 - [ ]/- [x],点击自动写回

快捷工具
总览页面左侧:快捷链接、待办事项 widget
快捷目录
📂 快捷目录:Finder/xdg-open/explorer 打开本地或远程目录
终端快捷
🖥 终端快捷:WezTerm/Terminal.app 等直接打开目录

📋 任务管理

把要做的事记下来,AI 帮你跑,跑完还能评估。手动和远程 Agent 都能管。

手动任务

本地创建,认领后执行。适合个人工作项沉淀和追踪。

远程 Agent 任务

远程机器领取执行,支持分布式协作,适合多机器场景。

🔄 状态流转

pendingin_progressrunningwaiting_inputarchived
🤖 AI 自治

Run Loop / Reevaluate / Learn 三个按钮,--resume 继续对话

📚 经验关联

创建任务时关联多条经验,AI 决策时自动参考

任务管理
任务列表页:状态筛选、类型筛选、关键词搜索

📚 经验库

把可复用的上下文(如配置、命令、踩坑记录)存起来,创建任务时关联进去,AI 决策更准。

🔍 快速检索

搜索"mysql 连接池",找到相关配置经验和排查步骤

🔗 任务辅助

创建"排查慢查询"任务时,关联"mysql 慢日志分析"经验

✨ 自动学习

AI 执行成功后,点击 Learn 自动沉淀为新经验

📤 团队共享

导出经验库为 JSON,与团队共享上下文片段

经验库
经验库页面:分类导航、搜索、详情查看

⚡ 自动化调度

写好 Cron 表达式,交给调度器定时跑。shell、Claude、Codebuddy 都支持,睡觉时也在跑。

定时巡检

0 */6 * * * 每6小时检查服务器状态

每日报告

0 9 * * * 每天9点生成业务报告

持续监控

@every 30s 每30秒检查指定条件

周度复盘

0 10 * * 1 每周一10点执行复盘流程

⚙️ 调度器控制

  • 启动/停止/重载调度器,优雅关闭(等待 in-flight goroutine)
  • 启动时自动恢复上次状态,支持手动触发立即执行

⏰ 定时任务配置

  • Cron 表达式(分 时 日 月 周)或快捷预设 @every 30s / @hourly
  • 命令类型:shell / claude / cbc,模型:haiku(快) / sonnet(准) / opus(强)
  • 超时:AI 任务默认 10min,shell 任务 5min
自动化调度
自动化页面:定时任务列表、调度器控制、执行记录

🤖 AI 对话

在浏览器里开一个真实终端,随时问 AI 问题,多 CLI 切换。

🖥️ 终端体验

  • 基于 xterm.js 真实终端模拟,支持全屏、复制粘贴、滚动回溯
  • 多会话管理,会话历史持久化,重启不丢失
🦙claude — Anthropic Claude CLI
🦙cbc — Codebuddy CLI
🔷codex — OpenAI Codex CLI
💻shell — 本地 shell
日常对话

"帮我添加一条 redis-cluster 经验"

即时问答

遇到问题直接询问 AI,获取解决方案

AI 对话
AI 对话页面:终端式交互,支持多 CLI

🔀 代理

Linux 服务器受限网络下,通过代理调用 Windows 工作电脑上的 xworkbench,让它代为执行命令或转发请求。

🌐 Linux 服务器
受限网络,主动调用代理
⚡ xworkbench 工作台
Windows 工作电脑
🌐 目标服务
内网 API / 数据库 / 任意端口
典型:Linux 服务器访问受限网络 → 调用 Windows 工作台上的 xworkbench 代理 → 代理代为访问目标服务
⚡ 命令执行

在 xworkbench 机器执行 shell/powershell,返回 stdout/stderr/exit_code

🌐 HTTP 转发

透传请求到目标 URL,自动携带认证头(authorization/x-api-key/cookie)

📡 远程 Agent

查看在线状态,心跳超时30s/任务超时10min自动释放

🖥️ Linux 调用

生成调用脚本,远程机器无需安装 xworkbench,通过 api_key 鉴权

代理
代理页面:命令执行、HTTP 转发、远程 Agent 管理

⚙️ 系统配置

管理快捷目录/链接、切换默认 AI CLI、调整模型配置,所有偏好通过 UI 修改并持久化。

📂 快捷目录

导入/导出配置,支持去重策略(skip/overwrite/append)

🔗 快捷链接

导入/导出,自定义图标 URL,批量管理

🤖 AI 默认

全局默认 CLI(claude/cbc),执行/评估模型独立配置

📄 配置文件

./config.json(不入库),或通过 UI 修改自动保存

系统配置
系统配置页面
🏗 技术架构 Technical Architecture
xworkbench 单二进制
Go 1.22+ · SQLite (modernc.org/sqlite, 无 CGO)
Web UI (HTML/CSS/JS) · WebSocket
调度器 (cron) · AI CLI 桥接
PTY (macOS/Linux) · ConPTY (Windows)
AI CLI (claude / cbc / codex)
远程 Agent 协议

🛠 技术选型

  • Go 单二进制:部署简单,无需运行时环境,跨平台编译一条命令
  • SQLite (无 CGO):零依赖数据库,modernc.org/sqlite 纯 Go 实现
  • Web UI:浏览器即客户端,随时随地访问,响应式设计
  • PTY / ConPTY:真终端体验,支持交互式命令执行
  • WebSocket:实时双向通信,执行输出实时推送

🏛 系统架构

  • 前端:纯静态 HTML/CSS/JS,单文件入口,多 view 模块化
  • 后端:Go HTTP 服务,RESTful API + WebSocket
  • 数据层:SQLite 数据库,14 张表,迁移自动化
  • 调度层:内置 cron 调度器,支持高并发任务
  • AI 层:抽象 CLI 接口,支持 claude / cbc / shell 多类型

📊 关键指标

  • HTTP 路由:91 个
  • Go 代码量:~14600 行
  • 数据库表:14 张
  • 功能 Tab:7 个(总览 / 任务 / 经验库 / 自动化 / 系统配置 / AI 对话 / 代理)
  • Widget:5 个(快捷链接 / 待办 / 目录 / 调度器摘要 / 最近执行)
🚀 快速上手 Quick Start
1

克隆项目

git clone 仓库代码

2

编译运行

./scripts/build.sh && ./scripts/run.sh

3

打开浏览器

访问 http://localhost:8902

4

开始使用

体验 7 大功能模块

# 克隆并进入项目 git clone <repo> cd xworkbench # 编译(macOS 默认) ./scripts/build.sh # → ./bin/xworkbench # 三平台编译 ./scripts/build.sh -a # → xworkbench-darwin/linux/windows # 清理编译产物 ./scripts/build.sh -c # 启动服务(默认端口 8902) ./scripts/run.sh # 其他命令 ./scripts/run.sh --stop # 停止 ./scripts/run.sh --restart # 重启 ./scripts/run.sh --log # 查看日志 ./scripts/run.sh --status # 运行状态

📄 配置(可选)

  • 复制模板:cp config.json.template config.json
  • 按需修改配置项(终端类型、模型列表等)
  • 也可通过 UI:系统配置 Tab → 修改 → 保存
  • 配置文件 ./config.json 不入库,适合个人偏好

🖥 平台支持

  • macOS:真 PTY / AI 对话 / 调度器 / Finder 打开目录 ✅
  • Linux:真 PTY / AI 对话 / 调度器 / xdg-open 打开目录 ✅
  • Windows:ConPTY / 调度器 / Explorer 打开目录 ✅,AI 对话 ✅