Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Effect 官方文档的中文译文检索(234 页,v3 + v4)。每条结果带可核验引用:能点回原文小节、能看到该译文对着哪次上游提交译的。零依赖、离线自包含。
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"effect-ts-cn": {
"command": "npx",
"args": [
"-y",
"effect-ts-cn-mcp"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add effect-ts-cn -- npx -y effect-ts-cn-mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"effect-ts-cn": {
"command": "npx",
"args": [
"-y",
"effect-ts-cn-mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"effect-ts-cn": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"effect-ts-cn-mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 aaronlou 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.0)은 2개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Georgia MCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
An MCP server for Georgian public data, read from the organizations that publish it.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
站点:[https://effect-ts.cn](https://effect-ts.cn) —— Effect(TypeScript 的 effect system)官方文档全量中文翻译
(v4 + v3 共 234 页,每页标注上游基线)+ 可溯源的问答(每条引用可点回原文,无依据即拒答)
+ 报错百科(真实报错的检索索引)+ 26 个用 Effect 写的开源 AI 项目推荐。
给 AI / Agent 的入口:
/llms.txt·/llms-full.txt·/docs/ .md·/cite/ .json(引用核验记录)
· MCP server(仓库内
pnpm mcp)。
中文世界 Effect 的第一入口:官方文档的高质量中文译站 + 内容社区 + 由 Effect 与 DDD 自建的开源标本。
reviewers 一律为 ecn-review,含义是机器可复核 (代码块与上游逐字节一致、结构对齐、术语 0 命中、锚点可达),非人类精读,尚无人类精读署名; 展示口径见 apps/site/src/data/provenance.ts,维护者精读抽查后请追加自己的名字。pnpm install
pnpm dev
cp .env.example .env # 填 DEEPSEEK_API_KEY=sk-...(或 LLM_BASE_URL + LLM_API_KEY) pnpm --filter @ecn/api llm:check # 一条命令验证模型真的接上了(打印提供方/模型/超时)
pnpm dev 会 watch 这几个文件:改完 Key 自动重启,不用手动重启pnpm db:up # docker 起 Postgres;或用本机 postgres 亦可
/api/* 已由 dev 代理到后端)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 兼容配置)
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/ .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/ .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 / interfacesData.TaggedError,wire 错误用 @effect/schema 的 Schema.TaggedError(在 interfaces 层完成映射)Layer 可移植性的活例子:同一个
QuestionRepository端口,bootstrap/main.ts按
DATABASE_URL是否存在,在 InMemory 仓储与 Postgres 仓储之间切换 —— 这就是依赖倒置 + DI 容器。
测试里也用 Layer 注入确定性 ID 与内存仓储。
.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 子命令。
status: published 并记录译者 / 审校 / 上游基线(@bf46254);审校为 ecn-review(机器可复核,见上「审校口径」)llms.txt、robots、sitemap、404、canonical/OG 交互切换;人类精读审校署名;社区功能(Phase 2)