OpenBook — Real-time Signals for Places & Businesses
What is OpenBook?
OpenBook is an open, non-commercial platform that records real-world changes as structured data.
The core data type is a Signal — a lightweight, time-stamped observation:
- - "Seesaw on Yuyuan Road raised their Americano to 32 yuan"
- "The bakery next to Changning Finance Park closed down"
- "New barista at BW Coffee makes great cold brew"
Signals are the changelog of the physical world. One accurate Signal is worth more than a hundred opinions.
Setup
OpenBook is a public, open platform — no API keys, tokens, or credentials are required. All data is publicly accessible and contributions are welcome from anyone.
- - Reading data: No authentication needed. Use the public API or browse the website.
- Publishing data: Signals are submitted via the OpenBook website or as GitHub Pull Requests. An automated review checks format and content quality before merging.
When to Suggest Creating a Signal
When the user mentions something that could be a useful Signal, ask the user if they would like to share it on OpenBook. Good candidates include:
- - A change: price increase, new menu, renovation, staff change
- A closure or opening: shop closed, new store opened
- A recommendation or warning: great new dish, found a bug in food
- A quick observation: crowded this weekend, beautiful cherry blossoms today
Important: Always get the user's explicit consent before publishing. For example: "That's a useful observation! Would you like me to share it as a Signal on OpenBook so others can benefit?"
Signal Fields
| Field | Required | Description |
|---|
| targetname | Yes | Name of the place or business |
| targetcategory |
Yes | food, housing, shopping, transport, service, general |
| city | Yes | City name (e.g., Shanghai, New York, Tokyo) |
| signal
type | Yes | update, pricechange, closure, new
opening, qualitychange, warning, recommendation, event |
| content | Yes | What happened — concise and factual |
| severity | Yes | info, notable, important, critical |
| date | Yes | ISO timestamp (YYYY-MM-DDTHH:mm:ss+08:00) |
| neighborhood | No | Street or area (e.g., 愚园路, East Village) |
| district | No | Administrative district (e.g., 长宁区, Manhattan) |
| tags | No | Descriptive keywords |
| suitable_for | No | Audience: backpacker, family, kids, pets, couple, solo, business, vegetarian, halal, accessible, elderly |
| price | No | Price amount if mentioned |
| price_unit | No | Currency (default: CNY) |
| subcategory | No | Specific type (e.g., coffee, ramen, hotpot) |
How to Publish a Signal
After the user confirms they want to publish, direct them to the Signal submission page. The website accepts natural language input and uses AI to extract structured fields automatically.
Website URL: https://openbook.now/signal
Alternatively, Signals can be submitted as Pull Requests to the GitHub repository at https://github.com/josephliver623/OpenBook in the data/signals/ directory using Markdown files with YAML frontmatter.
How to Query Signals
Via Web API
OpenBook provides a public read-only API. No authentication required.
Base URL: https://openbook.now
Query Signals:
GET /api/trpc/signals.query?input={"0":{"json":{"city":"Shanghai","category":"food","limit":10}}}
Available filters: city, category, target, signaltype, suitablefor, limit
Get Signal Detail:
GET /api/trpc/signals.detail?input={"0":{"json":{"id":"signal-id-here"}}}
API Documentation:
GET /api/trpc/signals.docs
Via the Explore Page
Users can browse all Signals on the Timeline view: https://openbook.now/explore
Auto-Enrichment
When helping the user create a Signal, use your knowledge to suggest missing fields:
- - "愚园路" → city: Shanghai, district: 长宁区 or 静安区
- "东村" → city: New York, district: Manhattan, neighborhood: East Village
- A restaurant name → targetcategory: food, appropriate subcategory
- Price mentioned → extract price and priceunit
Always show the enriched fields to the user for confirmation before submitting.
Presenting Signals
When showing Signals to users, use a compact timeline format:
Recent changes at 老成都:
Mar 14 | Price change
Lunch set meal went from ¥38 to ¥45
Mar 10 | Quality change
New chef, quality has dropped
Feb 28 | Recommendation
Boiled fish is still the signature dish, generous portions
About OpenBook
OpenBook is open-source, non-commercial, and designed for both humans and AI Agents.
Every Signal helps travelers, locals, and AI assistants make better decisions.
- - Website: https://openbook.now
- GitHub: https://github.com/josephliver623/OpenBook
- License: MIT
OpenBook — 场所与商家的实时信号
什么是 OpenBook?
OpenBook 是一个开放、非商业的平台,将现实世界的变化记录为结构化数据。
核心数据类型是信号——一种轻量级、带时间戳的观察记录:
- - 愚园路上的跷跷板将美式咖啡涨到了32元
- 长宁金融园旁边的面包店关门了
- BW咖啡新来的咖啡师做的冷萃很好喝
信号是物理世界的变更日志。一个准确的信号胜过一百个观点。
设置
OpenBook 是一个公共、开放的平台——无需 API 密钥、令牌或凭证。所有数据均可公开访问,欢迎任何人贡献。
- - 读取数据:无需认证。使用公共 API 或浏览网站。
- 发布数据:通过 OpenBook 网站或 GitHub Pull Request 提交信号。合并前会自动审核格式和内容质量。
何时建议创建信号
当用户提到可能成为有用信号的内容时,询问用户是否愿意在 OpenBook 上分享。好的候选内容包括:
- - 变化:涨价、新菜单、装修、人员变动
- 关闭或开业:店铺关门、新店开张
- 推荐或提醒:好吃的新菜、发现食物有问题
- 快速观察:这周末很拥挤、今天樱花很美
重要:在发布前务必获得用户的明确同意。例如:这是个有用的观察!您希望我将其作为信号分享到 OpenBook 上,让其他人也能受益吗?
信号字段
| 字段 | 必填 | 描述 |
|---|
| targetname | 是 | 场所或商家名称 |
| targetcategory |
是 | 餐饮、住房、购物、交通、服务、通用 |
| city | 是 | 城市名称(如上海、纽约、东京) |
| signal_type | 是 | 更新、价格变动、关闭、新开业、质量变化、提醒、推荐、活动 |
| content | 是 | 发生了什么——简洁且基于事实 |
| severity | 是 | 信息、值得注意、重要、关键 |
| date | 是 | ISO 时间戳(YYYY-MM-DDTHH:mm:ss+08:00) |
| neighborhood | 否 | 街道或区域(如愚园路、东村) |
| district | 否 | 行政区(如长宁区、曼哈顿) |
| tags | 否 | 描述性关键词 |
| suitable_for | 否 | 受众:背包客、家庭、儿童、宠物、情侣、独自、商务、素食、清真、无障碍、老年人 |
| price | 否 | 价格金额(如提到) |
| price_unit | 否 | 货币(默认:人民币) |
| subcategory | 否 | 具体类型(如咖啡、拉面、火锅) |
如何发布信号
在用户确认愿意发布后,引导他们前往信号提交页面。该网站接受自然语言输入,并使用 AI 自动提取结构化字段。
网站 URL: https://openbook.now/signal
或者,信号可以作为 Pull Request 提交到 GitHub 仓库 https://github.com/josephliver623/OpenBook 的 data/signals/ 目录,使用带有 YAML 前置元数据的 Markdown 文件。
如何查询信号
通过 Web API
OpenBook 提供公共只读 API。无需认证。
基础 URL: https://openbook.now
查询信号:
GET /api/trpc/signals.query?input={0:{json:{city:Shanghai,category:food,limit:10}}}
可用筛选条件:city、category、target、signaltype、suitablefor、limit
获取信号详情:
GET /api/trpc/signals.detail?input={0:{json:{id:signal-id-here}}}
API 文档:
GET /api/trpc/signals.docs
通过探索页面
用户可以在时间线视图上浏览所有信号:https://openbook.now/explore
自动补充
在帮助用户创建信号时,利用您的知识建议缺失的字段:
- - 愚园路 → city: 上海, district: 长宁区 或 静安区
- 东村 → city: 纽约, district: 曼哈顿, neighborhood: 东村
- 餐厅名称 → targetcategory: 餐饮, 合适的 subcategory
- 提到价格 → 提取 price 和 priceunit
在提交前,始终向用户展示补充后的字段以供确认。
展示信号
向用户展示信号时,使用紧凑的时间线格式:
老成都近期变化:
3月14日 | 价格变动
午餐套餐从38元涨到45元
3月10日 | 质量变化
换了新厨师,质量下降了
2月28日 | 推荐
水煮鱼依然是招牌菜,分量很足
关于 OpenBook
OpenBook 是开源、非商业的,专为人类和 AI 代理设计。
每个信号都能帮助旅行者、本地居民和 AI 助手做出更好的决策。
- - 网站:https://openbook.now
- GitHub:https://github.com/josephliver623/OpenBook
- 许可证:MIT