프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. Google로 로그인하면 리뷰를 쓸 수 있어요.프로토타입 · 30분마다 업데이트
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Effect 中文文档

제작자: aaronlou버전 0.1.0i★ 1i내 컴퓨터에서 실행
레지스트리 이름io.github.aaronlou/effect-ts-cn

설치 방법

What it does

Effect 官方文档的中文译文检索(234 页,v3 + v4)。每条结果带可核验引用:能点回原文小节、能看到该译文对着哪次上游提交译的。零依赖、离线自包含。

  • Connects 내 컴퓨터에서 실행
  • Account or key No key needed
  • Category 기타

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

검사 3/3 통과 · 내 컴퓨터에서 실행돼요 · ✓ 명령 확인 2026년 11월 13일

먼저: 어떤 AI를 쓰시나요?

쓰는 앱을 고르면 아래에 단계가 나옵니다.

Claude에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Node.js를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요

AI에게 설치 맡기기

이 메시지를 Claude 채팅에 붙여 넣으세요. AI가 컴퓨터를 확인하고 어떤 파일을 바꿀지 알려 준 뒤 매번 동의를 기다립니다.

이 컴퓨터의 Claude에 MCP server Effect 中文文档을 설치해 주세요. 순서대로: 1) node -v로 Node.js가 있는지 확인. 없으면 https://nodejs.org/en/download에서 설치하라고 알려 주고 직접 설치하지 마세요. 2) 이 설정만 사용하세요(PopNx MCP 확인 완료): { "mcpServers": { "effect-ts-cn": { "command": "npx", "args": [ "-y", "effect-ts-cn-mcp" ] } } } 3) 바꿀 파일의 전체 경로나 실행할 명령을 알려 주고 제 동의를 기다리세요. 4) 키는 필요 없습니다. 5) 합의한 대로 실행한 뒤 Effect 中文文档의 도구가 실제로 보이는지 확인하세요.

이 메시지에는 키가 없습니다. 키가 필요하면 AI가 파일이나 앱 입력란에 직접 붙여 넣으라고 안내합니다.

  1. Node.js 설치 (아직 없다면)

    이미 설치했나요? 먼저 확인 · 터미널을 열고 이 명령을 입력한 뒤 Enter

    node -v
    • 버전 번호(예: v26.13.1)가 나오면 설치된 것입니다. 이 단계는 건너뛰세요
    • "command not found"(Windows는 "is not recognized")가 나오면 아직 설치하지 않았거나, 방금 설치해서 터미널을 닫았다가 다시 열어야 합니다
    터미널 여는 법

    Mac: ⌘ + Space를 누르고 Terminal 입력 후 Enter

    Windows: 시작 메뉴를 열고 Windows PowerShell 입력 후 "열기"

    아직 설치하지 않았다면: 공식 다운로드 페이지에서 LTS 버전과 클릭형 설치 파일을 고르세요: Mac은 .pkg · Windows는 .msi. 더블클릭 후 끝까지 진행하면 됩니다. curl 명령은 필요 없습니다

    Node.js 다운로드 페이지 열기 ↗

    설치가 끝나면 터미널을 닫았다가 다시 열고 같은 명령을 실행하세요. 버전 번호가 나와야 합니다: node -v

    한 번 설치하면 Node.js가 필요한 모든 도구에서 쓸 수 있습니다

  2. 컴퓨터용 Claude 앱 설정 파일 열기

    SettingsDeveloperEdit Config

  3. 이 설정을 붙여 넣고 저장

    {
      "mcpServers": {
        "effect-ts-cn": {
          "command": "npx",
          "args": [
            "-y",
            "effect-ts-cn-mcp"
          ]
        }
      }
    }
  4. Claude를 끄고 다시 열기

  5. 해 보기

    Effect 中文文档을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude가 Effect 中文文档을 쓰고 있다고 하거나 답에 Effect 中文文档 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

ChatGPT는 아직 Effect 中文文档에 연결할 수 없어요

Effect 中文文档는 내 컴퓨터에 설치해서 쓰지만 ChatGPT는 웹에서 도는 서버만 연결할 수 있어요

대신 이렇게 할 수 있어요

A · Effect 中文文档에 연결되는 앱 쓰기

  • 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요
  • 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
  • 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
  • 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

B · 기타에서 ChatGPT에 연결되는 다른 서버

