v2.0 — 现已发布

xworkbench v2

All-in-One 个人工作台

单 Go 二进制 · 14 张表 · 7 Tab · 91 HTTP 路由 · 跨平台

Go 1.22+
SQLite
AI 原生

项目定位

一个面向开发者的全能型个人工作台,融合任务管理、经验沉淀与 AI 自动化

All-in-One 工作台

融合任务管理、经验库、AI 执行、调度器、代理五大核心模块,一个界面搞定所有日常工作流。

单二进制部署

Go 语言编译为单一可执行文件,零外部依赖,跨平台运行。下载即用,无需配置数据库或运行时环境。

AI 原生

AI 任务执行 + 自动评估打分 + 经验库自动注入,构建从任务创建到结果评估的完整自治闭环。

技术栈

精选技术组合,兼顾性能与开发体验

后端技术

Go 1.22+ SQLite gorilla/websocket robfig/cron/v3 creack/pty modernc.org/sqlite net/http encoding/json

前端技术

Vanilla JS CSS3 xterm.js go:embed 零构建 WebSocket Chart.js 响应式布局

核心功能

7 大功能模块,覆盖开发工作全流程

总览仪表盘

  • 任务状态统计:6 种状态实时汇总
  • 调度器状态监控与启停控制
  • 最近执行记录 + 最新任务列表
  • 任务趋势图(Chart.js 渲染)
总览仪表盘
12
待认领
5
待执行
3
执行中
8
待交互
47
已完成
2
异常
最近执行
TASK-042 重构API
TASK-041 修复Bug
TASK-040 添加测试
最新任务
实现WebSocketnew
优化查询性能wip
编写文档done

任务管理

  • AI 驱动执行:支持 claude / cbc / shell 三种 CLI
  • AI 自动评估打分,量化执行质量
  • 经验库自动关联,执行时智能注入
  • 完整状态流转:待认领 → 执行中 → 待交互 → 已完成
任务管理
标题状态CLI操作
重构用户认证模块执行中claude▶ 查看
修复数据库连接泄漏待交互cbc▶ 查看
添加单元测试覆盖已完成shell▶ 查看
优化前端打包流程异常claude▶ 查看

经验库

  • 最佳实践沉淀,按模块分类管理
  • 关键词搜索,快速定位相关经验
  • 任务执行时自动注入匹配经验
  • 支持 Markdown 格式编写
经验库
Go SQLite 前端 DevOps
Go 错误处理最佳实践
使用 fmt.Errorf 包装错误上下文
Go
SQLite WAL 模式配置
PRAGMA journal_mode=WAL 提升并发
SQLite
WebSocket 心跳机制
30s ping/pong 保持连接
前端

自动化调度

  • Cron 表达式定时任务编排
  • 支持 @every 预设快捷配置
  • 实时显示下次执行倒计时
  • 一键启停,执行历史可追溯
自动化调度
名称Cron类型状态下次执行
每日数据备份0 2 * * *shell运行中02:00:00
代码质量检查@every 6hclaude运行中14:30:00
周报生成0 9 * * 1cbc暂停

AI 对话终端

  • 多 Tab PTY 真终端,非模拟
  • claude / cbc / shell 一键切换
  • 确认信号检测,防止误操作
  • xterm.js 渲染,体验接近原生
AI 对话 — claude (sonnet)
[INFO] PTY session established
[INFO] CLI: claude | Model: sonnet
[INFO] WebSocket connected ✓
分析 xworkbench 的架构设计
xworkbench 采用分层架构,自上而下分为...
建议如何优化数据库查询性能

代理功能

  • 远程命令执行,支持多 Agent 节点
  • HTTP 代理转发,内网穿透
  • Agent 心跳检测与自动重连
  • 执行结果实时回传
代理管理
命令执行
$ uptime
14:32 up 7 days
$ df -h
/dev/sda1 50G 32G
HTTP 代理
agent-01● online
agent-02● online
agent-03○ offline

系统配置

  • 统一 config.json 管理所有配置
  • 配置导入 / 导出,快速迁移
  • 快捷目录与链接管理
  • 子 Tab 分组,配置项清晰归类
系统配置
通用 AI 调度 代理
导出配置
config.json
导入配置
拖拽文件到此处

架构设计

分层架构,职责清晰,易于扩展

Web UI
7 Tab(总览 / 任务 / 经验 / 调度 / 对话 / 代理 / 配置)+ 5 Widget
↕ WebSocket + HTTP
HTTP API + WebSocket
91 路由端点 · RESTful 设计 · 流式推送
业务模块
executor evaluator scheduler relay
SQLite
14 张表 · WAL 模式 · 零配置

数据模型

14 张 SQLite 表,覆盖业务全流程

业务表

8 张核心业务表

tasks experiences executions evaluations scheduled_tasks web_links dir_shortcuts agents

关联 / 审计表

4 张关联与审计表

task_experiences task_events task_comments execution_comments

元数据表

2 张元数据表

app_meta skill_versions

核心代码示例

任务执行引擎的核心逻辑

executor.go
1// 构造执行命令
2cmd, err := runner.BuildCommand(
3 "claude", // CLI 类型
4 "sonnet", // 模型
5 "", // sessionID
6 prompt, // 任务 prompt
7 runner.WithActionReport(),
8)
9
10// 执行并流式输出
11result, err := executor.Run(ctx, execDir, cmd,
12 func(chunk []byte) {
13 // 流式回调:WS 推送到前端
14 })
三种 CLI 支持

claude(Anthropic)、cbc(CodeBuddy)、shell(原生命令),统一 BuildCommand 接口,无缝切换。

流式输出

执行过程实时通过 WebSocket 推送到前端,xterm.js 渲染,用户可实时观察 AI 工作过程。

状态管理 + 错误保留

完整的任务状态机 + 执行事件审计链。异常时保留完整上下文(stdout/stderr/exit code),便于排查。

30 秒快速上手

三步启动,即刻体验

# 1. 克隆项目
git clone <repo>
cd xworkbench
# 2. 编译
./scripts/build.sh
# 3. 启动
./scripts/run.sh
启动完成

默认监听端口 8902

浏览器打开
http://localhost:8902
系统要求
  • Go 1.22+
  • 任意操作系统(Linux / macOS / Windows)
  • 无需数据库、无需 Docker

开发指南

快速上手二次开发

加新 API 端点

  1. internal/api/ 定义 Handler
  2. internal/api/router.go 注册路由
  3. 前端在对应 Tab 页面调用新接口

加新 Tab 页面

  1. web/static/js/pages/ 创建页面模块
  2. web/static/js/app.js 注册 Tab
  3. 在导航栏添加对应入口

改 DB Schema

  1. 修改 internal/db/schema.sql
  2. 更新对应的 Go Model 结构体
  3. 删除旧 DB 文件,重启自动迁移

改配置项

  1. config.json 添加新字段
  2. 更新 internal/config/ 结构体
  3. 前端配置页自动渲染新字段