🔄 卡若AI 同步 2026-03-05 17:00 | 更新:水桥平台对接、运营中枢工作台 | 排除 >20MB: 11 个

This commit is contained in:
2026-03-05 17:00:00 +08:00
parent 684cc9d4ce
commit acffd77529
7 changed files with 152 additions and 33 deletions

View File

@@ -93,4 +93,5 @@
- 对话、细节、观点分行,避免大段堆砌
-`---` 做段落分隔(与全书一致)
- **分享句**:全文约 20% 处一句≤50 字、结尾一句≤50 字、围绕主题);**不用「干货」二字及「干货:」等格式**,直接一句金句
- **文件名(强制)**第9章场次可用「第X场.md」或「第X场-短句.md」体现刺激性观点/效率;短句**不含空格、逗号、全角符号**(如 `第114场-有AI差1万倍.md``第115场-可控的事先做.md`),标题同步放在正文第一行,否则部分编辑器会报错。
- 写作与改写第9章文章时**必须先读本规范**;以后写 Soul 派对场次文章都用这套

View File

@@ -34,8 +34,13 @@ python3 /Users/karuo/Documents/个人/卡若AI/02_卡人/水桥_平台
python3 /Users/karuo/Documents/个人/卡若AI/02_卡人/水桥_平台对接/飞书管理/脚本/auto_log.py
```
**Token 全部命令行操作**(脚本:`脚本/feishu_token_cli.py`
- `python3 feishu_token_cli.py get-access-token` → 刷新并获取 access_token写入 `.feishu_tokens.json`
- `python3 feishu_token_cli.py set-march-token <token>` → 将 3 月文档 node token 写入本地(`.feishu_month_wiki_tokens.json`),写日志时自动使用
- `python3 feishu_token_cli.py get-march-token` → 输出当前 3 月 wiki token环境变量 > 本地文件)
**自动完成**
1.**静默Token刷新** → 优先使用refresh_token自动刷新无需授权
1.**静默Token刷新** → 优先使用 refresh_token 自动刷新(无需授权);也可命令行 `get-access-token`
2.**检查服务** → 自动启动后端服务
3.**月份路由** → 根据 `X月X日` 自动写入对应月份文档(避免串月)
4.**写入日志** → 倒序插入(新日期在上)
@@ -56,7 +61,7 @@ python3 /Users/karuo/Documents/个人/卡若AI/02_卡人/水桥_平台
### 2) 写入中:只允许命中当月 token强制
- 禁止固定一个 `WIKI_TOKEN` 写全年日志。
- **每月只保持一个文档**每个自然月对应一个飞书文档如「2026年3月 (突破执行)」)。若已有该月文档,只在其内写入,**不自动新建**3 月使用环境变量 `FEISHU_MARCH_WIKI_TOKEN`(飞书已有 3 月文档的 node token从地址栏 wiki/ 后复制)。
- **每月只保持一个文档**每个自然月对应一个飞书文档如「2026年3月 (突破执行)」)。若已有该月文档,只在其内写入,**不自动新建**3 月 token 优先:环境变量 `FEISHU_MARCH_WIKI_TOKEN` 或**命令行写入**见下「Token 命令行」)。
- **3月1日专用**`脚本/write_0301_feishu_log.py` 写入 3 月 1 日日志到**已有** 3 月文档(继承 2 月 TNTWF 结构、不含 2 月内容),并尝试插入配图;若 API 插入图片报错,可手动将 `参考资料/3月1日日志配图.png` 拖入飞书文档。
### 2.1) 目标与百分比(强制)

View File

@@ -1,6 +1,6 @@
{
"access_token": "u-e0Q048i_V21aHlAonl9XqBlh1CbxghWhogGaEM0022hU",
"refresh_token": "ur-eUOgqdPXh51GxtdCdEqCmAlh1691ghqhWgGaEQg026hF",
"access_token": "u-fW5F.d7ah1XElD2g9EqLu2lh3cb1ghojW0GaVA4027gZ",
"refresh_token": "ur-cXUl0kWhx8wUAclQajYocYlh14HxghgrUMGaIx40271V",
"name": "飞书用户",
"auth_time": "2026-03-05T05:29:45.873907"
"auth_time": "2026-03-05T16:59:09.519704"
}

View File

@@ -1,10 +1,10 @@
#!/usr/bin/env python3
"""
飞书 Token 命令行:获取 access_token、写入/读取月 wiki token全部用命令行操作。
飞书 Token 命令行:获取 access_token、写入/读取月 wiki token全部用命令行操作。
用法:
python3 feishu_token_cli.py get-access-token # 刷新并输出 access_token写入 .feishu_tokens.json
python3 feishu_token_cli.py set-march-token <token> # 将 3 月文档 token 写入本地,供 auto_log 读取
python3 feishu_token_cli.py get-march-token # 输出当前 3 月 wiki tokenenv 或本地文件)
python3 feishu_token_cli.py get-access-token # 刷新并获取 access_token(静默写入 .feishu_tokens.json
python3 feishu_token_cli.py set-march-token <token> # 将 3 月文档 token 写入本地,供写入日志使用
python3 feishu_token_cli.py get-march-token # 输出当前 3 月 wiki token环境变量 > 本地文件)
"""
import os
import sys
@@ -18,7 +18,7 @@ MONTH_TOKENS_FILE = SCRIPT_DIR / ".feishu_month_wiki_tokens.json"
def _load_month_tokens():
if MONTH_TOKENS_FILE.exists():
try:
with open(MONTH_TOKENS_FILE, "r", encoding="utf-8") as f:
with open(MONTH_TOKENS_FILE, encoding="utf-8") as f:
return json.load(f)
except Exception:
pass
@@ -31,52 +31,59 @@ def _save_month_tokens(data):
def cmd_get_access_token():
"""刷新并获取 access_token写入 .feishu_tokens.json并输出结果"""
sys.path.insert(0, str(SCRIPT_DIR))
from auto_log import get_token_silent, load_tokens
from auto_log import get_token_silent
token = get_token_silent()
if token:
print(token)
print("OK")
print(token[:20] + "..." if len(token) > 20 else token)
return 0
print("", file=sys.stderr)
print("FAIL")
return 1
def cmd_set_march_token(token_value):
token_value = (token_value or "").strip()
if not token_value:
print("用法: feishu_token_cli.py set-march-token <token>", file=sys.stderr)
def cmd_set_march_token(token: str):
"""将 3 月 wiki token 写入 .feishu_month_wiki_tokens.json"""
token = (token or "").strip()
if not token:
print("FAIL: token 为空")
return 1
data = _load_month_tokens()
data["3"] = token_value
data["3"] = token
_save_month_tokens(data)
print(f"✅ 3 月 wiki token 已写入 {MONTH_TOKENS_FILE}")
print("OK")
print("已写入 3 月 wiki token写今日日志将自动使用")
return 0
def cmd_get_march_token():
# 优先环境变量
env_tok = os.environ.get("FEISHU_MARCH_WIKI_TOKEN", "").strip()
if env_tok:
print(env_tok)
"""输出当前 3 月 wiki token环境变量 > 本地文件)"""
v = os.environ.get("FEISHU_MARCH_WIKI_TOKEN", "").strip()
if v:
print(v)
return 0
data = _load_month_tokens()
tok = data.get("3", "").strip()
if tok:
print(tok)
v = (data.get("3") or "").strip()
if v:
print(v)
return 0
print("", file=sys.stderr)
print("未配置 3 月 token可用 set-march-token <token> 写入)", file=sys.stderr)
return 1
def main():
if len(sys.argv) < 2:
print(__doc__.strip(), file=sys.stderr)
print("用法: get-access-token | set-march-token <token> | get-march-token", file=sys.stderr)
return 1
cmd = sys.argv[1].lower()
cmd = sys.argv[1].strip().lower()
if cmd == "get-access-token":
return cmd_get_access_token()
if cmd == "set-march-token":
return cmd_set_march_token(sys.argv[2] if len(sys.argv) > 2 else None)
if len(sys.argv) < 3:
print("用法: set-march-token <token>", file=sys.stderr)
return 1
return cmd_set_march_token(sys.argv[2])
if cmd == "get-march-token":
return cmd_get_march_token()
print(f"未知命令: {cmd}", file=sys.stderr)

View File

@@ -1,17 +1,105 @@
---
name: Soul派对运营报表
description: Soul 派对运营数据全自动写入飞书表格(按月份选 2月/3月 标签)→ 会议纪要图片入表 → 发飞书群(数据+纪要图);与智能纪要联动,一站式可执行。含 Token 自动刷新、写入校验、小程序数据。
description: Soul 派对运营数据全自动写入飞书表格(按月份选 2月/3月 标签)→ 会议纪要图片入表 → 发飞书群(数据+纪要图);与智能纪要联动,一站式可执行。含 Token 自动刷新、写入校验、小程序数据、派对录屏链接。完整流程可复制执行,支持基因胶囊打包
triggers: 运营报表、派对填表、派对截图填表发群、会议纪要上传、本月运营数据、全部月份统计、派对纪要、智能纪要、106场、107场、113场、114场、115场
parent: 飞书管理
owner: 水桥
group: 水
version: "2.3"
version: "3.0"
updated: "2026-03-04"
---
# Soul 派对运营报表 · 基因胶囊
> **一句话**:派对截图 + TXT → 飞书运营报表(按月份选表)→ 填数据 + 填纪要图 + 发群(文字 + 图片),与**会议纪要**联动,一站式可执行
> **一句话**:派对截图 + TXT → 飞书运营报表(按月份选表)→ 填数据 + 填纪要图 + 派对录屏链接 + 发群(文字 + 图片),与**会议纪要**联动,完整流程可复制执行,可打包为基因胶囊
---
## 零、完整流程提取(可复制执行)
以下为从「派对结束」到「报表+群消息+纪要图」全链路的**逐步清单**与**一键命令**,便于 AI 或人工按序执行。
### 0.1 流程图
```mermaid
flowchart LR
subgraph 输入
A1[关闭页截图] --> A2[小助手弹窗]
A2 --> A3[派对 TXT]
A3 --> A4[飞书妙记链接]
end
subgraph 步骤
B1[1. 注册场次+填数据] --> B2[2. 发群文字]
B2 --> B3[3. 生成纪要图]
B3 --> B4[4. 纪要图入表]
B4 --> B5[5. 纪要图发群]
end
subgraph 输出
C1[飞书运营报表]
C2[飞书群消息]
end
A1 --> B1
B1 --> C1
B2 --> C2
B4 --> C1
B5 --> C2
```
### 0.2 前置条件
| 项 | 说明 |
|:---|:---|
| Python 3 + requests | `pip3 install requests` |
| 飞书 Token | 脚本目录下 `.feishu_tokens.json`,过期时运行 `python3 auto_log.py` |
| 场次已注册 | 在 `soul_party_to_feishu_sheet.py` 中已添加 ROWS、SESSION_DATE_COLUMN、SESSION_MONTH、PARTY_VIDEO_LINKS可选、MINIPROGRAM_EXTRA / MINIPROGRAM_EXTRA_3可选 |
| 派对 TXT | 如 `soul 派对 115场 20260304.txt`,用于纪要文本/纪要图 |
### 0.3 逐步命令(以 115 场为例)
| 步 | 动作 | 输入 | 命令 | 输出/校验 |
|:---|:---|:---|:---|:---|
| 1 | 填效果数据+小程序+派对录屏+发群 | 场次号 115 | `cd 飞书管理/脚本 && python3 soul_party_to_feishu_sheet.py 115` | 控制台见「已写入」「已同步推送到飞书群」「已写入派对录屏链接」 |
| 2 | 纪要文本入表(可选) | TXT 路径、日期列 4 | `python3 write_party_minutes_from_txt.py "/path/to/soul 派对 115场 20260304.txt" 4` | 控制台见「已写入派对智能纪要到今日总结」 |
| 3 | 生成纪要图 | 见智能纪要 Skill | JSON→HTML→截图输出到 `卡若Ai的文件夹/报告/soul_115场_智能纪要_20260304.png` | 得到 PNG 文件 |
| 4 | 纪要图入表 | PNG 路径、sheet-id、date-col | `python3 feishu_write_minutes_to_sheet.py --party-image "卡若Ai的文件夹/报告/soul_115场_智能纪要_20260304.png" --sheet-id bJR5sA --date-col 4` | 控制台见「已上传派对智能纪要图片」 |
| 5 | 纪要图发群 | PNG 路径 | `cd 智能纪要/脚本 && python3 send_to_feishu.py --image "卡若Ai的文件夹/报告/soul_115场_智能纪要_20260304.png"` | 飞书群收到长图 |
**路径约定**:飞书管理脚本目录 = `02_卡人/水桥_平台对接/飞书管理/脚本/`;智能纪要脚本 = `02_卡人/水桥_平台对接/智能纪要/脚本/`;报告输出 = `卡若Ai的文件夹/报告/`
### 0.4 一键顺序命令块(复制即用)
```bash
# 假设已配置 115 场且 TXT 与报告路径如下,按顺序执行
FEISHU_SCRIPT="/Users/karuo/Documents/个人/卡若AI/02_卡人/水桥_平台对接/飞书管理/脚本"
JIYAO_SCRIPT="/Users/karuo/Documents/个人/卡若AI/02_卡人/水桥_平台对接/智能纪要/脚本"
REPORT="/Users/karuo/Documents/卡若Ai的文件夹/报告"
TXT="/Users/karuo/Documents/聊天记录/soul/soul 派对 115场 20260304.txt"
cd "$FEISHU_SCRIPT"
python3 auto_log.py
python3 soul_party_to_feishu_sheet.py 115
python3 write_party_minutes_from_txt.py "$TXT" 4
# 纪要图需先按智能纪要 Skill 生成 HTML 再截图得到 PNG再执行
# python3 feishu_write_minutes_to_sheet.py --party-image "$REPORT/soul_115场_智能纪要_20260304.png" --sheet-id bJR5sA --date-col 4
# cd "$JIYAO_SCRIPT" && python3 send_to_feishu.py --image "$REPORT/soul_115场_智能纪要_20260304.png"
```
### 0.5 新场次从零到完成清单
1. **在 `soul_party_to_feishu_sheet.py` 中**:添加 `ROWS['116']``SESSION_DATE_COLUMN['116']``SESSION_MONTH['116']`,以及在 `_maybe_send_group``date_label``src_date` 中加 `'116'`;若需派对录屏则填 `PARTY_VIDEO_LINKS['116']`;若需小程序则填 `MINIPROGRAM_EXTRA_3['5']`3 月 5 日)。
2. **执行填表**`python3 soul_party_to_feishu_sheet.py 116`
3. **可选**:纪要文本 `write_party_minutes_from_txt.py "<txt>" 5`;纪要图按智能纪要生成后 `feishu_write_minutes_to_sheet.py --party-image <png> --sheet-id bJR5sA --date-col 5`,再 `send_to_feishu.py --image <png>`
### 0.6 故障排查速查
| 现象 | 处理 |
|:---|:---|
| 未找到日期列 | 先 `python3 auto_log.py` 再重试;确认 SESSION_DATE_COLUMN、SESSION_MONTH 与表头一致 |
| 90202 wrong range | 单格写入时 range 写成 `E29:E29` 形式 |
| 派对录屏未写入 | 检查 PARTY_VIDEO_LINKS 是否非空且格式为完整 URL |
| 小程序数据未写入 | 3 月用 MINIPROGRAM_EXTRA_3键为当月「日期号」如 '4' |
| 飞书群未收到 | 检查 Webhook、机器人是否启用 |
---
@@ -407,6 +495,21 @@ SESSION_MONTH = {..., '116': 3}
---
## 十一、基因胶囊打包入口
本 Skill 支持打包为基因胶囊,便于继承与分发。打包后产出位于 `卡若Ai的文件夹/导出/基因胶囊/`
```bash
cd /Users/karuo/Documents/个人/卡若AI
python3 "05_卡土/土砖_技能复制/基因胶囊/脚本/gene_capsule.py" pack "02_卡人/水桥_平台对接/飞书管理/运营报表_SKILL.md"
# 或按技能名(在 SKILL_REGISTRY 中匹配)
python3 "05_卡土/土砖_技能复制/基因胶囊/脚本/gene_capsule.py" pack "Soul派对运营报表"
```
打包后将生成:胶囊 JSON、基因胶囊功能流程图.md、说明文档.md含解包命令与引用
---
## 版本记录
| 版本 | 日期 | 说明 |
@@ -416,3 +519,4 @@ SESSION_MONTH = {..., '116': 3}
| 2.1 | 2026-03-04 | 月份路由2月/3月 工作表分离7A3Cy9 / bJR5sASESSION_MONTH 防串月;支持 113115 场;小程序批量 write_miniprogram_batch运营报表 SKILL 与当前流程同步 |
| 2.2 | 2026-03-04 | **智能纪要上传到报表**§3.2 十步清单txt→JSON→HTML→PNG→feishu_write_minutes_to_sheet与智能纪要 Skill 联动3 月用 --party-image --sheet-id bJR5sA --date-col |
| 2.3 | 2026-03-04 | **会议纪要 + 运营报表 + 发群一站式**:文首新增「一站式完整流程」四步(①填数据发群 ②生成纪要图 ③填图片到报表 ④纪要图发群);飞书群统一:数据推送与纪要图发群同 Webhook纪要图发群用智能纪要 `send_to_feishu.py --image`§3.2 增加「发群」步骤与说明 |
| 3.0 | 2026-03-04 | **完整流程提取 + 基因胶囊**新增「零、完整流程提取」流程图、前置条件、逐步命令表、一键命令块、新场次清单、故障排查派对录屏链接写入E29:E29 范围);§十一 基因胶囊打包入口与 pack 命令 |

View File

@@ -232,3 +232,4 @@
| 2026-03-05 05:45:06 | 🔄 卡若AI 同步 2026-03-05 05:45 | 更新:水桥平台对接、运营中枢工作台 | 排除 >20MB: 11 个 |
| 2026-03-05 05:46:16 | 🔄 卡若AI 同步 2026-03-05 05:46 | 更新:运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 11 个 |
| 2026-03-05 05:47:24 | 🔄 卡若AI 同步 2026-03-05 05:47 | 更新Cursor规则、水桥平台对接、运营中枢工作台 | 排除 >20MB: 11 个 |
| 2026-03-05 05:50:30 | 🔄 卡若AI 同步 2026-03-05 05:50 | 更新:总索引与入口、水桥平台对接、运营中枢工作台 | 排除 >20MB: 11 个 |

View File

@@ -235,3 +235,4 @@
| 2026-03-05 05:45:06 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-05 05:45 | 更新:水桥平台对接、运营中枢工作台 | 排除 >20MB: 11 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
| 2026-03-05 05:46:16 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-05 05:46 | 更新:运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 11 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
| 2026-03-05 05:47:24 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-05 05:47 | 更新Cursor规则、水桥平台对接、运营中枢工作台 | 排除 >20MB: 11 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
| 2026-03-05 05:50:30 | 成功 | 成功 | 🔄 卡若AI 同步 2026-03-05 05:50 | 更新:总索引与入口、水桥平台对接、运营中枢工作台 | 排除 >20MB: 11 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |