Packages 包City CLI
Models 与 Tables
用 downcity 查看 models、schema、表数据,以及它和 City 数据层的关系。
CLI 最常被用来做两件事:
- 看模型
- 看表
为什么 models 是第一排查入口
很多“AI 调不通”的问题,最后并不是 provider 本身坏了,而是模型配置层出问题:
- model 有没有注册进去
- 默认模型是不是你以为的那个
- 数据库里的模型记录是否正确
这时先开 CLI 通常比写临时脚本更快。
为什么 tables 同样关键
当你排查这些能力时,最后往往都会落到表:
townsenv- usage 事件表
- accounts 相关表
- entitlement / webhook 相关表
也就是说,Downcity 很多问题最终都可以归结成一句话:
数据事实到底是什么?
最常见的模型相关入口
city
town city login
town city status适合:
- 查看 City AIService 暴露出的模型
- 选择 City base 并通过 Town 登录
- 在启动本机 Agent 前确认 City 连接设置可用
最常见的表排查场景
场景一:service 是否真的写了表
例如你接了:
@downcity/services@downcity/services@downcity/services
这时你最关心的往往不是“文档里说会写”,而是“我的这个 City 里现在到底有没有这些表和数据”。
CLI 正适合先肉眼确认。
场景二:usage / payment / auth 为什么看起来没生效
先看表再猜逻辑,通常比只看 HTTP 报错更高效。
你会更快判断问题是在:
- 调用没有进来
- service 没启用
- 表没有创建
- 数据写入失败
一个常见工作流
city
# or start a local agent
town agent start .
town city status然后在交互式面板里继续看:
- tables
- schema
- rows
这个工作流适合第一次接 City 或第一次接 service 后的确认。
它和 City 数据层的关系
CLI 本身不替你定义数据模型,它只是把 City 运行时里已经存在的数据层摊开给你看。
这也是为什么这页要和 Store 与 Table 一起理解:
@downcity/city负责受控数据层downcity负责人工查看和排查入口
常见误解
看表不是“低级排查”
在 City、service、usage、payment 这类场景里,看表往往是最快定位事实的方式。
CLI 不是数据库 IDE 替代品
它更像 City 专用运维入口,而不是通用数据库管理器。
只看模型不够
模型、service 表、usage 事件、env 都可能共同影响一个产品请求,所以很多时候需要把 models 和 tables 一起看。
继续阅读
- 想知道 CLI 在运维里怎么用,读 运维与排查
- 想理解这些表的来源,读 Store 与 Table