huanxi 插件的技能内容从 v1 全面替换为 v2(huanxi-org/huanxi-weekly 等 v1 专属技能下线,新增 huanxi-issue/huanxi-lookup/huanxi-meeting),MCP 连接与 Token 获取方式同步更新为个人中心自助生成。 新增独立的 huanxi-admin 插件(管理端 4 个技能,hxa_ Token,普通员工无需 安装),此前一直卡在"v2 未部署到生产域名前不推送"这条约束,今晚寰汐 v1.0.0 生产切换完成后条件满足。 产物由 huanxi-menagement 仓库 skills/sync_marketplace.py 生成,技能源码 单一真相在该仓库的 skills/,本仓库只接收产物、不手工编辑。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018xxRKMuiGR4wYT3QbwCpDc
3.0 KiB
3.0 KiB
name, description
| name | description |
|---|---|
| huanxi-report | 寰汐员工日报:查看今日状态、填写并提交日报、撤回修改。当用户说「帮我写日报」「填日报」「提交日报」「今天要报什么」时使用。 |
寰汐员工日报
前置:先读 huanxi-shared(缓存策略、状态模型、确认约定)。
标准流程
Step 1 report_get_context(date?)
↓ 一次拿全:是否工作日、是否免报、整体状态、按模块分组的待汇报条目
↓ 非工作日 → 告知并询问是否仍要填(不中断)
↓ 整体状态已是 submitted → 转「修改已提交内容」分支
↓ (submitted 只代表提交过至少一条,不代表当天候选任务都处理完了——
↓ draft_count 可能仍大于 0,展示时提醒用户还有几条没写)
↓ 免报日 → 告知无需提交,询问是否仍要记录
Step 2 展示待汇报任务,引导用户逐条说今天做了什么
↓ 每条记住 task_id(后续提交要用)
↓ 用户说不清的任务,可用 task_get 补上下文,不要替他编
Step 3 (可选)润色
↓ 你自己润色即可,**不要找工具**——你就是那个语言模型
↓ 展示润色前后,让用户选
Step 4 report_save_draft(items=[...])
↓ 存草稿,此时还没提交
↓ 今天不报某条 → 该项加 dismissed=true;恢复 → restore=true
Step 5 ⏸ 展示完整初稿,等待用户明确确认
Step 6 report_submit(task_ids=[...])
↓ 只提交确认过的那些;不传 task_ids 则提交全部草稿
Step 5 不可省略。 写日报和交日报是两个决定,用户可能只想先存着。
修改已提交内容
report_withdraw(task_ids=[...]) → 变回草稿
↓ 修改
report_save_draft(...)
↓ ⏸ 确认
report_submit(task_ids=[...])
仅当天可撤回。 隔天的日报已进入统计口径,撤回会被拒绝——这时应告诉用户去找管理员, 而不是反复重试。
查历史
report_history(scope="module", module_id=...) 某模块某天全体成员报了什么
report_history(scope="task", task_id=..., date_from=..., date_to=...)
某个任务被谁在哪天报过什么
几条容易踩的
- 条目用
task_id定位,不是条目自身的 id。report_get_context返回里的task_id就是后续 save/submit/withdraw 都要传的那个。 - 空内容不能提交:服务端会拒。要么写点内容,要么标
dismissed。 - 模块杂记(
is_module_misc)承载零散工作,可以报也可以不报,但它不计入 「未提交」统计——用户只写了杂记不算完成当天汇报,提醒他还有别的任务没写。 progress_update是任务进度(0-100),不是完成度描述。填了它会真的改任务进度。- 免报日(
is_exempt)不产生未提交统计,也不必催。