A pluggable, keyless, unified agent harness on your phone.
An open-source, AI-native app for campus life at Peking University.
Website · Download · Docs · Marketplace · Plugins · Discussions
English · 简体中文
Sign in once with your PKU account and hand your timetable, campus card, network fee, Treehole,
courses, finance and room bookings to an AI assistant that runs on your phone.
The app itself is a harness: an agent loop, a design system and a set of host services. Every
capability comes from plugins, and built-in and community plugins are equal.
Why
Campus life at PKU is spread over a dozen websites, each with its own login, layout and quirks.
PKU harness puts one agent in front of all of them:
- Pluggable. Each campus service is a plugin: a readable
PLUGIN.md document you can install
from a link, share, review and write yourself. No app release needed to add a service.
- Keyless. Your campus password, authenticator secret and model key stay in the phone's
secure storage. There is no account with us, and no server of ours sees your prompts.
- Unified. Chat, dashboard, schedule and settings are one system. Whatever you can do with a
tap, the agent can do as a tool, and the other way round.
Features
Chat and agent
- Streaming answers that call plugin tools and render native UI inline: forms, pickers, cards,
checkouts.
- Multiple sessions with automatic titles,
/ commands, queued messages, per-session models,
automatic context compaction and a usage board with cache-hit statistics.
- Bring your own model: DeepSeek by default, or SiliconFlow, Alibaba Bailian or any
OpenAI-compatible endpoint.
- Reads your files: images, PDF, Word, Excel, PowerPoint and audio attachments.
- Voice dictation with your own speech-to-text key (SiliconFlow or any OpenAI-compatible
transcription endpoint). Recordings go straight to that service and are deleted afterwards.
- One settings registry: every setting, built in or declared by a plugin, is a typed entry
that both the Settings screens and the agent read and write. Secrets stay UI-only.
Dashboard
- Widgets the assistant builds and maintains for you from chat, with live data: campus card
balance, network fee, canteen crowds, deadlines, and anything a plugin exposes.
- Rearrange and edit by hand or by asking.
Schedule
- Timetable synced from the dean's office, to-dos and reminders.
- Free-form recurrence ("in 2 days", "every 3 days, 16 times") delivered on the minute by the
system alarm clock.
- Scheduled checks the assistant sets up from chat, e.g. "every morning, warn me if my card
balance is below ¥100".
Copilot (phone control)
- An opt-in plugin that lets the agent operate other Android apps you allow, step by step, with a
floating status panel you can pause or take over at any time.
- Touch and keys go through a display-owned shell-input helper; accessibility is used only to
observe the screen and verify results. Screenshots are an optional vision fallback.
- Payments and other sensitive steps are handed back to you. See docs/COPILOT.md.
Plugins and marketplace
- Plugins as documents. A plugin is a folder with a
PLUGIN.md: YAML steps and safe
expressions that the app interprets. No code runs, installs are links
(pkuharness://plugin?src=…), and updates are data. See
docs/PLUGIN-LANGUAGE.md.
- Remote plugins over MCP, and bundled TypeScript plugins for host features, all behind one
contract.
- A marketplace that indexes plugin
repositories on GitHub, with an access review before every install.
- Official plugins cover the campus card and payment code, network fee, Blackboard courses,
grades, course selection and catalogue, Treehole, library, room booking, finance, classrooms,
canteens, shuttles, notices and campus events.
Privacy and safety
- Permissions you can read. Every tool declares its effect (read, change, money, public);
you choose per plugin whether the assistant may act, must ask first, or never acts.
- Credentials stay on the device. Plugins get scoped campus sessions, never your password.
- PKU harness Cloud is optional: an end-to-end-encrypted relay and store for features like
sharing your campus-card payment code with a friend (spend cap and PIN included). It knows your
device only by an anonymous key. See docs/CLOUD.md.
- Signed updates. JavaScript updates come over the air from our own server, signed; native
releases ship as signed APKs built by GitHub Actions. See docs/OTA.md and
docs/RELEASE.md.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