같은 분류에서 많이 쓰는 것 중 키 없이 주소만으로 연결되는 것을 골랐어요

Claude Code에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

AI에게 설치 맡기기

이 메시지를 Claude Code 채팅에 붙여 넣으세요. AI가 컴퓨터를 확인하고 어떤 파일을 바꿀지 알려 준 뒤 매번 동의를 기다립니다.

이 컴퓨터의 Claude Code에 MCP server Effect 中文文档을 설치해 주세요. 순서대로: 1) node -v로 Node.js가 있는지 확인. 없으면 https://nodejs.org/en/download에서 설치하라고 알려 주고 직접 설치하지 마세요. 2) 이 설정만 사용하세요(PopNx MCP 확인 완료): claude mcp add --scope user effect-ts-cn -- npx -y effect-ts-cn-mcp 3) 바꿀 파일의 전체 경로나 실행할 명령을 알려 주고 제 동의를 기다리세요. 4) 키는 필요 없습니다. 5) 합의한 대로 실행한 뒤 Effect 中文文档의 도구가 실제로 보이는지 확인하세요.

이 메시지에는 키가 없습니다. 키가 필요하면 AI가 파일이나 앱 입력란에 직접 붙여 넣으라고 안내합니다.

  1. Node.js 설치 (아직 없다면)

    이미 설치했나요? 먼저 확인 · 터미널을 열고 이 명령을 입력한 뒤 Enter

    node -v
    • 버전 번호(예: v26.13.1)가 나오면 설치된 것입니다. 이 단계는 건너뛰세요
    • "command not found"(Windows는 "is not recognized")가 나오면 아직 설치하지 않았거나, 방금 설치해서 터미널을 닫았다가 다시 열어야 합니다
    터미널 여는 법

    Mac: ⌘ + Space를 누르고 Terminal 입력 후 Enter

    Windows: 시작 메뉴를 열고 Windows PowerShell 입력 후 "열기"

    아직 설치하지 않았다면: 공식 다운로드 페이지에서 LTS 버전과 클릭형 설치 파일을 고르세요: Mac은 .pkg · Windows는 .msi. 더블클릭 후 끝까지 진행하면 됩니다. curl 명령은 필요 없습니다

    Node.js 다운로드 페이지 열기 ↗

    설치가 끝나면 터미널을 닫았다가 다시 열고 같은 명령을 실행하세요. 버전 번호가 나와야 합니다: node -v

    한 번 설치하면 Node.js가 필요한 모든 도구에서 쓸 수 있습니다

  2. 터미널 열기

    Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기

  3. 이 명령을 붙여 넣고 Enter

    claude mcp add --scope user effect-ts-cn -- npx -y effect-ts-cn-mcp
  4. Claude Code에서 /mcp 입력

    Effect 中文文档이 목록에 있고 연결됨으로 보이면 돼요

  5. 해 보기

    Effect 中文文档을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude Code가 Effect 中文文档을 쓰고 있다고 하거나 답에 Effect 中文文档 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Cursor에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

AI에게 설치 맡기기

이 메시지를 Cursor 채팅에 붙여 넣으세요. AI가 컴퓨터를 확인하고 어떤 파일을 바꿀지 알려 준 뒤 매번 동의를 기다립니다.

이 컴퓨터의 Cursor에 MCP server Effect 中文文档을 설치해 주세요. 순서대로: 1) node -v로 Node.js가 있는지 확인. 없으면 https://nodejs.org/en/download에서 설치하라고 알려 주고 직접 설치하지 마세요. 2) 이 설정만 사용하세요(PopNx MCP 확인 완료): { "mcpServers": { "effect-ts-cn": { "command": "npx", "args": [ "-y", "effect-ts-cn-mcp" ] } } } 3) 바꿀 파일의 전체 경로나 실행할 명령을 알려 주고 제 동의를 기다리세요. 4) 키는 필요 없습니다. 5) 합의한 대로 실행한 뒤 Effect 中文文档의 도구가 실제로 보이는지 확인하세요.

