水杉输入法 MSIME|开源中文输入法
水杉输入法(MSIME)是开源中文输入法,面向 Windows、macOS、Linux、Android、iOS 与 HarmonyOS 开发,支持全拼、双拼、五笔,候选词旁直接显示译文。查看下载、使用指南与常见问题。
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A kiosk website for collecting student feedback with hand gestures. You keep a list of questions on the admin page and assign each one to one or more variants. The kiosk runs one variant at a time and asks that variant's questions in random order. Until someone waves at it, the kiosk shows an idle screen. There are three variants:
Hand tracking runs in the browser with MediaPipe Gesture Recognizer. Video never leaves the device. Only the answer is sent to the server.
Requires Node.js 22.13 or newer and Docker (OrbStack or Docker Desktop) for the Postgres database.
docker compose up -d
npm install
ADMIN_PASSWORD=choose-a-password npm start
If ADMIN_PASSWORD isn't set, the password is admin. Set a real one before using it with students.
Questions and answers are stored in Postgres 17, which docker-compose.yml runs on 127.0.0.1:5434 with its data in the pgdata Docker volume. The server creates its tables on start. Set DATABASE_URL to use another database (default postgres://feedback:feedback@localhost:5434/feedback).
questions: the text and the variants it is assigned to (variants, an array).answers: one row per answer, with the question, the variant it was given in, and answer (agree/disagree, thumbs) or rating (1–5, stars and fingers). Deleting a question deletes its answers.settings: the variant and camera the kiosk uses.To start over, run docker compose down -v, which also deletes the volume.
Earlier versions stored everything in data/feedback.db. To copy that into Postgres once:
npm run import-sqlite
Statements with the same text become one question, assigned to every variant they were asked in, and their votes and ratings become that question's answers with the original timestamps. The import only runs into an empty database and never changes the SQLite file. Set DB_PATH to import a different file.
This is the beginning of the README. Read the rest at the original. Read the full README ↗