Front Office
Front Office
面向与 AI 对话构建的项目的设计运维权威记录系统:决策日志、未决问题和文档作为生成视图——因此每次会话(人类或 AI、今天或数月后、并行或串行)都基于同一套大脑工作,而非聊天记录回溯。
源于一个真实问题:在漫长的 AI 会话中设计一款游戏产生了 46 条已记录的决策,而"那件事到底批准过没有?"总是需要审计。Front Office 让审计轨迹成为主要工件。
核心思想
决策日志即事件日志。 每条决策都带有 何时 / 何人 / 为何、一个来源标签——
[A]明确的人类裁定 ·[A→C]人类指示,AI 规格 ·[C→A]AI 提议,人类批准 ·[C]AI 假定,有效但可否决——以及一个状态(✅ 已决定 · 🕐 待文档化 · 💬 已提议)。更正以引用旧条目的新条目形式出现,绝不编辑。未决问题是记录,不是滚动回溯。 未答复的条目保存在受跟踪的文件中,直到解决——并附有日志条目。
文档是构建产物。 上下文包和状态视图由记录生成;markdown 既是存储格式 也是 交换格式,因此没有锁定——这些文件在没有任何工具的情况下也完全可用。
附加条款守卫。 附属于已批准决策的提议永远不会继承该批准。由 AI 撰写的草稿 始终 是 💬。
Related MCP server: kb
使用
npm ci
npm run fo -- status # counts, unratified [C] list, pending rulings
npm run fo -- decisions --provenance C --status decided
npm run fo -- open --section A
npm run fo -- show 12
npm run fo -- pack # writes projects/<p>/context-pack.md
npm run fo -- validate # CI-able: exit 1 on invariant violations项目数据位于 projects/<name>/ 中,包含 *decision-log.md 和 *open-items.md(格式见 test/fixtures/)。projects/ 已被 gitignore——租户数据归你所有并保持私密。 使用 --project <dir> 或 FO_PROJECT_DIR 指向其他位置。
Web UI
npm run fo -- pack # optional: regenerate views first
npm run web # http://localhost:4747 (FO_PORT / FO_PROJECT_DIR to override)基于同一组文件的实时仪表板:带来源/状态标签和过滤器的决策流、关注条(待裁定、未批准的 [C])、按部分划分的未决项目、统计——以及草稿表单(草稿始终是 💬)。100% UI/逻辑分离: 客户端包含零业务逻辑;每个派生值都从 /api/state 预计算到达,浏览器仅负责渲染和发送命令。
MCP 服务器(大脑接入)
将记录暴露给任何 Claude Code 会话:
claude mcp add front-office --scope user -- npx tsx <repo>/src/mcp/server.ts工具:get_context_pack · list_decisions · list_open_items · draft_decision(始终 💬)· get_stats。在服务器环境中设置 FO_PROJECT_DIR 以选择项目。
架构
按照项目自身的准则(是的,其设计决策记录在 Front Office 日志中):
src/core、src/adapters、src/views——纯(严格函数式 ESLint 配置:无 let/循环/类/变更,时钟和随机性必须注入)。src/shell、src/mcp——效果边界(中等配置)。解析器保持原始单元格逐字不变 → 序列化往返完全一致(
parse(serialize(parse(x))) ≡ parse(x),经属性测试验证)。
npm run typecheck && npm run lint && npm testMIT。
This server cannot be deployed
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for generating rough-draft project plans from natural-language prompts.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server for building and testing AI agents with multi-model experimentation and insights.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA database-backed MCP server that acts as a project memory bank, enabling AI assistants to store, retrieve, and search structured context like decisions, tasks, and architecture using SQLite and vector embeddings.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceA local MCP server that provides a shared context and learning foundation across multiple AI tools (Claude, Copilot, Codex) for multiple projects, enabling persistent knowledge, decisions, and gap reflection through note storage.MIT
- AlicenseAqualityDmaintenanceAn MCP server that records decisions, rejected alternatives, and justifications, and retrieves them later to avoid re-litigating past choices. It stores data locally in SQLite and Markdown.262 PyPIApache 2.0
- AlicenseNot gradedqualityDmaintenanceMCP server for BRIEF.md that captures decisions, constraints, and questions during AI chats, enabling seamless project re-entry across different AI tools.8 npmMIT