이 메시지에는 키가 없습니다. 키가 필요하면 AI가 파일이나 앱 입력란에 직접 붙여 넣으라고 안내합니다.

  1. Node.js 설치 (아직 없다면)

    이미 설치했나요? 먼저 확인 · 터미널을 열고 이 명령을 입력한 뒤 Enter

    node -v
    • 버전 번호(예: v26.13.1)가 나오면 설치된 것입니다. 이 단계는 건너뛰세요
    • "command not found"(Windows는 "is not recognized")가 나오면 아직 설치하지 않았거나, 방금 설치해서 터미널을 닫았다가 다시 열어야 합니다
    터미널 여는 법

    Mac: ⌘ + Space를 누르고 Terminal 입력 후 Enter

    Windows: 시작 메뉴를 열고 Windows PowerShell 입력 후 "열기"

    아직 설치하지 않았다면: 공식 다운로드 페이지에서 LTS 버전과 클릭형 설치 파일을 고르세요: Mac은 .pkg · Windows는 .msi. 더블클릭 후 끝까지 진행하면 됩니다. curl 명령은 필요 없습니다

    Node.js 다운로드 페이지 열기 ↗

    설치가 끝나면 터미널을 닫았다가 다시 열고 같은 명령을 실행하세요. 버전 번호가 나와야 합니다: node -v

    한 번 설치하면 Node.js가 필요한 모든 도구에서 쓸 수 있습니다

  2. 이 버튼으로 Cursor 열기

    Cursor에서 열기

    Cursor가 설치를 확인하면 Install을 누르세요

  3. Cursor에서 AI 채팅을 Agent 모드로 열기

  4. 해 보기

    Effect 中文文档을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Cursor가 Effect 中文文档을 쓰고 있다고 하거나 답에 Effect 中文文档 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

VS Code에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

AI에게 설치 맡기기

이 메시지를 VS Code 채팅에 붙여 넣으세요. AI가 컴퓨터를 확인하고 어떤 파일을 바꿀지 알려 준 뒤 매번 동의를 기다립니다.

이 컴퓨터의 VS Code에 MCP server Effect 中文文档을 설치해 주세요. 순서대로: 1) node -v로 Node.js가 있는지 확인. 없으면 https://nodejs.org/en/download에서 설치하라고 알려 주고 직접 설치하지 마세요. 2) 이 설정만 사용하세요(PopNx MCP 확인 완료): { "servers": { "effect-ts-cn": { "type": "stdio", "command": "npx", "args": [ "-y", "effect-ts-cn-mcp" ] } } } 3) 바꿀 파일의 전체 경로나 실행할 명령을 알려 주고 제 동의를 기다리세요. 4) 키는 필요 없습니다. 5) 합의한 대로 실행한 뒤 Effect 中文文档의 도구가 실제로 보이는지 확인하세요.

이 메시지에는 키가 없습니다. 키가 필요하면 AI가 파일이나 앱 입력란에 직접 붙여 넣으라고 안내합니다.

  1. Node.js 설치 (아직 없다면)

    이미 설치했나요? 먼저 확인 · 터미널을 열고 이 명령을 입력한 뒤 Enter

    node -v
    • 버전 번호(예: v26.13.1)가 나오면 설치된 것입니다. 이 단계는 건너뛰세요
    • "command not found"(Windows는 "is not recognized")가 나오면 아직 설치하지 않았거나, 방금 설치해서 터미널을 닫았다가 다시 열어야 합니다
    터미널 여는 법

    Mac: ⌘ + Space를 누르고 Terminal 입력 후 Enter

    Windows: 시작 메뉴를 열고 Windows PowerShell 입력 후 "열기"

    아직 설치하지 않았다면: 공식 다운로드 페이지에서 LTS 버전과 클릭형 설치 파일을 고르세요: Mac은 .pkg · Windows는 .msi. 더블클릭 후 끝까지 진행하면 됩니다. curl 명령은 필요 없습니다

    Node.js 다운로드 페이지 열기 ↗

    설치가 끝나면 터미널을 닫았다가 다시 열고 같은 명령을 실행하세요. 버전 번호가 나와야 합니다: node -v

    한 번 설치하면 Node.js가 필요한 모든 도구에서 쓸 수 있습니다

  2. 이 버튼으로 VS Code 열기

    VS Code에서 열기

    VS Code가 설치를 확인하면 Install을 누르세요

  3. VS Code에서 AI 채팅을 Agent 모드로 열기

  4. 해 보기

    Effect 中文文档을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ VS Code가 Effect 中文文档을 쓰고 있다고 하거나 답에 Effect 中文文档 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요

MCP를 쓰는 앱 모두 보기 →

JSON 설정은 아래 “개발자용”에 있어요

