{"id":"bbfed733-718b-4279-8f20-eeb7c4aec08e","slug":"aiworkstation","kind":"skill","name":"aiworkstation","summary":"ai个人工作站","owner":"chenxi2015","repoUrl":"https://github.com/chenxi2015/aiworkstation","license":"GPL-3.0","licenseTier":"strong-copyleft","trust":"community","stars":5,"match":null,"fewStars":false,"format":"skill","createdAt":"2026-08-25T15:07:12.000Z","addedAt":"2026-10-21T11:29:08.305Z","logoUrl":"https://avatars.githubusercontent.com/u/13269485?u=03cae64a44e3c5b0e9d24e7924889013e31358cf&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["search"],"tags":["ai-tools","workstation","aiagent","rag"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-26T01:27:09.818Z","sample":false,"url":"https://conduits.dev/tools/aiworkstation","language":"TypeScript","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# AI Workstation (本地优先的个人知识 Agent 工作台)\n\n<p align=\"center\">\n  <img src=\"./public/logo.svg\" alt=\"AI Workstation Logo\" width=\"84\" height=\"84\" style=\"border-radius: 18px; margin-bottom: 14px;\" />\n</p>\n\n<p align=\"center\">\n  <strong>将散落在全网的灵感、推文与资料归集于本地，用 AI Agent 赋能知识治理、深度调研、AI 创作与安全分发。</strong>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://img.shields.io/badge/TanStack-Start-blue?style=flat-square&logo=react\" alt=\"TanStack Start\" />\n  <img src=\"https://img.shields.io/badge/WXT-Extension-orange?style=flat-square\" alt=\"WXT\" />\n  <img src=\"https://img.shields.io/badge/React-19-61dafb?style=flat-square&logo=react\" alt=\"React 19\" />\n  <img src=\"https://img.shields.io/badge/TailwindCSS-v4-38bdf8?style=flat-square&logo=tailwindcss\" alt=\"TailwindCSS v4\" />\n  <img src=\"https://img.shields.io/badge/HeroUI-v3-purple?style=flat-square\" alt=\"HeroUI\" />\n  <img src=\"https://img.shields.io/badge/CodeMirror-v6-red?style=flat-square\" alt=\"CodeMirror 6\" />\n  <img src=\"https://img.shields.io/badge/TipTap-v3-black?style=flat-square\" alt=\"TipTap\" />\n  <img src=\"https://img.shields.io/badge/Local--First-SQLite-green?style=flat-square\" alt=\"Local-First\" />\n  <img src=\"https://img.shields.io/badge/License-GNU_GPL_v3-blue?style=flat-square\" alt=\"License\" />\n</p>\n\n---\n\n## 📖 项目定位\n\n**AI Workstation** 是一款**本地优先（Local-First）**的个人知识 Agent 工作台。\n\n日常在推特（X）、微信公众号、小红书、GitHub、技术博客等平台浏览时，优质内容往往散落各处、难以沉淀与再利用。市面上的书签管理工具（Raindrop / Pocket / Notion Web Clipper）多停留在「人驱动 → 系统响应」的被动存储模式。\n\nAI Workstation 打通了**浏览器采集端**、**本地知识治理中心**、**双链笔记网络**与**内容创作分发台**：\n1. **输入端（手）**：Chrome 浏览器扩展（Sidepanel 侧边栏），一键提取正文 Markdown、整页/局部长截图、图片与富媒体素材，支持 Word / ZIP 归档。支持作为静默爬虫通道突破 SPA 和登录态屏障。\n2. **中心脑（脑）**：本地 TanStack Start 服务与 SQLite 单文件数据库。按工作主题沉淀资产，借助 RAG 混合检索激活沉睡收藏；内置自主 ReAct 多步 Agent，主动完成分类归档、健康巡检、知识重组与深度研报。\n3. **本地笔记网络（网）**：Obsidian 本地知识库（Vault）零配置直连，直接读写本地 `.md` 文件树。基于 CodeMirror 6 深度定制，支持双链跳转/新建、KaTeX 公式与 Mermaid 图表。\n4. **创作与分发（笔与桥）**：内置 TipTap AI 富文本创作台，支持划词润色、扩写、版本 Diff 与多格式导出；通过浏览器控制通道，辅助将二创内容安全、受控地回填至目标发布平台。\n\n> **核心原则**：\n> - **数据完全属于用户**：本地单文件持久化（`better-sqlite3`）与本地原生 Markdown 文件直读直写，可自由冷备份迁移，不上云。\n> - **发布动作保留人工确认**：采集与 AI 处理自动化，最终外发保留确认闭环，保障账号安全。\n\n---\n\n## ✨ 核心特性\n\n### 1. 🗂️ 8 大核心功能模块体系\n采用「导航即能力地图、分类即数据维度」的设计理念（约定大于配置，支持用户自定义导航排序与显隐）：\n- **工作台 (`/workbench`)**：个人工作首页，可自由拖拽组合的 Widget 仪表盘，跨模块汇总全景状态。\n- **书签 (`/bookmarks`)**：完整书签知识库与**未分类缓冲池**，按分类筛选、批量管理与标签沉淀。\n- **笔记 (`/obsidian`)**：Obsidian 本地知识库（Vault）零配置直连，双链网状互联，CodeMirror 6 深度定制 Markdown 引擎。\n- **创作 (`/creator`)**：专为创作打造的「采集 ➔ AI 二创 ➔ 审稿 ➔ 发布」流水线。\n- **创作台 (`/editor`)**：基于 TipTap 3 的 AI 富文本创作中心，深度融合素材库引用与划词交互。\n- **学习 (`/learn`)**：学习主题聚合与成长路径跟踪。\n- **电商 (`/ecommerce`)**：电商选品、灵感素材与竞品调研归集。\n- **Skills (`/skills`)**：本地 Agent Skills 集合管理与调度。\n\n### 2. 🧩 浏览器采集扩展 (`AI Workstation Collector`)\n- **原生 Sidepanel 侧边栏**：沉浸式浏览，无需离开当前页面即可完成收藏、分类与打标。\n- **全方位网页内容提取**：\n  - **正文智能提纯**：一键抽取纯净 Markdown，自动剔除广告、导航与无关噪声；\n  - **DOM 局部选区**：可视化框选指定区域定向提取；\n  - **整页长截图 & 局部滚动截屏**：精准捕捉长图文与代码段落。\n- **多格式导出与离线归档**：\n  - 📄 **Markdown (.md)**：纯净格式，即存即用；\n  - 📑 **Word (.docx)**：排版工整的 Office 文档；\n  - 📦 **ZIP 归档包**：自动打包图文与本地关联静态素材。\n- **静默爬虫通道 (Headless Crawler Channel)**：\n  - 突破传统爬虫的 SPA 客户端渲染、反爬风控与登录态壁垒；\n  - 工作台下发指令，插件后台静默调度秒级开合 Tab 提纯正文并回传，零成本复用登录会话。\n\n### 3. 🤖 ReAct 多步智能 Agent (Batch-First 治理体系)\n内置 TanStack AI 驱动的 ReAct 多步自主执行引擎，具备 **17+ 维系统治理与探索工具**：\n- **Batch-First 批量治理**：支持原子级批量创建、批量迁移、批量归类与标签打标，杜绝单步循环刷屏。\n- **复合归集工具 (`merge_folders`)**：一键将多个散乱目录的所有书签安全合并至新体系，并自动清理空壳目录。\n- **标签治理体系**：支持标签批量创建、绑定、解绑、重命名与合并（`rename_or_merge_tags`）。\n- **实时步骤时间轴 (`AgentStepTimeline`)**：类似 Cursor / Claude 的极简折叠轨，毫秒级透明展示 Agent 思考过程与工具调用入参结果。\n- **Executive Dashboard 成果看板交付契约**：\n  - 拒绝过程碎碎念流水账；\n  - 产出标准的专业报告：**成效指标看板 ➔ 架构矩阵全景 ➔ 代表性资产亮点 ➔ 启发式演进指引**。\n- **外脑探索**：集成网页读取（`read_webpage_content`）、深度网页抓取（`crawl_webpage`）与联网搜索（`web_search`）。\n\n### 4. 📝 AI 富文本创作中心 (`/editor`)\n- **现代编辑器内核**：基于 TipTap 3 + TailwindCSS Typography 构建，支持表格、任务列表、代码块高亮与 Mermaid 流程图渲染。\n- **AI 协同创作面板**：\n  - 划词一键润色、续写、纠错、长文扩写、提炼金句；\n  - **版本 Diff 对比**：AI 改写前后直观呈现新增与删除差异，支持单段接受或还原；\n- **多模态导入导出**：支持 Markdown、Docx、PDF、Excel 导入与预览。\n\n### 5. 📓 Obsidian 本地笔记与 CodeMirror 6 双链生态 (`/obsidian`)\n- **本地 Vault 零配置直连**：\n  - 直接读写本地真实 `.md` 知识库文件树，尊重用户本地文件系统，数据不落 SQLite 库，100% 兼容外部 Obsidian / Logseq 与 Git 同步生态；\n  - 支持多 Vault 快捷切换与自定义路径浏览选择。\n- **双链知识网络（Wikilink）**：\n  - 原生支持 `[[笔记名称]]` 语法高亮与点击快速跳转；\n  - **就地新建机制**：若双链指向的文件尚未创建，点击即可一键就地生成新的 `.md` 实体，实现网状知识体系渐进式生长。\n- **CodeMirror 6 深度定制 Markdown 引擎**：\n  - **双视图对比**：「编辑视图」与「阅读视图（全渲染态）」一键自由切换；\n  - **KaTeX 数学公式支持**：深度适配 LaTeX 公式，支持行内 `$E = mc^2$` 与块级 `$$\\int f(x) dx$$` 精美排版；\n  - **Mermaid 交互图表**：流程图、时序图、架构图实时渲染与预览；\n  - **水平分割线 Widget**：所见即所得的视觉分割隔断组件；\n  - **任务复选框强化**：交互式 Task List 复选框，支持点击直接回写源码，并附带优雅的完成态删除线动画。\n- **桌面级工程体验与安全防护**：\n  - **侧边栏自由调宽**：文件树侧栏支持鼠标拖拽改变宽度，并自动记忆偏好宽度；\n  - **导航历史栈**：顶栏提供完整面包屑层级定位与前进/后退历史堆栈；\n  - **跨平台系统穿透**：一键在系统文件管理器（macOS Finder / Windows Explorer / Linux）快速定位并揭示文件；\n  - **回收站安全防护（Move to Trash）**：删除笔记配备二次确认弹窗，并统一移入操作系统回收站，绝不直接硬删除。\n- **Canvas 白板与 Excalidraw 手绘图双空间智能体**：\n  - **双画板格式直读直写**：无缝支持 Obsidian 原生 `.canvas` 结构化白板与 `.excalidraw` 手绘画板；\n  - **全套 AI 画板工具链**：提供 `excalidraw_create_board`、`excalidraw_draw_elements`、`excalidraw_update_element` 等专用工具；\n  - **“逻辑因果归 AI、几何布局归代码”的关注点分离架构**：大模型仅负责推导业务因果拓扑，前端确定性 DAG 引擎自动处理列中轴绝对对齐、动态层高防碰撞（$\\ge 75\\text{px}$ 呼吸间距）、Happy-Path 主干优先排布与正交避障连线，杜绝手绘流程图连线反向打钩或穿心穿透卡片。\n\n### 6. 🔍 混合 RAG 检索与知识活化\n- **Hybrid Search 融合排序**：`0.6 * 语义向量相似度 (Embedding) + 0.4 * 关键词精准匹配 (BM25 权重)`，模糊记忆也能秒级定位目标。\n- **多 Provider Embedding 适配**：支持 SiliconFlow (`bge-m3`)、OpenAI (`text-embedding-3-small`)、本地 Ollama 向量模型等。\n- **Chat with Bookmarks**：基于个人知识库进行多轮问答对话，智能溯源定位参考出处。\n- **专题综述 (Dossier)**：一键将指定文件夹中的碎片资料提炼为体系化调研报告与备忘单。\n\n---\n\n## 🏗️ 总体架构\n\n```\n┌────────────────────────────────────────┐       ┌────────────────────────────────────────────────────────┐\n│      Chrome 插件端（\"手\"）             │       │              本地工作台 TanStack Start（\"脑\"）          │\n│      extensions/aicollector            │       │              src/                                      │\n│                                        │       │                                                        │\n│  - Sidepanel 交互侧边栏                │ ──1──>│  - 8 大核心模块 (Workbench / Bookmarks / Obsidian 等)  │\n│  - 网页 DOM 智能提纯 (转 MD)           │ (HTTP)│  - 本地 SQLite 存储 + 本地 Obsidian Vault 直读直写     │\n│  - 整页长截图 / 局部截屏               │       │  - 混合 RAG 引擎 (向量化 + 关键词加权)                 │\n│  - DOCX 导出 & ZIP 离线归档            │ <──2──│  - TanStack AI Agent 编排 (Claude / OpenAI / Gemini / │\n│  - 静默后台爬虫 (免登录态抓取)         │ (Job) │    DeepSeek / Ollama)                                  │\n│  - 网页编辑器回填驱动 (小红书/公众号)  │ <──3──│  - TipTap 富文本创作 + CodeMirror 6 Markdown 双链引擎   │\n└────────────────────────────────────────┘(Port) └────────────────────────────────────────────────────────┘\n```\n\n### 通信三通道设计\n1. **数据通道（HTTP API）**：插件 → `POST http://localhost:3888/api/collect`，常态可用，负责大文本、图片与素材入库。\n2. **爬虫任务通道（Crawler Polling）**：工作台下发抓取任务进入队列，插件后台长轮询 `/api/crawler` 认领任务，静默打开 Tab 提纯后回传。\n3. **控制信令通道（Port 长连接）**：工作台 ↔ 插件（`externally_connectable`），工作台页面打开时自动建立，用于指令下发、进度回传与网页编辑器辅助回填。\n\n---\n\n## 📁 目录结构\n\n本项目采用清晰整洁的工程目录组织，工作台本体与 Chrome 扩展统一管理：\n\n```bash\naiworkstation/\n├── src/                          # 【本地工作台】TanStack Start 应用源码\n│   ├── components/               # 公共 UI 组件与业务组件\n│   │   ├── dashboard/            # 工作台仪表盘与自定义 Widget 卡片系统\n│   │   ├── workbench/            # 文件夹卡片、详情侧栏、新建弹窗、图标选择器\n│   │   ├── bookmarks/            # 书签列表、未分类缓冲池、同步弹窗、巡检面板\n│   │   ├── obsidian/             # Obsidian 笔记：文件树、CodeMirror、双链解析、阅读视图\n│   │   ├── editor/               # TipTap 编辑器、工具栏、AI 贡献面板与 Diff 视图\n│   │   └── chat/                 # Agent 对话面板、时间轴 (AgentStepTimeline)\n│   ├── routes/                   # TanStack Router 文件路由系统\n│   │   ├── __root.tsx            # 全局根布局（含统一顶部导航条）\n│   │   ├── index.tsx             # 重定向至 /workbench\n│   │   ├── workbench.tsx         # 工作台首页（Widget 仪表盘）\n│   │   ├── bookmarks.tsx         # 书签知识库与缓冲池\n│   │   ├── obsidian.tsx          # Obsidian 本地笔记模块\n│   │   ├── creator.tsx           # 创作工作流\n│   │   ├── editor.tsx            # AI 富文本创作台\n│   │   ├── learn.tsx             # 学习模块\n│   │   ├── ecommerce.tsx         # 电商模块\n│   │   └── skills.tsx            # Skills 模块\n│   ├── modules/                  # 模块注册表（registry.ts）与 Widget 注册表\n│   ├── server/                   # 服务端代码（Node 运行时）\n│   │   ├── ai/                   # AI 编排层\n│   │   │   ├── tools/            # Agent 治理工具体系 (17+ 维原子与复合 Tool)\n│   │   │   └── prompt.ts         # Agent System Prompt 与契约规范\n│   │   ├── db/                   # better-sqlite3 数据库配置、Schema 与迁移\n│   │   ├── services/obsidian/    # 本地 Vault 文件服务（扫描缓存、笔记 CRUD、回收站操作）\n│   │   └── functions/            # TanStack Start Server Functions (RPC)\n│   ├── stores/                   # 客户端状态管理与主题控制\n│   └── styles.css                # TailwindCSS v4 全局样式设计\n│\n├── extensions/aicollector/       # 【采集扩展】Chrome Extension (WXT 框架)\n│   ├── entrypoints/\n│   │   ├── sidepanel/            # 浏览器侧边栏页面 (React + TailwindCSS)\n│   │   ├── background.ts         # 后台 Service Worker（消息分发、静默爬虫执行）\n│   │   ├── content.ts            # 网页注入脚本（DOM 提取、截图与编辑器回填）\n│   │   └── doc-viewer/           # 独立离线文档预览窗口\n│   └── wxt.config.ts             # WXT 配置文件与 MV3 权限声明\n│\n├── .aiworkstation/               # 运行时持久化目录（本地单文件，不上云）\n│   ├── workbench.db              # SQLite 数据库本体\n│   └── pages/                    # 离线抓取全文存档\n├── docs/                         # 需求设计与演进规划文档\n├── PROJECT.md                    # 🌟 产品宪法与设计决策准则\n├── AGENTS.md                     # AI Agent 开发规范与 TanStack Intent 指引\n└── package.json                  # 项目依赖与构建脚本\n```\n\n---\n\n## 🛠️ 技术栈\n\n| 分类 | 核心技术 / 选型 |\n|---|---|\n| **前端框架** | [TanStack Start](https://tanstack.com/start), [TanStack Router](https://tanstack.com/router), [React 19](https://react.dev/) |\n| **UI & 样式** | [TailwindCSS v4](https://tailwindcss.com/), [HeroUI v3](https://heroui.com/), [Lucide React](https://lucide.dev/) |\n| **富文本创作** | [TipTap v3](https://tiptap.dev/), `@tailwindcss/typography`, `@streamdown/mermaid` |\n| **Markdown & 笔记** | [CodeMirror 6](https://codemirror.net/), [KaTeX](https://katex.org/), `trash` (系统回收站) |\n| **AI 编排** | [TanStack AI](https://tanstack.com/ai) (支持 Claude, OpenAI, Gemini, DeepSeek, Ollama) |\n| **本地存储** | [better-sqlite3](https://github.com/WiseLibs/better-sqlite3) (SQLite 本地单文件 + 向量存储) |\n| **浏览器扩展** | [WXT Framework](https://wxt.dev/) (Manifest V3 + React 19 + Vite) |\n| **导出与解析** | `docx`, `jszip`, `marked`, `mammoth`, `pdfjs-dist`, `xlsx`, `html-to-image` |\n| **代码工程** | [Biome](https://biomejs.dev/) (格式化与 Lint), TypeScript 5.9+, Vite 8 |\n\n---\n\n## 🚀 快速上手\n\n### 1. 环境准备\n- Node.js >= 20.x\n- pnpm >= 9.x\n\n### 2. 启动本地工作台\n\n```bash\n# 1. 安装项目依赖\npnpm install\n\n# 2. 启动开发服务器 (默认端口 3888)\npnpm dev\n```\n\n浏览器访问 [http://localhost:3888](http://localhost:3888) 即可进入 AI Workstation。首次运行会自动在根目录下创建 `.aiworkstation/workbench.db` 数据库并完成表初始化。\n\n> 💡 **免配置 .env 文件**：所有 AI 服务密钥（OpenAI、DeepSeek、Claude、Gemini、Ollama 等）与 Embedding 向量检索模型参数，均直接保存在本地 SQLite 数据库中。进入工作台后点击右上角 **「设置」** 即可直接可视化配置与切换。\n\n### 3. 开发与安装 Chrome 采集插件\n\n```bash\n# 启动插件开发热更新模式 (固定端口 3889)\npnpm --filter ./extensions/aicollector dev\n```\n\n**加载到 Chrome 浏览器：**\n1. 打开 Chrome 浏览器，进入 `chrome://extensions/`；\n2. 开启右上角 **「开发者模式」**；\n3. 点击 **「加载已解压的扩展程序」**；\n4. 选择项目中的 `extensions/aicollector/.output/chrome-mv3` 目录；\n5. 在任意网页按快捷键或点击扩展栏图标唤起 **AI Workstation Collector 侧边栏**。\n\n---\n\n## 📋 常用命令\n\n| 命令 | 说明 |\n|---|---|\n| `pnpm dev` | 启动 TanStack Start 本地工作台 (端口 3888) |\n| `pnpm --filter ./extensions/aicollector dev` | 启动 Chrome 插件开发热更服务 (端口 3889) |\n| `pnpm build` | 构建工作台生产产物 |\n| `pnpm --filter ./extensions/aicollector build` | 构建 Chrome 插件生产包 |\n| `pnpm zip:extension` | 打包生成 Chrome 扩展发布 ZIP 包 |\n| `pnpm check` | 运行 Biome 代码检查与修复 |\n| `pnpm format` | 运行 Biome 自动格式化 |\n\n---\n\n## 🗺️ 产品路线图 (Roadmap)\n\n- [x] **M1: 采集闭环与工作台基座**\n  - [x] 主题文件夹 App 网格布局与详情侧栏\n  - [x] WXT Chrome 扩展 Sidepanel 架构与正文提取\n  - [x] Markdown、Word (DOCX)、ZIP 打包导出\n  - [x] 整页滚动长截图与局部选区截图\n  - [x] SQLite 单文件持久化 (`better-sqlite3`)\n  - [x] 插件一键推送数据至工作台 API\n- [x] **M2: RAG 混合检索与 Agent 治理体系**\n  - [x] 混合检索（Hybrid Search）：向量语义 + 关键词精准召回\n  - [x] 浏览器原生书签导入同步（BookmarkSyncModal）\n  - [x] 失效链接巡检与死链清理（DeadLinksModal）\n  - [x] 17+ 维 Agent Tools（批量建/删/移、`merge_folders` 原子归集、标签管理）\n  - [x] Batch-First 原则与 Executive Dashboard 交付物契约\n  - [x] 实时折叠步骤时间轴（AgentStepTimeline）\n- [x] **M3: 智能爬虫通道与 Browser Co-Pilot**\n  - [x] 插件静默抓取通道（调度扩展后台抓取，突破 SPA 客户端渲染与登录态）\n  - [x] 联网搜索工具箱成（`web_search`）\n  - [ ] 选区规则模板化（Recipe：可视化点选录制选择器 ➔ 持久化精准定向爬取）\n  - [ ] 浏览器原子动作驱动（点击、滚动翻页、表单填写交互流）\n- [x] **M4: 创作台与创作工作流**\n  - [x] 基于 TipTap 3 的 AI 富文本创作台架构\n  - [x] 划词 AI 润色/扩写/改写与版本 Diff 差异对比\n  - [x] Mermaid 图表与代码高亮静态渲染\n  - [ ] 推文/小红书二创流水线与草稿生成\n  - [ ] 控制通道回灌至网页编辑器并保留人工确认发布\n- [x] **M4.5: Obsidian 本地笔记与 CodeMirror 双链生态**\n  - [x] 本地 Vault 目录树直连扫描与多 Vault 切换\n  - [x] 基于 CodeMirror 6 深度定制 Markdown 编辑与阅读视图切换\n  - [x] 双链（Wikilink）高亮、点击跳转与一键就地新建缺失笔记\n  - [x] KaTeX 数学公式、Mermaid 图表、水平分割线与任务复选框\n  - [x] 跨平台系统文件管理器穿透与回收站（Trash）安全删除\n- [ ] **M5: 知识自治与跨源生态**\n  - [ ] 后台自治 Agent（自动入库分类 / 定期知识库体检周报）\n  - [ ] 跨源知识联邦（Connector Plugin：联动 Notion、Raindrop 等外部源）\n  - [ ] 个人专属视觉展示页（Showcase）一键导出\n\n---\n\n## 📄 开源协议\n\n本项目采用 [GNU General Public License v3.0 (GNU GPL 3)](./LICENSE) 协议。\n"}