本目录是 fmode 云函数源码。前端通过 src/app/services/cloud-functions.ts 里的函数 ID 调用这些函数。
| 字段 | 文件 | 状态 | 主要 action / 能力 |
|---|---|---|---|
manifest |
01-manifestManager.js |
已配置 | list / get / create / update / delete |
task |
02-taskManager.js |
已配置 | list / get / create / update / delete |
history |
03-historyManager.js |
已配置 | list / create / delete / clearAll |
result |
04-resultManager.js |
已配置 | list / get / create / update / delete |
remix |
05-remixManager.js |
已配置 | listAll / listByVideo / upsert / delete |
voice |
06-voiceManager.js |
已配置 | autoSpeakerId / syncProfile / listProfiles / initPool / deleteProfile |
quickly |
07-quicklyVideo.js |
待部署 | create / query |
proxy |
08-proxyHub.js |
已配置 | llmChat / geminiChat / llmChatStream |
upload |
09-uploadManager.js |
已配置 | createUploadToken |
authCredit |
10-authCreditManager.js |
待部署/暂未启用 | register / login / me / reserve / commit / refund / ledger |
jimeng |
11-jimengManager.js |
已配置 | 即梦图片、视频、数字人、动作迁移代理 |
douyin |
12-douyinManager.js |
已配置 | TikHub 抖音搜索、详情、评论、博主数据代理 |
douyinInsight |
13-douyinInsightManager.js |
已配置 | 爆款分析、选题池、日报资产持久化、逐字稿任务 |
.js 文件完整内容。src/app/services/cloud-functions.ts 对应字段。npm run smoke:cloud 验证已配置函数是否可调用。npm run build 验证前端编译。| 函数 | 必需凭证/配置 | 说明 |
|---|---|---|
06-voiceManager.js |
VOICE_TOKEN, VOICE_TTS_BASE_URL |
火山 TTS/音色训练代理;listProfiles 不需要调用上游。 |
07-quicklyVideo.js |
QUICKLY_APP_KEY, QUICKLY_APP_SECRET, QUICKLY_ACCOUNT_ID, QUICKLY_CALLBACK_URL, QUICKLY_RELAY_URL, QUICKLY_UPSTREAM_FN_ID |
一键成片。如不用该功能可保持 quickly 为空。 |
08-proxyHub.js |
LLM_BASE_URL, LLM_API_KEY |
LLM/Gemini 代理。 |
09-uploadManager.js |
QINIU_AK, QINIU_SK, QINIU_BUCKET, QINIU_CDN_DOMAIN, QINIU_CDN_PREFIX, QINIU_UPLOAD_URL |
七牛直传 token。 |
10-authCreditManager.js |
Parse session 可用即可;无第三方密钥 | 账号、积分、充值框架。商业化恢复前再启用。 |
11-jimengManager.js |
JIMENG_TOKEN, JIMENG_BASE_URL, PARSE_BASE_URL, PARSE_APP_ID |
即梦真实生成代理。为保留公司计费,线上 JIMENG_BASE_URL 应指向 https://server.fmode.cn/api/volcengine/jimeng;云函数会依次尝试 fetch、Node HTTPS、XMLHttpRequest 访问同一公司接口。 |
12-douyinManager.js |
DOUYIN_API_BASE_URL, DOUYIN_API_TOKEN(可复用 VOC_TOKEN / VOICE_TOKEN) |
抖音真实平台数据抓取。默认走 https://server.fmode.cn/api/voc-social。 |
13-douyinInsightManager.js |
PARSE_API_HOST, PARSE_APP_ID, DOUYIN_API_BASE_URL, DOUYIN_API_TOKEN, VOC_TOKEN(或 TRANSCRIPTION_VOC_TOKEN / VOICE_TOKEN), IFLYTEK_GATEWAY_BASE_URL |
业务资产持久化和用户隔离;逐字稿任务会通过抖音数据网关获取视频详情并调用讯飞网关转写。 |
以上变量均已在云函数源码中改为“环境变量优先、当前兼容值兜底”。正式部署时应在 fmode 云函数平台配置环境变量,并在确认新变量生效后轮换旧凭证。
见 src/app/services/cloud-functions.ts。当前仍为空的字段:
quickly: 一键成片云函数未启用。authCredit: 账号/积分云函数未启用;试运营阶段积分扣费仍关闭。npm run smoke:cloud
npm run build
smoke:cloud 会跳过函数 ID 为空的项目;对于 jimeng、douyin、proxy 会用预期失败请求验证函数可达和路由校验是否生效,避免触发真实生成或真实扣费。
2026-06-01 联网冒烟结果:
manifest.list、task.list、history.list、result.list、remix.listAll、voice.listProfiles、upload.token.probe、jimeng.unknownAction、douyin.unknownRoute、douyinInsight.authGuard、proxy.unknownAction。douyinInsight.listTopics 未带 session token 时返回“请先登录”。manifest.list、task.list 偶发 fetch failed,复跑通过;后续生产运维需要继续观察函数平台网络稳定性。quickly、authCredit。voiceManager 需要初始化 speaker_id 池:
await fetch('https://server.fmode.cn/api/functions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Parse-Application-Id': 'ncloudmaster',
},
body: JSON.stringify({
id: 'voice 函数 ID',
_ApplicationId: 'ncloudmaster',
action: 'initPool',
speakerIds: ['S_xxx', 'S_yyy'],
}),
});
cloud-functions.ts 不允许留错函数 ID。npm run smoke:cloud 通过。npm run build 通过。本项目已经新增根目录 .env.example 作为本地开发配置模板。后续本地联调请复制为 .env 后填写真实值,.env 已被 .gitignore 忽略,禁止提交真实凭证。
云函数部署时必须在 fmode 云函数平台配置环境变量。代码中后续会逐步移除真实 token/key fallback,因此不要依赖源码里的兼容兜底值。
| 能力 | 变量 | 用途 |
|---|---|---|
| 即梦生成 | JIMENG_TOKEN, JIMENG_BASE_URL |
文生视频、图生视频、图片生成、数字人、动作迁移。为保留公司计费,生产建议使用 https://server.fmode.cn/api/volcengine/jimeng。 |
| 抖音数据 | DOUYIN_API_BASE_URL, DOUYIN_API_TOKEN, VOC_TOKEN, VOC_SOCIAL_TOKEN |
视频详情、评论、博主作品、爆款分析证据抓取 |
| TikHub 直连 | TIKHUB_BASE_URL, TIKHUB_TOKEN |
仅在明确直连 TikHub 时使用 |
| 逐字稿 | IFLYTEK_GATEWAY_BASE_URL, TRANSCRIPTION_VOC_TOKEN, VOICE_TOKEN, OPENCLAW_VOC_TOKEN |
爆款分析补逐字稿、音频转写 |
| LLM/Gemini | LLM_BASE_URL, LLM_API_KEY |
AI 助手、脚本生成、素材理解 |
| 七牛上传 | QINIU_AK, QINIU_SK, QINIU_BUCKET, QINIU_DOMAIN, QINIU_CDN_DOMAIN, QINIU_CDN_PREFIX, QINIU_UPLOAD_URL |
上传 token 和素材归档 |
| 语音合成 | VOLC_TTS_TOKEN, VOLC_SPEECH_API_KEY, VOLC_SPEECH_APP_KEY, VOLC_SPEECH_ACCESS_KEY, VOICE_TTS_BASE_URL |
TTS、音色训练、语音合成 |
| Quickly | QUICKLY_APP_KEY, QUICKLY_APP_SECRET, QUICKLY_ACCOUNT_ID, QUICKLY_CALLBACK_URL, QUICKLY_RELAY_URL, QUICKLY_UPSTREAM_FN_ID |
一键成片 |
diagnose 类接口只能返回 tokenConfigured、tokenSource、baseUrl,不能返回明文 token。