Skip to main content
Glama

北名大小助手 · beimingda

把散落的校园服务,收进一个对话。

第一届"银移杯"校园 AI Agent 创新大赛 · 赛道 17 智慧校园 Agent 创意赛道 队伍 啊对对(TM202610160004)| 站点 https://demo.knowingly.dpdns.org | 提交截止 2026-10-31 23:59:59

四个模块:代取撮合 · 搭子匹配 · 迎新导览 · 日程提醒。 平台能力通过远程 Streamable HTTP MCP(POST /mcp,14 个工具)开放给 WorkBuddy, 评委零配置接入即可用一句话操控整个平台。


快速开始

git clone https://github.com/xfjsssq/beimingda.git
cd beimingda
npm install                     # 网络慢可加 --registry=https://registry.npmmirror.com
cp .env.example .env            # Windows: copy .env.example .env
# 编辑 .env:至少填 DEMO_TOKEN(写接口与 /mcp 鉴权用)
npm run seed                    # 幂等灌演示数据
npm start                       # http://127.0.0.1:3000

自检(一条命令跑完关键验收点):

npm run smoke
npm test

常用地址:

地址

说明

GET /api/health

健康检查,返回统一信封

POST /mcp

MCP 远程端点(Authorization: Bearer <DEMO_TOKEN>)

GET / /takeout /buddy /welcome /schedule /agent

6 个页面

GET /config.js

前端配置注入(TILE_PROVIDER_KEY 等,⛔ 页面不许硬编码)

GET /api/scrub/audit?limit=

⭐ 脱敏审计,评委核验用(M4)


Related MCP server: Grok Bot MCP Bridge

技术栈(冻版,不得更换)

层

选型

前端

静态 HTML + 原生 JS(Vue 3 可选,须本地化到 static/vendor/),零构建

地图

Leaflet + 天地图官方瓦片(不自建底图)

全景

Pannellum(MIT)

后端

Node.js 20+ / Express / better-sqlite3

MCP

远程 Streamable HTTP POST /mcp(⛔ 禁止本地 stdio、禁止 SSE 长连接)

部署

Cloudflare 隧道 → https://demo.knowingly.dpdns.org(单次响应必须 < 90 秒)


目录结构

beimingda/
├── src/
│   ├── server.js            HTTP 入口与路由注册
│   ├── db/{schema.sql,index.js}
│   ├── engine/              撮合与匹配评分引擎(M1/M2)
│   ├── services/            业务层(HTTP API 与 MCP 共用,⛔ 不许各写一份)
│   ├── mcp/{server.js,tools.js,handlers.js}
│   ├── api/routes.js        HTTP API 路由
│   ├── middleware/{auth.js,ratelimit.js}
│   └── util/{envelope.js,time.js}
├── static/                  6 个页面 + css/js + vendor(离线可跑)
├── config/                  periods.json / map-nodes.json / match-rules.json
├── fixtures/                全虚构演示数据(demo=1)
├── pano/                    全景图与 multi-scene tour 配置
├── scripts/{seed.js,smoke.js,reminder.js}
├── tests/                   node --test 单测
├── docs/                    ARCHITECTURE / DB-SCHEMA / MCP-TOOLS
└── contracts/ tasks/        需求契约与任务卡(与代码同仓冻结)

分支与协作(⭐ 先读再动手)

分支

负责

内容

main

共同

只接受 PR,不直接推

feat/core

骨架 A

T0 骨架 + 建表 + HTTP 路由 + MCP 端点 + 鉴权(已完成)

feat/m1-takeout

A

代取撮合(引擎 + MCP 5 工具 + 页面)

feat/m2-buddy

B

搭子匹配(画像 + 双选 + MCP 3 工具 + 页面)

feat/m3-welcome

B

迎新导览(地图 + 全景,纯前端为主)

feat/m4-schedule

A

日程与提醒(含脱敏审计)

feat/frontend

B

门户首页 + /agent 页 + 共用样式

docs/materials

共同

参赛材料与交付包

  • 每个分支根部有 BRANCH.md:写清做什么 / 依赖什么 / 完成标准 / 不能碰什么 / 当前进度

  • commit message 规范:feat(模块): 描述(例:feat(m1): 实现撮合评分引擎)

  • 冲突高发区(改前先在群里说一声):contracts/、src/db/schema.sql、src/mcp/tools.js、src/api/routes.js

  • 详细流程见 CONTRIBUTING.md


合规红线(全局)

  1. 全站不收集真实姓名 / 学号 / 手机号 / 身份证 / 学生证照片 / 校园网账号口令;数据库里没有能存这些的字段

  2. 不接入、不登录、不抓取学校任何内部系统;业务代码里绝不出现"输入学号 / 校园网密码"

  3. 站点没有「上传课表文件」按钮 —— 刻意设计,课表入口只走对话(MCP)

  4. 演示数据一律 demo=1,姓名用"同学A/同学B",学号用 2025XXXX,页面加 ?demo=1

  5. 密钥只从 process.env 读,.env 与 *.db 永不入库;参赛材料里令牌一律写 <DEMO_TOKEN>


文档索引

你要做的事

读这两份

看仓库全貌

docs/ARCHITECTURE.md、README.md(本文件)

动数据库 / HTTP 路由

contracts/core.md

代取撮合

contracts/m1-takeout.md + tasks/M1-代取撮合.md

搭子匹配

contracts/m2-buddy.md + tasks/M2-搭子匹配.md

迎新导览

contracts/m3-welcome.md + tasks/M3-迎新导览.md

日程与提醒

contracts/m4-schedule.md + tasks/M4-日程提醒.md

页面与 /agent

contracts/frontend.md + tasks/F0-前端总览.md

MCP 工具清单

docs/MCP-TOOLS.md

建仓与协作流程

tasks/G0-GitHub仓库初始化.md + CONTRIBUTING.md

提交给评委的源码包:git archive --format=zip --prefix=beimingda/ HEAD -o 源码.zip (git archive 天然不含 .git;导出后核对无 .env / *.db / node_modules / .git/)

License

MIT(见 LICENSE)。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP clients to discover and create agents, durably submit messages with verifiable replies, and search source-linked local memory. Exposes eight authenticated tools with owner-approved OAuth, transcript-backed verification, and explicit control over history import and embedding.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI clients to access a collection of personal university services—email, cloud storage, tables, Git repositories, TeX projects, and SSH hosts—through MCP tools for searching, reading, writing, uploading, downloading, and running commands.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to carry out campus services in natural language — booking venues with CAPTCHA solving, selecting and dropping courses, submitting homework, batch-completing teaching evaluations, checking grades and timetables, and fetching cloud-drive download links — by handling the login, signing, encryption, and WebVPN proxying for 11 separate university subsystems behind 26 MCP tools.
    2
    MIT