Skip to content

Commit f3a0e8d

Browse files
author
feishu-classmate dev
committed
feat: 飞书同学 v0.1 — lab-scenario AI assistant on OpenClaw + MetaClaw
28 agentic skills covering PDF spec + robotics-lab + supervisor + collaboration + knowledge scenarios: - Teaching: conduct-lab-tour, lab-onboarding - Project: manage-gantt, weekly-digest, daily-standup - Experiment: training-run-tracker, robot-checkpoint, simulation-log, log-experiment - Papers: manage-papers, submission-tracking, idle-research - Equipment: manage-equipment, reserve-equipment - Supervisor: supervisor-dashboard, supervisor-task-assign, one-on-one-scheduler, supervise-student - Meetings: meeting-agenda, meeting-minutes, reading-group - People: mentor-dispatch, skill-tree, initiate-conversation - Knowledge: failure-archive, lab-faq-search, lab-meme - Evolution: evolve-telemetry Plugin architecture: - Delegates Bitable/Doc/Drive/Calendar ops to @larksuite/openclaw-lark raw tools - Classmate tools only cover: data-layout, temi sidecar HTTP, stateful supervision, chat throttle, arxiv search - 20+ Bitable tables auto-created by ensureBitableSchema - ToolTrace telemetry (Phase-1 self-evolution) logs every tool call for MetaClaw - Temi sidecar (Python FastAPI) mock-capable for pre-hardware development Test: 44/44 vitest passing, pnpm typecheck clean, pnpm build → 208 KB ESM. Designed from 飞书同学.pdf by 董廷霄 / 纪昊年 / 许愿.
0 parents  commit f3a0e8d

106 files changed

Lines changed: 21786 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# ===== 飞书自建应用凭据 =====
2+
# ⚠️ WARNING: 以下是 FeishuCLassmate 公开仓库里泄露的 key,仅供本地开发冒烟。
3+
# 正式上线前务必登陆 https://open.feishu.cn/app/<app-id>/credential 重置 App Secret。
4+
FEISHU_APP_ID=cli_a96b727740381bd7
5+
FEISHU_APP_SECRET=wBVWH65YHkBjdKrqzyyZEf6GVCnbBt3b
6+
7+
# feishu 或 lark
8+
FEISHU_DOMAIN=feishu
9+
10+
# ===== 多维表 app_token =====
11+
# 首次运行 `openclaw classmate setup-bitable` 后会自动填入
12+
FEISHU_BITABLE_APP_TOKEN=
13+
14+
# ===== Temi sidecar =====
15+
TEMI_SIDECAR_URL=http://127.0.0.1:8091
16+
# 没有真机时打开
17+
TEMI_MOCK=1
18+
19+
# ===== MetaClaw proxy (OpenClaw 自己会读,这里只是备注) =====
20+
# METACLAW_BASE_URL=http://127.0.0.1:30000/v1

.github/workflows/ci.yml

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main, master]
6+
pull_request:
7+
branches: [main, master]
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
# ---------------------------------------------------------------------------
15+
# Node plugin: typecheck, build, and unit tests under vitest.
16+
# Matrix is currently Node 22 only (plugin engines.node = ">=22"), but is a
17+
# matrix so that future LTS upgrades can be added with a single-line change.
18+
# ---------------------------------------------------------------------------
19+
plugin:
20+
name: Plugin (node ${{ matrix.node }})
21+
runs-on: ubuntu-latest
22+
strategy:
23+
fail-fast: false
24+
matrix:
25+
node: ["22"]
26+
27+
steps:
28+
- name: Checkout
29+
uses: actions/checkout@v4
30+
31+
- name: Install pnpm
32+
uses: pnpm/action-setup@v4
33+
with:
34+
version: 9
35+
run_install: false
36+
37+
- name: Set up Node.js ${{ matrix.node }}
38+
uses: actions/setup-node@v4
39+
with:
40+
node-version: ${{ matrix.node }}
41+
cache: pnpm
42+
43+
- name: Install dependencies
44+
run: pnpm install --frozen-lockfile=false
45+
46+
- name: Typecheck
47+
run: pnpm typecheck
48+
49+
- name: Build
50+
run: pnpm build
51+
52+
- name: Unit tests
53+
run: pnpm test
54+
55+
- name: Upload build output
56+
if: always()
57+
uses: actions/upload-artifact@v4
58+
with:
59+
name: plugin-dist-node${{ matrix.node }}
60+
path: dist/
61+
if-no-files-found: ignore
62+
retention-days: 7
63+
64+
# ---------------------------------------------------------------------------
65+
# Temi sidecar: install + pytest in mock mode (no robot required).
66+
# Runs in parallel with the plugin job.
67+
# ---------------------------------------------------------------------------
68+
sidecar:
69+
name: Temi sidecar (python ${{ matrix.python }})
70+
runs-on: ubuntu-latest
71+
strategy:
72+
fail-fast: false
73+
matrix:
74+
python: ["3.10"]
75+
76+
defaults:
77+
run:
78+
working-directory: temi-sidecar
79+
80+
steps:
81+
- name: Checkout
82+
uses: actions/checkout@v4
83+
84+
- name: Set up Python ${{ matrix.python }}
85+
uses: actions/setup-python@v5
86+
with:
87+
python-version: ${{ matrix.python }}
88+
cache: pip
89+
cache-dependency-path: temi-sidecar/pyproject.toml
90+
91+
- name: Install sidecar with dev extras
92+
run: |
93+
python -m pip install --upgrade pip
94+
pip install -e ".[dev]"
95+
96+
- name: Run pytest (mock mode)
97+
env:
98+
TEMI_MOCK: "1"
99+
run: pytest -v

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
node_modules/
2+
dist/
3+
.env
4+
.env.local
5+
*.log
6+
.DS_Store
7+
.vitest-cache/
8+
temi-sidecar/.venv/
9+
temi-sidecar/__pycache__/
10+
temi-sidecar/**/__pycache__/

0 commit comments

Comments
 (0)