막혔나요? Effect 中文文档을 쓰는 사람에게 물어보세요💬 토론 →
개발자용: 터미널 명령과 JSON 설정

컴퓨터에 설치

Claude Code

claude mcp add --scope user effect-ts-cn -- npx -y effect-ts-cn-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "effect-ts-cn": {
      "command": "npx",
      "args": [
        "-y",
        "effect-ts-cn-mcp"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "effect-ts-cn": {
      "command": "npx",
      "args": [
        "-y",
        "effect-ts-cn-mcp"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "effect-ts-cn": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "effect-ts-cn-mcp"
      ]
    }
  }
}

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

한눈에 보기

주간 다운로드i
39/주
연결 방식
내 컴퓨터에서 실행
최신 버전i
0.1.0
카테고리i
기타
레지스트리 공개i
2026년 9월 13일
코드 마지막 변경i
2026년 9월 18일
제작자
aaronlou
패키지
npm: effect-ts-cn-mcp
웹사이트
effect-ts.cn
레지스트리 상태
활성

어떤 앱에서 쓸 수 있나요

이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.

내 컴퓨터에서 실행하는 앱

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

모든 앱과 장단점 →

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 15일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 aaronlou 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • ✓ 통과

    계속 관리되고 있음

    코드 마지막 변경: 2개월 전

  • ✓ 통과

    라이선스 있음

    MIT 사용

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

공개된 취약점 (OSV.dev)

아직 확인하지 않았습니다

우리가 확인하는 것 → · JSON

제작자: 재확인 요청 또는 잘못된 정보 신고

토론

질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.

아직 글이 없어요. 처음으로 질문하거나 공유해 보세요.

이곳의 글은 사용자가 쓴 것으로, PopNx 팀의 글이 아니에요.

Google로 로그인하고 글쓰기

사용자 리뷰

아직 리뷰가 없어요

Google로 로그인하고 리뷰 쓰기

기타 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 19826개 중 86%보다 스타가 많아요
  • 이 카테고리의 다른 서버 19826개 중 40%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 19826개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Effect 中文文档, 안전한가요?

해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 2개월 전 변경됐고, 최신 버전(0.1.0)은 2개월 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: World Monitor, openstatus, Oh My Posh Validator, Strata, Jitsu

비슷하게 동작하는 다른 것

같은 카테고리, 다른 제작자, 명령 확인 완료. 공식이 먼저, 그다음 스타 순.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.

제작자: koala73널리 사용됨★ 9.1만어제 업데이트

클라우드에서 실행✓ 서비스 회사 · worldmonitor.app

openstatus

Manage monitors, status pages, incidents and maintenances in your openstatus workspace.

제작자: openstatusHQ널리 사용됨★ 9.3천2개월 전 업데이트

클라우드에서 실행✓ 서비스 회사 · openstatus.dev

Oh My Posh Validator

Validate oh-my-posh configurations and segment snippets against the official schema.

제작자: JanDeDobbeleer널리 사용됨★ 2.4만 저장소 전체의 별26일 전 업데이트

클라우드에서 실행✓ 서비스 회사 · ohmyposh.dev

Strata

MCP server for progressive tool usage at any scale (see https://klavis.ai)

제작자: Klavis-AI성장 중★ 5.8천14개월 전 업데이트

클라우드에서 실행저장소 보관됨✓ klavis.ai

Jitsu

Manage Jitsu data pipelines: destinations, streams, connections, functions, live events.

제작자: jitsucom널리 사용됨★ 5.1천4개월 전 업데이트

클라우드에서 실행✓ 서비스 회사 · jitsu.com
  • World Monitor — 클라우드에서 동작, 설치 불필요 · 키 불필요
  • openstatus — 클라우드에서 동작, 설치 불필요 · 키 불필요
  • Oh My Posh Validator — 클라우드에서 동작, 설치 불필요 · 키 불필요
  • Strata — 클라우드에서 동작, 설치 불필요 · 키 불필요
  • Jitsu — 클라우드에서 동작, 설치 불필요 · 키 불필요

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

Effect 中文社区

站点:[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 自建的开源标本。

  • 产品与技术规划见 [PLAN.md](./PLAN.md);译者规范见 [docs/translation-guide.md](./docs/translation-guide.md); 上线步骤见 [docs/deployment.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/ .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 / 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)
  • 待办: 交互切换;人类精读审校署名;社区功能(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

指向