Token导航 LogoToken导航TokenDH.com
Project Chat logo
AI代理未说明官方级别未说明来源级核验

Project Chat

MCP Server

一个基于Claude Agent SDK的嵌入式聊天组件,能够访问项目文档、代码和页面上下文,帮助用户理解项目。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
开发工具TypeScriptClaude上下文感知Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

calebhicks

提供方

calebhicks

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

项目聊天

插入式聊天小部件,让用户与您的项目对话。由Claude Agent SDK提供支持,可基于MCP访问您的文档、代码和页面上下文。

想想内部通信,但代理实际上理解你的项目。

快速入门(Next.js)

npm install project-chat

app/api/chat/route.ts

import { createHandler, createNextHandler } from 'project-chat/server'
import { createProjectContextServer } from 'project-chat/mcp'

const projectContext = createProjectContextServer({
  docsDir: './docs',
  codeDir: './src',
})

const handler = createHandler({
  systemPrompt: 'You help users understand this project. Search docs and code to answer questions.',
  mcpServers: {
    'project': { type: 'sdk', instance: projectContext.server },
  },
})

export const { POST } = createNextHandler(handler)

app/layout.tsx

import { AgentChatProvider, AgentChat } from 'project-chat'

export default function Layout({ children }) {
  return (
    
      {children}
      
        
      
    
  )
}

ANTHROPIC_API_KEY 在您的环境中。完成。

这有什么不同

大多数聊天小部件都是LLM API的包装器。这个给了代理人 基于MCP访问项目的实际上下文:

  • 项目背景 --为文档和源代码建立索引。代理人会搜索他们以准确回答问题。
  • 页面上下文 --知道用户在哪个页面上。答案是根据他们当前的位置量身定制的。
  • 自定义上下文 -添加MCP服务器用于数据库查询、API查找、用户特定数据或其他任何操作。
  • Claude代码技能.claude/skills/ 文件允许Claude Code自动将小部件集成到任何项目中。

建筑

User → React Widget → SSE → Backend Handler → Agent SDK query() → MCP Servers
                                                                    ├── Project docs/code
                                                                    ├── Page context
                                                                    └── Your custom servers

三层,一包,五个入口点:

导入什么
project-chatReact小部件+钩子
project-chat/embed非React项目的Vanilla JS挂载(Astro、静态HTML)
project-chat/server后端处理程序+框架适配器
project-chat/mcpMCP服务器工厂
project-chat/protocol共享SSE类型

前端API

插入式小部件


  

非React项目(Astro、静态HTML)


  import { mountProjectChat } from 'project-chat/embed'
  mountProjectChat({
    endpoint: '/api/chat',
    greeting: 'Ask me anything about this project.',
  })

需要React 18+作为对等依赖(安装在项目中)。

通过钩子自定义UI

import { useAgentChat } from 'project-chat'

function MyChat() {
  const { messages, send, isStreaming, activeTools, error } = useAgentChat({
    endpoint: '/api/chat',
  })

  return (
    

      {messages.map(m => 
{m.content}
)}
       e.key === 'Enter' && send(e.target.value)} />
    

  )
}

服务器应用程序接口

处理程序配置

createHandler({
  systemPrompt: string,              // What the agent should do
  model?: string,                    // Default: claude-sonnet-4-5-20250514
  allowedTools?: string[],           // Default: ['Read', 'Glob', 'Grep']
  mcpServers?: Record,
  maxBudgetUsd?: number,             // Default: 0.25
  maxTurns?: number,                 // Default: 10
  maxInputLength?: number,           // Default: 4000
  sessionStore?: SessionStore,       // Default: in-memory
  onMessageStart?: (sessionId) => void,
  onMessageEnd?: (sessionId) => void,
  onError?: (error, sessionId) => void,
})

框架适配器

// Next.js App Router
export const { POST } = createNextHandler(handler)

// Express
app.post('/api/chat', createExpressHandler(handler))

// Hono
app.post('/api/chat', createHonoHandler(handler))

MCP上下文

内置:项目背景

在启动时索引文档和代码。显示供代理搜索的工具。

createProjectContextServer({
  docsDir: './docs',
  codeDir: './src',
  include: ['**/*.md', '**/*.ts'],
  exclude: ['**/node_modules/**'],
  maxFileSize: 100000,
  apiSpec: './openapi.yaml',
})

内置:页面上下文

自动知道用户所在的页面(URL、标题、路径名)。前端在每次请求时都会发送此消息。

createPageContextServer()

自定义MCP服务器

为项目特定上下文添加任何MCP服务器:

import { createSdkMcpServer, tool } from '@anthropic-ai/claude-agent-sdk'
import { z } from 'zod'

const myServer = createSdkMcpServer({
  name: 'my-context',
  tools: [
    tool('get_user', 'Get user details', { id: z.string() }, async ({ id }) => {
      const user = await db.users.find(id)
      return { content: [{ type: 'text', text: JSON.stringify(user) }] }
    }),
  ],
})

// Add to handler
createHandler({
  mcpServers: {
    'project': { type: 'sdk', instance: projectContext.server },
    'users': { type: 'sdk', instance: myServer },
  },
})

Claude代码技能

此图书馆随附 .claude/skills/ 对于自主集成:

  • integrate-project-chat --5阶段集成:分析主机、安装、后端、前端、验证
  • add-mcp-context -添加自定义数据库/API/服务上下文
  • customize-theme --将小部件与主机的设计系统相匹配
  • deploy-project-chat --生产:安全、限速、监控

安全

  • API密钥保持在服务器端(从不在客户端捆绑包中)
  • 默认工具是只读的: Read, Glob, Grep
  • 每个请求的预算上限(maxBudgetUsd)
  • 每个请求的转弯限制(maxTurns)
  • 输入长度验证(maxInputLength)
  • 会话存储是可插拔的(实现 SessionStore 适用于Redis、DB等)

许可证

麻省理工学院

目录标签

目录标签

开发工具TypeScriptClaude上下文感知聊天组件本地部署项目支持LLM集成开发者工具

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP