Some history from WeChat
Demo http://r.tiye.me/b-conf/hestory .
从微信扒数据, 然后按照 data/ 当中的格式保存, 再源码里进行索引.
默认让 Chrome 合成语音.
?api-get=xunfei 激活讯飞语音模式. 不过免费 API 数量有限, 需要手动配置自己的 app key:
申请地址 https://console.xfyun.cn/services/tts
localStorage.setItem(
"xunfei-secrets",
JSON.stringify({
id: "<TODO>",
secret: "<TODO>",
key: "<TODO>",
})
);?api-get=audio&audio-host=<地址> 切换到本地提供的语音服务,
参考 https://github.com/worktools/to-speech-google .
运行项目具体参考: https://github.com/calcit-lang/respo-calcit-workflow
使用 Calcit/procs 0.29.0、Caps 0.1.1、Node.js 24 与 Yarn 4.18.0。源码仅维护 calcit.cirru / deps.cirru,不恢复 compact.cirru / package.cirru;CI 禁止两个旧文件回流。
To develop:
caps --strict --ci
yarn install --immutable
caps verify --toolchain
calcit --check-only --all-defs
yarn dev
To build:
VITE_BASE_URL=https://cos-sh.tiye.me/b-conf/hestory/ yarn build
node --test test/runtime.test.mjs
dev 先生成初始 JS,再启动 Vite;修改 Calcit 时在另一终端运行 yarn watch,无需进程管理依赖。build 包含一次编译。未设置 VITE_BASE_URL 时保持相对资源路径,每次 PR 上传按 PR/run/attempt 隔离。上传及公开访问验证仅使用 COS Action v1.2.0 内置 verify 配置,不添加独立 CDN 校验脚本。生产部署排队执行,上传前检查仍为当前 main,过期构建跳过 COS 和原服务器同步。CI 检查所有定义、禁止 deprecated 调用并运行原有真实业务测试;退休旧的 analyze quality 数量基线,不新增校验脚本。原语音模式、存储键、共享字体和服务器部署路径不变。
Markdown 使用包含行内代码修复的正式 0.4.48,不再固定未发布提交。其余 Calcit 模块也使用正式版本。业务数据采用 Message、Story、Store、Op 与 typed Reel;历史 Cirru/TOML Map 仅在加载入口规范化和解码,Respo 通用 UI 状态保留开放边界。运行测试使用真实编译组件及 SDK 导入,浏览器 Worker/DOM/语音宿主使用 fixture,不会请求付费 TTS,也不代表现场语音服务验收。
data/目录存放整理出来的消息数据.main.js是 Vite 的 JS 代码入口,业务代码保存在calcit.cirru中.calcit.cirru是项目唯一的 Calcit 源码快照;请使用 Calcit CLI 或编辑器进行结构化修改,不要直接手改生成内容.calcit.cirru编译生成的文件会在js-out/里边.
其他配置还有资源目录, 应该接近平常的 js 项目了.
MIT