Skip to content
SeeleangelPublic

About

公众号内容工作台:写作 Agent 按需检索素材、写作、审稿和排版,由编辑确认成稿。包含文章审核、草稿管理、Word 导出、图片压缩及网页 163 邮件箱。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

14 Commits

Folders and files

Repository files navigation

FoeFlow

FoeFlow 是面向公众号内容工作流的桌面辅助应用,包含文章审核、AI 写作与排版、文章库、Word 导出、邮箱待办和图片压缩。项目使用 React、TypeScript、Vite、Tauri 与 SQLite。

仓库包含前端、Rust 后端、许可证服务和测试,桌面配置版本为 0.1.1。公开版本不包含个人凭据与运行数据。

网页版

打开 FoeFlow 网页版。在浏览器中使用文字与截图审核、AI 写作与排版、模板排版、文章库、草稿、Word 导出及图片压缩。

  • 网页版使用账号登录。可用用户名和密码自助注册,无需邀请码或激活码;旧邮件箱账号可直接登录。模板排版、草稿与文件工具无需模型;AI 功能需配置自己的模型。
  • 稿件、审核记录和设置按账号保存在当前浏览器的 IndexedDB,没有跨设备同步。旧版网页资料可在设置中导入空工作区;模型密钥需重新填写。
  • 校内模型使用固定 HTTPS 转发。其他 OpenAI 兼容服务须支持从网页来源发起的跨域请求。实际调用会把相关素材和用户密钥发送给配置的模型服务。
  • 「邮件箱」沿用工作台账号,可配置 163 邮箱及 IMAP 授权码,分页查看全部邮件,打开正文后同步标为已读。附件可直接下载,常见图片可预览。
  • 秀米链接抓取和设备激活仍由桌面版提供。网页版可粘贴秀米正文或上传截图审核。

本地启动使用 npm run dev:web,按终端显示的地址访问 /foeflow/。部署与验证参见 网页版部署说明。

本地开发

需要 Node.js / npm;桌面开发另外需要 Rust 和所在平台的 Tauri 开发环境。

npm ci
npm run dev          # 前端开发服务器
npm run build        # TypeScript 检查 + 前端生产构建
npm test -- --run    # 单元测试
npm run lint
npm run tauri:dev    # 桌面开发

普通 npm run dev 是桌面前端的开发模式;独立网页版使用 npm run dev:web。AI 服务需在设置页配置可用的 API 地址、模型和密钥;默认校内 API 需要相应访问权限。

cd src-tauri
cargo check --locked

原始打包配置面向 Windows NSIS。在 Windows 配置好开发环境后,于仓库根目录执行 npm run tauri -- build。

macOS 安装包

在 macOS 上安装 Xcode Command Line Tools、Node.js 和 Rust 后,于仓库根目录执行:

npm ci
rustup target add aarch64-apple-darwin x86_64-apple-darwin
LICENSE_SERVER_URL=https://your-license-server.example npm run build:mac

LICENSE_SERVER_URL 必须为许可证服务的 HTTPS 根地址。构建脚本会同时将该地址编译进 Rust 后端并加入 CSP,生成适用于 Apple Silicon 和 Intel 的通用 .app 与 .dmg,最低系统版本为 macOS 12。输出位于 src-tauri/target/universal-apple-darwin/release/bundle/。打开 DMG 后将 FoeFlow 拖入 Applications 安装。

仅需单一架构时,可设置 MAC_BUILD_TARGET=aarch64-apple-darwin 或 MAC_BUILD_TARGET=x86_64-apple-darwin;对应输出目录使用该目标名。Mac 配置与 Windows NSIS 配置独立。

默认采用本地 ad-hoc 签名,没有 Apple 开发者签名及公证。正式分发前需按 Tauri macOS 签名说明配置开发者证书与公证凭据。首次启动需要通过许可证后台激活,新设备不能直接沿用已绑定其他设备的激活码。

文章生成器

「Agent 创作」可以按需追问、查找当前工作台的文章与草稿、写作、审稿和选择排版主题。它会根据工具结果决定下一步。稿件进入「待你确认成稿」后,在预览中核对正文、排版和审稿提示,确认后可复制 HTML、保存到草稿箱或导出 Word。要求修改会生成需要重新确认的新版本。原有「手动共创」与网页的无模型模板排版也可继续使用。

检索范围为当前工作区,匹配到的素材片段会发给用户配置的模型。模型的审稿意见供编辑核对。

Agent 运行架构

手动共创将文章生成、排版生成和风格分析接入共享运行循环,分离模型请求、上下文、业务校验及界面状态。支持中止请求、隔离已取消任务、按校验反馈修改、连续两轮没有变化时停止,并限制文章最多 4 轮、排版最多 3 轮。网络错误不自动重复发送生成请求;无效结果不会用占位文章覆盖预览。

「Agent 创作」参考 Pi Agent 的工具执行和结果回传机制,沿用 OpenAI 兼容模型设置。具体实现见 Agent 架构说明。

许可证服务

桌面后端默认连接本地 http://127.0.0.1:3000。可在编译前通过 LICENSE_SERVER_URL 环境变量指定自有服务;使用普通 Tauri 构建命令时还需核对 src-tauri/tauri.conf.json 的 CSP,Mac 构建脚本会自动加入服务地址。

cd license-server
npm ci
cp .env.example .env
# 为 LICENSE_SEED 和 JWT_SECRET 分别填写独立随机值。
npm start

服务使用独立 SQLite 数据库。.env.example 不含实际密钥;测试中的凭据仅供本地测试使用。管理员账户和许可证数据需自行初始化,未包含任何生产数据库、账户密码或已发放激活码。

运行服务测试时使用内存数据库,避免影响本地数据:

DB_PATH=:memory: npm test

当前验证状态

前端构建与 Rust 检查通过;259 项前端测试和 7 项许可证服务测试通过。网页端以模拟模型验收了素材检索、审稿、成稿确认、导出与修订后重新确认。macOS 通用版本构建完成,两种架构、应用签名与 DMG 完整性校验通过,并在 Apple Silicon Mac 上实际启动至激活页、取得后台设备请求编号。Intel Mac 实机运行、激活后的完整桌面交互及真实 AI、邮箱功能尚未验收。本次改动的 Agent、调用与页面代码检查通过;仓库其他既有代码仍有检查错误。Windows 重打包尚未验收。

目录

路径 内容
src/ 前端页面、组件、业务逻辑
src-tauri/ Rust 桌面后端与打包配置
tests/ 单元测试、桌面接口模拟与 E2E 用例
license-server/ 激活、验证和管理员接口
public/ 图标和通用占位素材

公开版本以通用演示文章替换原校园范文,以说明占位图替换个人收款二维码。真实 API 密钥与邮箱授权码需自行配置,不应写入源码。

作者:Violet

About

公众号内容工作台:写作 Agent 按需检索素材、写作、审稿和排版,由编辑确认成稿。包含文章审核、草稿管理、Word 导出、图片压缩及网页 163 邮件箱。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages