文档

你所需的一切,助你 顺利交付

浏览 Simmetric Chat 文档 -- 从你的第一个提示词到生产环境部署。

Wiki 知识引擎 — 有架构约束的档案、wikilink 与综合摘要

Wiki 引擎给每个档案一个三层指令模型:由代码强制执行的硬规则、每个档案各一份的架构 prompt(advisory 性质的编辑准则)以及结构化字段(persona、purpose、scope)。心智模型:schemaPrompt 之于 wiki,如同 CLAUDE.md 之于一个代码仓库。

文档 DLP 流水线 — 运维参考

当某个 workspace 启用了 DLP 扫描时,每个上传的文档在 ingestion 之后都会经过一次异步的 pg-boss 扫描:

摘要流流水线 — 汇总文档,发现矛盾

多文档摘要流水线取一个档案内的页面/文档集合并产出汇总后的 wiki 页面:每一页都在总结来源,标注来源之间不一致的地方(矛盾检测),遵守每次运行的 token/调用/页面预算,并且只在选择性批准之后才真正触及文件系统写入想引入的内容。

配额与成本 — 用量与支出上限

配额引擎覆盖三类:token 配额与存储配额(Phase 207)以及成本配额(Phase 216,对真金白银的数学采用 hold-and-settle)。配额是运维者在多用户安装中的用量上限工具;它约束每个*已配置配额*的用户 — 包括管理员 — 而未配置的配额 = 不限量(fail-open:对既有安装零行为改变)。

自定义 skill — 用 `/slug` 调用的自定义指令

自定义 skill 是一份 prompt 模板:运维者或用户一次性编写组合后,就能在聊天中以 slash 命令无限次调用(/translate 你好世界)。skill 只是 prompt-template 能力:调用时用提供的参数编译已保存的模板,并把结果作为数据注入聊天。没有 HTTP、没有 I/O、没有条件逻辑、没有 sandbox — 该功能在构造上就是 air-gap-safe 的。

连接器 — 接入知识库的外部渠道

连接器把您的客户与同事已经在使用的信息渠道 — WhatsApp、Telegram、Discord、Slack — 连接到与内部聊天相同的知识库。对话保留在您的服务器上:应用使用管理员填写的凭据调用渠道的 API,回答则来自文档知识库。

快速入门

Simmetric Chat 是一个本地优先、可离线运行(air-gap)的 AI 聊天平台:它可以在不连接外部云服务的情况下运行,使用本地 LLM(Ollama)、本地嵌入(Xenova)和本地向量数据库(LanceDB)。不过,在配置完成后,它也可以使用云提供商(OpenAI、Anthropic、OpenRouter)和远程向量数据库(Qdrant)。

架构

Simmetric Chat 是一个模块化的 TypeScript monorepo,包含 5 个 package 以及一个 Tauri 桌面应用。指导原则是边界分离:每个 package 都有各自独立的职责,并且只通过定义良好的接口(HTTP 或 shared package)与其他 package 通信。

配置

Simmetric Chat 有两个配置层级:在进程启动时用 Zod 校验的环境变量,以及存储在数据库中的运行时配置层,管理员可以从界面修改而无需重启任何服务。

API 参考

Express 服务器(端口 3000,前缀 /api)的 REST API,带交互式 Swagger UI 和由服务器自身提供的 OpenAPI 规范,此处按领域记录了其认证机制、速率限制和响应约定。

功能指南

功能指南,包含内部实现、数据流和 file:line 引用。针对每项功能:如何工作、如何使用、如何扩展。

Widget 集成

可嵌入 widget 是一个独立服务(packages/widget,端口 3211),在你的网站上提供 AI 聊天。架构:Express + Preact IIFE 运行在 sandboxed iframe 中,向服务器透传 SSE 代理,匿名会话、lead capture、按站点 branding。

MCP Marketplace

MCP Marketplace 允许从精心维护的目录安装、启用和 scoping 外部 MCP server。MCP server 暴露 agent ReAct 可在聊天期间调用的 tool,无需代码即可扩展能力。

管理

面向管理员的操作指南:用户、角色(RBAC)、workspace、audit、许可证和行政备份。所有操作都需要 authMiddleware 加上特定权限 - 完整 endpoint 清单见 API Reference。

部署

Simmetric Chat 具备 air-gap 能力且 local-first。五种部署目标:Docker Compose 多容器(生产推荐)、单容器 all-in-one(air-gapped 环境)、托管 Coolify 栈、dev override(Docker 上的 hot-reload)以及 Tauri 桌面端。所有产物位于 docker/;桌面 shell 位于 src-tauri/。GHCR 上发布的镜像仅 amd64(linux/amd64 - 通过 QEMU 模拟的 arm64 构…

开发

为 codebase 贡献的指南:setup、monorepo 结构、脚本、约定、i18n。

Testing

Simmetric Chat 使用 Jest 30 配合 @swc/jest 转换(unit + integration)以及 Playwright(E2E),由 Turborepo 编排。根 jest.config.cjs 聚合 5 个项目(shared、server、frontend、collector、widget)。

Troubleshooting

常见症状、原因、解决方案。file:line 引用和 docs 交叉链接。

交互式 API 文档

服务器运行时,Swagger / OpenAPI 3.0 由 /api-docs 提供。