caoqianming
bb9e92bb84
让 <task_dir> 真正落地: 产物收敛到 workspace/tasks/<id>/
...
之前 SKILL.md 反复说 <task_dir>/spec_lock.md / <task_dir>/sections/,但代码里没把
task_dir 暴露给 agent,只给了 cwd——导致 spec_lock.md 落到 skills/proposal/、
sections/ 落到 repo 根。两者被 .gitignore 通配规则盖住,问题被掩盖。
- main.py system prompt 里显式注入 task_dir 绝对路径 + 强约束(只写 task_dir,不写
cwd / skills/ / repo 根)。SKILL 里的 <task_dir> 占位符明确指向这个值。
- skills/proposal/SKILL.md + skills/ppt/SKILL.md 的「工作目录约定」前面加一句解释
<task_dir> 来自 system prompt。
- .gitignore 删掉 sections/ slides/ spec_lock.md 这三条无锚 bandaid——workspace/
已经覆盖正确路径下的产物;repo 根再写错了要靠 git status 立刻报红,不再靠 ignore
兜底。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 14:18:35 +08:00
caoqianming
61ff98bb79
loop: thinking spinner 显示耗时 + 累计 token,每轮回打成本一行
...
spinner 文本由后台 daemon 线程每 100ms 用 status.update() 刷新,显示
'thinking... 1.3s ctx 12,345 tok'。每轮 LLM 返回后追加一行 dim
'[in N out N t Xs]',留痕便于回看本轮成本。全 ASCII。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 14:05:44 +08:00
caoqianming
8995a898ba
proposal/render_docx: 加目录 + 内联 md 解析 + 列表分行
...
修复实测三个问题:
1. 加目录页 (Word TOC 域 + 改用 builtin Heading 1/2/3 样式才能被索引)
2. 内联解析 **加粗** / *斜体* / `等宽`,不再以字面量进入正文与表格
3. [N] 引文 / 1./2. / 一、 / (一) 等列表项各自独立成段,
不再被散文合并器吃掉换行
顺带:
- 直接修改 Normal/Heading style 的 rFonts 让样式继承字体
- 标题 Heading 1/2 强制黑体, 字色覆盖 builtin 蓝色
- 表格 cells 也走内联解析, 解决单元格 ** 残留
2026-05-07 13:41:47 +08:00
caoqianming
80f9934f8f
loop: 用 rich.Markdown 渲染 assistant 输出
...
之前 console.print(f"...{content}") 只解析 [tag] 标签,不识别 **bold**、表格、列表
等 markdown 语法,LLM 回复会以原文显示。改成单独打印前缀后再 console.print(Markdown(content))。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 11:19:46 +08:00
caoqianming
950aa5aadc
添加忽略文件
2026-05-07 11:06:28 +08:00
caoqianming
2b1e2143f1
proposal skill v2: 6 类基金分型 + 3 套章节模板 + 渐进披露
...
参考重大专项任务书 / NSFC 联合基金 2026 / 重点研发"区块链"申报书
3 份真实 docx,从 80 行 SKILL.md 拆成 13 文件 (~2.6k 行):
- references/{fund_types,section_templates,review_redlines,citation_gbt7714,budget_rules,typography}.md
- templates/{key_rd,major_project,nsfc_joint_fund}.md
- scripts/{render_docx,word_count,quality_check}.py
核心补强:任务书/申报书/申请书结构差异、字数预算硬约束、考核指标
量化要求、间接费用台阶比例、GB/T 7714 文献规范、字体行距等排版硬规则。
2026-05-07 08:50:19 +08:00
caoqianming
a25fcbc703
精简 DESIGN/PROGRESS:对齐当前实现,去掉落地前的设想
...
- DESIGN.md 1140 → 212 行:删 v1/v2 比较、Eval Suite 章节、Phase
roadmap、长代码草图、技术栈清单(在 requirements.txt)、超长附录
- PROGRESS.md 185 → 82 行:删超细分的 ppt v3 描述、重复测试列表
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 16:26:19 +08:00
caoqianming
dbb778fe10
Phase 4 + 6: capability probe + task 概念 / state.json
...
- core/probe.py + cli.py probe: basic_chat / parallel_tools /
thinking_mode / long_context 四项实测对账 yaml;不进启动路径
- core/task.py + main.py: workspace/tasks/<id>/{state.json, messages.json},
TaskState 跟 mode/desc/status/tokens/timestamps;build_agent 返 5 元组
- cli.py tasks 子命令 + REPL /status /done /abandon /desc;chat 加
--mode/--desc 选项;移除 legacy workspace/sessions/ 兼容
Phase 5 evals 评估后决定不做:个人工具用 dogfooding 判断模型升级,
probe 已覆盖健康检查;造作 case 没区分度,维护成本不划算。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 16:21:17 +08:00
caoqianming
235d43bc1d
入库商务红 tabler 图标种子集 (9 PNG + 4 SVG)
...
种子集覆盖商务汇报常用概念: target / brain / chart-bar / users / trophy /
alert-triangle / cpu / building-factory / cloud-network / database。
所有文件按 <set>_<name>_<colorhex>[_<sizepx>] 规约命名 (4 个原裸名 SVG 已规整)。
累计 < 40KB, 协作者克隆即用, 离线/CDN 异常时仍可用; 新场景再 fetch_icon.py 拉。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 13:19:43 +08:00
caoqianming
38fbee9d9e
修三处 v3 遗留: Iconify 不触发 / mkdir -p 误创目录 / 平台无知
...
- skills/ppt/SKILL.md: 八条对齐第 7 项默认值从 "MSO_SHAPE 几何形状 (无外部图片资源)"
改成 "Iconify tabler 集 (描边商务图标, 主色染色, fetch_icon.py 缓存到 assets/icons/)"。
阶段二每页流程加一步"图标先于版式": 先 glob 本地, 没就 fetch, 再做页。
根因: v3 砍了 icons.md 里 MSO_SHAPE 当业务图标的部分, 但 SKILL.md 默认值没同步,
模型把它写进 spec_lock 后阶段二永远不会触发 Iconify 拉取
- tools/shell.py: Windows 下拦截 `mkdir -p X [Y...]`, 走 os.makedirs(exist_ok=True)。
根因: cmd.exe 的 mkdir 不识别 -p flag, 把 -p 当字面目录名创建
- prompts/system/general_v1.md: 加 "## 平台" 段, 提醒 Windows + cmd 环境下用
run_python os.makedirs 而非 shell mkdir -p。行为前置防御 + shell.py 工具层后置兜底
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 13:12:17 +08:00
caoqianming
0971a500e7
PPT skill v3: 红色硬约束 + 品牌条 + 强制尾页 + Iconify 图标库
...
修复上一轮生成的实际问题: 模型擅自把红色换成蓝色 / 内页全裸白 / 缺 Q&A 尾页;
并补齐"个性化图标"能力 (此前只有 MSO_SHAPE + unicode 字形,业务概念图标缺位)。
- SKILL.md: 红色主题改硬约束 + ⛔ BLOCKING 八条对齐 (bundled 推荐, 等用户拍板),
封面/尾页改强制项, 不算在 5-8 页正文预算内
- layouts.md: 加 apply_brand(slide, kind) 4 模式品牌条 (cover/inner/section/end),
9 个版式起手必调, 消灭裸白页
- 图标库: 新增 fetch_icon.py 走 Iconify CDN (tabler/lucide/heroicons 等 150+ 集),
主题色染色, 缓存到 assets/icons/, 配 INDEX.md 推荐清单
- icons.md: 移除 MSO_SHAPE 当业务图标的部分 (PENTAGON/LIGHTNING_BOLT 等视觉陈旧),
三层降级 → 两层 (Iconify / unicode 兜底); MSO_SHAPE 退为 layouts.md helper 内部原语
- canvas_presets.md 并入 design_principles.md §0 (减少零碎文件)
- .gitignore: spec_lock.md 与根目录 *.pptx 不入库 (PPT skill 工作产物)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 12:23:06 +08:00
caoqianming
3a66849953
Initial import: zcbot personal task agent
...
DESIGN.md / PROGRESS.md 落地 Phase 1-3:
- core/: LiteLLM 封装 + ReAct loop + 会话持久化 + Anthropic skill registry
- tools/: read/write/edit/glob/grep/shell/run_python/load_skill (Hybrid 范式)
- skills/coding | proposal: WHY+WHAT 风格 SKILL.md
- skills/ppt: 完整渐进披露 (SKILL + 4 references + 3 scripts)
· 借鉴 hugohe3/ppt-master 的两阶段 + spec lock 思路
· MSO_SHAPE 图标体系 + 安全区 + 越界检测
· 默认商务红主题 (#C00000 / #E15554 / #FFC107)
- config/models/: DeepSeek V4 flash/pro 档案
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 11:02:59 +08:00