Описание
Effect-TS 中文社区
README
站点:https://effect-ts.cn —— Effect(TypeScript 的 effect system)官方文档全量中文翻译 (v4 + v3 共 234 页,每页标注上游基线)+ 可溯源的问答(每条引用可点回原文,无依据即拒答)
- 报错百科(真实报错的检索索引)+ 26 个用 Effect 写的开源 AI 项目推荐。
给 AI / Agent 的入口:
/llms.txt·/llms-full.txt·/docs/<slug>.md·/cite/<digest>.json(引用核验记录) · MCP server(仓库内pnpm mcp)。
中文世界 Effect 的第一入口:官方文档的高质量中文译站 + 内容社区 + 由 Effect 与 DDD 自建的开源标本。
- 产品与技术规划见 PLAN.md;译者规范见 docs/translation-guide.md; 上线步骤见 docs/deployment.md。
- 站点当前状态:已具备公开发布条件 —— v3 + v4 全量 234 篇中文译文(v4 110 · v3 124,覆盖率 100%), 每篇 frontmatter 记录译者 / 审校 / 上游基线;搜索、RSS、llms.txt 全部为构建期产物,不依赖后端。
- 审校口径:当前 234 篇的
reviewers一律为ecn-review,含义是机器可复核 (代码块与上游逐字节一致、结构对齐、术语 0 命中、锚点可达),非人类精读,尚无人类精读署名; 展示口径见apps/site/src/data/provenance.ts,维护者精读抽查后请追加自己的名字。
快速开始
pnpm install
# 一条命令跑起前后端(Astro 前台 :4321 + Effect API :8787)
pnpm dev
# 可选:接入模型(不配也能完整运行 —— extractive 模式:检索合成 + 引用 + 拒答,零成本)
cp .env.example .env # 填 DEEPSEEK_API_KEY=sk-...(或 LLM_BASE_URL + LLM_API_KEY)
pnpm --filter @ecn/api llm:check # 一条命令验证模型真的接上了(打印提供方/模型/超时)
# 查找顺序:apps/api/.env.local → apps/api/.env → 仓库根 .env.local → 仓库根 .env
# `pnpm dev` 会 watch 这几个文件:改完 Key 自动重启,不用手动重启
# 可选:本地 Postgres(默认 InMemory 模式不需要它)—— 在 .env 里设置 DATABASE_URL 后:
pnpm db:up # docker 起 Postgres;或用本机 postgres 亦可
- 前台:http://localhost:4321(
/api/*已由 dev 代理到后端) - 后端:http://localhost:8787
GET /api/health健康检查GET /api/questions问题列表 /POST /api/questions提问 /GET /api/questions/:id详情GET /openapi.json自动生成的 OpenAPI(来自@effect/schema契约)
常用命令
pnpm typecheck # 全仓类型检查(含 astro check)
pnpm test # 各包测试(api: domain/application;content: 内容门禁)
pnpm build # contracts 编译 + api typecheck + astro 构建
pnpm content:check # 内容门禁:frontmatter / 路径镜像 / 术语 / 元数据残留(PR 必过)
pnpm cite:check # 引用协议门禁:摘要 / 内容指纹 / 构建产物一致(保证引用可解引用)
pnpm proposals:check # Agent 提案队列校验:治理不变量 + 复用内容门禁
pnpm content:status # 译文同步状态扫描
pnpm corpus:build # 生成 AI 知识层语料(内容改动后必跑;CI 有新鲜度门禁)
pnpm mcp # 启动 MCP Server(stdio),把中文知识接进编码 Agent
pnpm report:weekly # 周报:AI 用量 / 可验证答率 / 缓存命中 / Agent 侧下载量(见 docs/metrics.md)
pnpm traffic # 访问报表(宿主 Caddy 日志;`pnpm traffic:prod` 从生产拉取)
pnpm --filter @ecn/api llm:check # 用真实模型跑一次问答+报错诊断(验证 DeepSeek/OpenAI 兼容配置)
# 上游相关(需先 clone 官方内容仓库;路径用绝对路径)
pnpm --filter @ecn/content exec tsx src/cli.ts snapshot --dir <上游docs> -o snap.json
pnpm --filter @ecn/content exec tsx src/cli.ts diff --snapshot /abs/snap.json --docs /abs/apps/site/src/content/docs
pnpm --filter @ecn/content exec tsx src/cli.ts nav --dir <上游docs> -o apps/site/src/data/docs-nav.json
站点具备什么
| 能力 | 说明 |
|---|---|
| 文档译站 | 目录镜像官方结构,v3 + v4 234/234 页全部有中文译文(v4 110 · v3 124);未翻译页面仍会自动生成占位页(读英文原文 + 认领翻译),站内无死链 |
| 可追溯同步 | 每篇译文标注 upstreamPath + upstreamCommit;每日流水线比对上游,落后/导航漂移自动开 issue |
| 站内搜索 | ⌘/Ctrl + K,构建期索引(已译文字全、未译页面标题),零后端依赖 |
| 订阅与 AI 友好 | /rss.xml、/llms.txt、sitemap-index.xml、robots.txt |
| 阅读体验 | 侧边栏(镜像官方)、页内 TOC、上下页、版本切换、代码块「复制 / Playground」、官方 Aside/Steps/Tabs 组件 |
| 内容门禁 | PR 阶段拦截:frontmatter 必填、路径镜像、术语黑名单、twoslash/框架 import 残留、页内锚点失效 |
| 社区协作 | 行为准则、Issue 模板(翻译认领 / 站点问题)、PR 自查清单、术语表页面 |
| AI 知识层 | 「问这一页 / 问文档」(⌘I)与「报错诊断」(/debug):答案逐句带引用(页面+小节+基线),无依据直接拒答,并区分"文档没有"与"中文尚未翻译";术语门禁同样约束 AI 输出。配模型后是一条会话:追问会说人话(「它呢?」被改写成完整查询并回显 resolvedQuestion),白话问题先被改写成术语再检索(「怎么让两件事同时跑?」→ Fiber / 并发),候选重排只换顺序不动引用 |
| 引用可核验 | 每条引用都带 citationId 与 /cite/<digest>.json:可独立核对「引用是否是原文的逐字子串」、译文基线是否已漂移、以及该基线下的官方原文 —— 引用不是修辞,是可取证的事实 |
| 生态项目榜 | /ecosystem/:用 Effect 写的 AI / Agent / LLM 开源项目精选。收录判据不看 README 看 package.json(必须运行时依赖 effect/@effect/*,且全仓至少一个文件真的 import 它 —— "声明了没人用"会被剔除),并标注Effect 渗透度与**「该读哪一块」**(每条建议都指向真实存在的文件,由采集器核对)。数据是快照 + checkedAt,页面上如实标注"截至某日" |
| 生态观测台 | /observatory/:可复现的 GitHub 生态调查 —— 4,861 个候选、856 个 TypeScript Agent、33 个真正在用 Effect(3.9%)。数据 CSV 可下载,口径与方法写在 docs/observatory/methodology.md;每个数字都从 dataset/ 现算,不手抄 |
| 选中即讲 | 选中正文里的一段,像素风吉祥物「小效」跑到选区旁问一句"要我讲讲这段吗"(并显示这段的 slug#anchor):「讲讲」直接问、「换个问法」只预填、绝不自动提交;同一段每会话只问一次、每页最多主动问 3 次、可全局关掉 |
| Agent 起草 → 人审 | .proposals/ 提案队列:Agent 起草译文与落后页更新,内容自动过与人工投稿完全相同的门禁;且不得自称已发布(status 只能是 reviewing、reviewers 必须为空) |
| 隐私与统计 | /privacy/ 如实说明记录什么(访问日志、AI 提问内容)、留多久、给了谁;不用 Google Analytics(大陆不可达,会系统性低估真正的受众),统计走服务端结构化日志(pnpm traffic 出报表)+ 可选的自建 Umami;广告默认关闭,开启时只在正文末尾与列表页底部、预留高度、明示"广告" |
| Agent 接入 | HTTP /api/knowledge/ask、MCP Server(pnpm mcp,6 个工具 + resources + prompts)、/llms.txt、/llms-full.txt、/docs/<slug>.md、/cite/index.json |
目录速览
apps/site Astro 前台(内容集合/MDX,React islands,SEO 优先;AskPanel 问这一页)
apps/api Effect 后端(@effect/platform HTTP,DDD 洋葱分层;含 Knowledge/Assistant 上下文)
apps/mcp 中文知识层的 MCP Server(stdio,离线自包含)
packages/knowledge 检索与答案合成(BM25F-lite、中文分词、话题归属、引用不变量)
packages/contracts 前后端共享 Effect Schema DTO + 错误码(Schema-first)
packages/content 内容管线 CLI(门禁校验 / 上游快照与 stale 比对 / 导航生成)
infra/ docker-compose(本地 Postgres)
docs/ 译者指南、部署指南、术语黑名单
PLAN.md 产品与技术规划(含 DDD 设计与路线图)
技术栈与为什么
| 层 | 选型 | 一句话理由 |
|---|---|---|
| 前台 | Astro + React islands | 与官方 effect.website 同思路:内容/SEO 最优、默认零 JS |
| 后端 | Effect + @effect/platform |
类型化错误、显式依赖、结构化并发 —— dogfood |
| 契约 | @effect/schema |
一份 Schema → DTO + 类型 + OpenAPI,前后端零重复 |
| 数据 | PostgreSQL(@effect/sql-pg) |
关系模型 + 未来中文全文检索(pg_jieba) |
| 测试 | Vitest + Effect Test 思想 | 金字塔:domain → application → 集成 |
后端 DDD 要点(详见 PLAN §5):
- 限界上下文:
Identity / Publishing / QnA / Curation / Notification(Moderation 先内嵌) - 每个上下文是垂直切片:
domain / application / infrastructure / interfaces - 端口(仓储/ID/事件)定义在 domain,适配在 infrastructure,用 Layer 一键替换
- 领域错误用
Data.TaggedError,wire 错误用@effect/schema的Schema.TaggedError(在 interfaces 层完成映射)
Layer 可移植性的活例子:同一个
QuestionRepository端口,bootstrap/main.ts按DATABASE_URL是否存在,在 InMemory 仓储与 Postgres 仓储之间切换 —— 这就是依赖倒置 + DI 容器。 测试里也用 Layer 注入确定性 ID 与内存仓储。
CI 与上游同步(“同步即信誉”自动化)
.github/workflows/ci.yml:内容门禁 →typecheck→test→build。.github/workflows/upstream-sync.yml:每日定时(可手动触发)克隆官方内容仓库Effect-TS/website的apps/web/src/content/docs(官方文档真正的源 ——Effect-TS/effect仓库里并没有docs/)→ 生成上游快照 → 比对译文落后 → 检查导航漂移 → 自动开/更新upstream-sync标签的 issue。
本地可复用同一套能力:packages/content 的 snapshot / diff / nav / check 子命令。
公开发布清单
- 内容:v3 + v4 全量 234 篇中文译文(v4 110 · v3 124,100%),全部
status: published并记录译者 / 审校 / 上游基线(@bf46254);审校为ecn-review(机器可复核,见上「审校口径」) - 可追溯同步:基线标注 + 每日比对 + 落后告警
- 阅读闭环:镜像侧边栏、TOC、上下页、版本切换、未翻译占位页(无死链)
- 体验:站内搜索(⌘K)、RSS、
llms.txt、robots、sitemap、404、canonical/OG - 质量门禁:内容门禁(CI)+ 全仓 typecheck/test/build
- 信任与协作:LICENSE、行为准则、Issue/PR 模板、术语表、非官方声明
- 部署:静态托管步骤 + API 容器化(docs/deployment.md)
- 待办:
<Tabs>交互切换;人类精读审校署名;社区功能(Phase 2)
里程碑
- Phase 0 · 地基:monorepo、Astro 壳、Effect/DDD 后端骨架、契约、CI
- Phase 1 · 内容为主:镜像官方结构的译站、内容管线、门禁与自动化、首屏阅读体验
- Phase 1.5 · 内容扩充:v3 + v4 全量 234/234 页(v4 110 · v3 124),覆盖率 100%
- Phase 2 · 社区功能:身份认证、问答/评论、审核、通知
- Phase 3 · 增长:案例库、活动日历、全文检索(分词)、自托管 Playground
指向
- 官方站点:https://effect.website/ · 官方内容仓库:https://github.com/Effect-TS/website
- 译者指南:docs/translation-guide.md · 部署指南:docs/deployment.md
- AI-Native 产品设计(Agent 时代的知识层):docs/ai-native.md
- Agent 接入指南(MCP / HTTP / 静态 .md / 引用核验):docs/agent-integration.md
- MCP 分发(各目录的实际机制、MCPB 打包、待人工步骤):docs/mcp-distribution.md
- 给 Agent 的安装说明(Cline 一类工具会找这个文件):llms-install.md
- 度量与周报(收什么 / 落哪 / 怎么看):docs/metrics.md
- 生态观测台(Effect × AI Agent 调查:口径、数据集、报告):docs/observatory/methodology.md · 线上 https://effect-ts.cn/observatory/
- 给编码 Agent 的仓库契约:AGENTS.md(架构不变量 / 必跑门禁 / 不许做的事)
- Agent 提案队列(机器写、人审):.proposals/README.md
- 行为准则:CODE_OF_CONDUCT.md · 许可:LICENSE(内容与商标说明见 NOTICE.md)
Установка Effect Ts.cn
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/aaronlou/effect-ts.cnFAQ
Effect Ts.cn MCP бесплатный?
Да, Effect Ts.cn MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Effect Ts.cn?
Нет, Effect Ts.cn работает без API-ключей и переменных окружения.
Effect Ts.cn — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Effect Ts.cn в Claude Desktop, Claude Code или Cursor?
Открой Effect Ts.cn на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
Roblox Studio
Enables AI coding tools to control Roblox Studio for workspace exploration, instance manipulation, and script management. It provides tools for playtesting, sce
автор: paralovOpencode Omniroute Plugin
OpenCode plugin for the OmniRoute AI Gateway. Drives dynamic model discovery, /connect auth flow, and multi-instance OmniRoute providers via the official @openc
автор: GitHub ActionsAWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzMCP-Agent
A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)
автор: lastmile-aiSpring AI MCP Client
Provides auto-configuration for MCP client functionality in Spring Boot applications.
mcp.natoma.ai
A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)
MCPHub
Website to list high quality MCP servers and reviews by real users. Also provide online chatbot for popular LLM models with MCP server support.
Compare Effect Ts.cn with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
