with one click
project-item-record-assistant
// 项目事项记录助手。用于把项目经理的语音或文本记录解析成一条结构化事项草稿,先确认/修改,再追加写入金山文档《项目推进与留痕台账》的"事项总表";严格禁止未确认写入、覆盖历史数据或操作其他 sheet。
// 项目事项记录助手。用于把项目经理的语音或文本记录解析成一条结构化事项草稿,先确认/修改,再追加写入金山文档《项目推进与留痕台账》的"事项总表";严格禁止未确认写入、覆盖历史数据或操作其他 sheet。
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | project-item-record-assistant |
| description | 项目事项记录助手。用于把项目经理的语音或文本记录解析成一条结构化事项草稿,先确认/修改,再追加写入金山文档《项目推进与留痕台账》的"事项总表";严格禁止未确认写入、覆盖历史数据或操作其他 sheet。 |
/Users/corazon/Library/Application Support/QClaw/npm-global/lib/node_modules/mcporter/dist/cli.js
不是 npm-global/bin/mcporter(那是软链接)。
版本:0.9.0,用 node /path/to/cli.js --version 确认。
node /path/to/cli.js call kdocs-qclaw sheet.update_range_data \
--args '{"file_id":"xxx","sheetId":2,"rangeData":[[...]],"rowFrom":N,"rowTo":N,"columnFrom":0,"columnTo":14,"opType":"formula"}'
file_id=xxx 会报 tool not found 或 400 错误--args 包裹 JSONsheet.update_range_data 写入实际值sheet.update_range_data 原设计是 formula/format/merge/picture,但 可以写入实际值opType: "formula"(不是 insert/update/set)[[val1, val2, ...]] 作为 rangeData,不要逐格传field-rules.md 说"默认第 2 行是字段表头",错误。实际:
skill 的 CLI(main.py)只有 parse_item / update_draft / confirm_add / cancel_draft,没有 write 子命令。直接用 confirm_add 写入。
长时间运行的进程(如读取整个 sheet)会被 SIGTERM 终止。分批写入(BATCH_SIZE=3)或设置更短超时。
自然语言解析置信度低时,草稿里 project_name 填"待确认",等用户补充即可,不要自行编造。
把项目进展、问题、沟通内容或待办事项整理成一条结构化事项,先生成草稿给用户确认;只有用户明确确认后,才追加写入金山文档《项目推进与留痕台账》的 事项总表。
项目推进与留痕台账https://www.kdocs.cn/l/crcZHpAS41uj事项总表Asia/Shanghai 或 Asia/Taipeiparse_item(text):把用户输入解析为【事项草稿】,不得写入金山文档。update_draft(draft_id, changes):按用户修改意见更新草稿,再次展示草稿;不得写入。confirm_add(draft_id)。confirm_add(draft_id) 写入前必须校验表头、读取已有编号、生成新编号,并只向 事项总表 追加一行。cancel_draft(draft_id):用户说"取消、不要写了、先不记录、算了"时丢弃草稿。sheet.* API 使用 0-based rowFrom/colFrom。header_row 配置覆盖。sheetType=et,使用 sheet.get_range_data / sheet.update_range_data;不要用多维表格 dbsheet.* 写入。mcporter 的 kdocs-qclaw 配置中,不写入 data/config.json。事项总表 以外的 sheet。草稿输出必须包含:
是否确认写入金山文档《项目推进与留痕台账》的"事项总表"?写入成功后只返回:
已写入事项总表:
编号:SX-xxxx
行号:第 x 行
项目名称:
事项描述:
下一步动作:
写入失败时不得自动重试追加;返回错误原因,并输出字段顺序严格一致的 tab 分隔备用行。
scripts/main.py:CLI 入口,提供 parse_item、update_draft、confirm_add、cancel_draft。scripts/parser.py:自然语言解析、置信度、草稿渲染、修改草稿。scripts/kdocs_client.py:金山文档表头校验、编号生成、追加写入封装。scripts/state_store.py:草稿状态与防重复写入。python3 /Volumes/a盘/project/personal-skills/project-item-record-assistant/scripts/main.py parse_item \
--text "镇海数字治气二期,排污许可原型业主说这周五要先看一版,开发现在在做案卷评查,可能只能先出低保真,明天我要确认一下页面范围。" \
--today 2026-04-27
python3 /Volumes/a盘/project/personal-skills/project-item-record-assistant/scripts/main.py update_draft \
--draft-id draft_20260427_xxxx \
--changes "截止时间改成 4 月 30 日,留痕位置填项目群 4/27 16:30。"
python3 /Volumes/a盘/project/personal-skills/project-item-record-assistant/scripts/main.py confirm_add \
--draft-id draft_20260427_xxxx \
--backend mcporter
不要用 相对路径 personal-skills/...,要用完整路径。
详细字段、分类、状态、责任方、日期、留痕和异常处理规则见 references/field-rules.md。处理草稿或写入前,优先遵守该文件。