codebee 0.1.84 → 0.1.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +7 -5
- package/app/core/dispatch.py +1 -0
- package/app/core/flows.py +6 -0
- package/app/core/pipeline.py +15 -5
- package/app/ui/app.js +2 -2
- package/app/ui/i18n.js +9 -2
- package/app/ui/index.html +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,16 @@ README 元数据带回,供老版本在「发现新版本」时展示新版更
|
|
|
6
6
|
|
|
7
7
|
## 未发布
|
|
8
8
|
|
|
9
|
+
## v0.1.86(2026-10-05)
|
|
10
|
+
|
|
11
|
+
- **代码评审可深读文件核对上下文**:评审员此前被要求「只基于变更内容评审」,与评审步只读沙箱(可读不可写)的能力正面相抵,等于半盲评——现明确 diff 为主要依据,环境允许时只读打开涉及文件及周边代码核对上下文,读不了文件的环境回退 diff。无人值守任务的评审误报漏报更少。
|
|
12
|
+
- **评审新增「半成品收工提醒」**:要求评审员检查变更是否引入 TODO/FIXME/占位实现/未接线的函数或配置,发现按半成品如实降档。纯提示词指引,不改变通过判定。
|
|
13
|
+
|
|
14
|
+
## v0.1.85(2026-10-05)
|
|
15
|
+
|
|
16
|
+
- **新增「演示文稿」任务类型(第 18 种)**:逐页大纲 + 讲稿(Markdown,如实声明不生成 PPT 二进制),专属「演示设计顾问」交付契约与结构逻辑/内容密度/视觉呈现/演讲适配四评审维度;此前用「文档」类型将就的演示场景有了正名入口(评审稿候选经批3 巡检实证落地)。
|
|
17
|
+
- **帮助页插件市场文案去数字化**:「600+ 技能」静态下限随六源上游浮动必然过期,改为「技能一键安装」——来源描述保留,数字不再写死。
|
|
18
|
+
|
|
9
19
|
## v0.1.84(2026-10-05)
|
|
10
20
|
|
|
11
21
|
- **代码评审新增「越范围变更提醒」**:计划锚定了涉及文件的任务,实现轮若动了清单之外的文件,评审员会被点名提醒核对(连带改动属正常、凭空多改要点出)——无人值守任务更难悄悄跑偏。纯提示词指引,不改变通过判定;旧计划/手动任务未锚定文件时不生效。
|
package/README.md
CHANGED
|
@@ -33,9 +33,10 @@ Trae Agent、OpenClaw……),提供
|
|
|
33
33
|
---
|
|
34
34
|
|
|
35
35
|
<!-- relnotes:start -->
|
|
36
|
-
### 最新版更新内容(v0.1.
|
|
36
|
+
### 最新版更新内容(v0.1.86)
|
|
37
37
|
|
|
38
|
-
-
|
|
38
|
+
- 代码评审可深读文件核对上下文:diff 为主要依据,环境允许时只读打开涉及文件及周边代码核对(读不了回退 diff),半盲评的误报漏报更少
|
|
39
|
+
- 评审新增「半成品收工提醒」:TODO/FIXME/占位实现/未接线的函数或配置,发现按半成品如实降档
|
|
39
40
|
<!-- relnotes:end -->
|
|
40
41
|
|
|
41
42
|
|
|
@@ -131,8 +132,8 @@ OpenCode / Continue / Cursor / Trae 十种工具的配置,一次带入全部
|
|
|
131
132
|
|
|
132
133
|
### 更多内置能力
|
|
133
134
|
|
|
134
|
-
- **
|
|
135
|
-
|
|
135
|
+
- **18 种任务类型**:直接执行、代码、小说、连载小说、自媒体文章、短视频脚本、
|
|
136
|
+
文档、翻译、扫榜选材、缺陷复盘、调研报告、演讲稿、演示文稿、工作汇报、商务邮件、技术方案、简历、标书编制;
|
|
136
137
|
全部支持自定义流程(引擎 / 评审维度 / 阈值 / 轮数 / 提示词覆盖);
|
|
137
138
|
- **质量闸门与裁决**:评审失败≠0 分照过、降级大纲不开写、超时但已落盘的稿件照常
|
|
138
139
|
送评审;需要人拍板的事项进「待裁决」队列(徽章 + 提示音),`tools/bee.py`
|
|
@@ -238,7 +239,7 @@ python tools\bee.py discard <task> :: 否决——删除任务分支(需输
|
|
|
238
239
|
## 任务类型与自定义流程
|
|
239
240
|
|
|
240
241
|
主表单的「类型」下拉即流程列表,点「管理」可新增/编辑自定义流程(引擎、评审维度、
|
|
241
|
-
阈值、轮数、产出文件名、起草/评审提示词覆盖)。内置
|
|
242
|
+
阈值、轮数、产出文件名、起草/评审提示词覆盖)。内置 18 种;禅道工单是自动转成
|
|
242
243
|
`code` 修复任务的集成入口,不另占菜单类型:
|
|
243
244
|
|
|
244
245
|
| 类型 | 引擎 | 流程 |
|
|
@@ -255,6 +256,7 @@ python tools\bee.py discard <task> :: 否决——删除任务分支(需输
|
|
|
255
256
|
| 🕓 缺陷复盘 | direct | 读禅道/Jira 导出 → 产品/开发/测试三视角复盘报告 |
|
|
256
257
|
| 🔍 调研报告 | review | 起草 → 多维评审(全面性/深度/论据/结论)→ 修订 → 门禁 |
|
|
257
258
|
| 🎤 演讲稿 | review | 起草 → 多维评审(主题/结构/感染力/语言)→ 修订 → 门禁 |
|
|
259
|
+
| 🖥️ 演示文稿 | review | 逐页大纲 + 讲稿(Markdown,不生成 PPT 二进制)→ 多维评审(结构/密度/呈现/演讲适配)→ 修订 → 门禁 |
|
|
258
260
|
| 📅 工作汇报 / ✉️ 商务邮件 / 📋 技术方案 / 📄 简历 | review | 各自专属角色、交付约束与评审维度 |
|
|
259
261
|
| 📑 标书编制 | review | 招标文件对齐评分点 → 多维评审(应答/合规/针对性)→ 修订 → 门禁 |
|
|
260
262
|
|
package/app/core/dispatch.py
CHANGED
package/app/core/flows.py
CHANGED
|
@@ -95,6 +95,12 @@ BUILTIN_FLOWS = [
|
|
|
95
95
|
"threshold": 7.0, "rounds": 2,
|
|
96
96
|
"goal_hint": "演讲场合 / 听众 / 时长 / 核心信息",
|
|
97
97
|
"note": "起草 → 多维评审 → 修订循环 → 发布门禁"},
|
|
98
|
+
{"id": "presentation", "name": "演示文稿", "icon": "i-preview", "engine": "review", "builtin": True,
|
|
99
|
+
"manuscript": "presentation.md",
|
|
100
|
+
"rubric": ["结构逻辑", "内容密度", "视觉呈现", "演讲适配"],
|
|
101
|
+
"threshold": 7.0, "rounds": 2,
|
|
102
|
+
"goal_hint": "演示场合 / 听众 / 大致页数 / 核心信息",
|
|
103
|
+
"note": "演示文稿:逐页大纲与讲稿(Markdown,不生成 PPT 二进制)→ 多维评审 → 修订循环 → 发布门禁"},
|
|
98
104
|
{"id": "weekly_report", "name": "工作汇报", "icon": "i-clip-check", "engine": "review", "builtin": True,
|
|
99
105
|
"manuscript": "weekly.md",
|
|
100
106
|
"rubric": ["重点突出", "数据支撑", "结构清晰", "下一步可执行"],
|
package/app/core/pipeline.py
CHANGED
|
@@ -916,8 +916,9 @@ __ISSUES__
|
|
|
916
916
|
- 完成后用 2-3 句话说明改了什么。
|
|
917
917
|
__VERIFY_HINT__"""
|
|
918
918
|
|
|
919
|
-
CODE_REVIEW_PROMPT = """
|
|
920
|
-
|
|
919
|
+
CODE_REVIEW_PROMPT = """你是代码评审员(不要修改任何文件)。diff 为主要依据;
|
|
920
|
+
如运行环境允许读取文件(未禁用工具时),可打开涉及文件及周边代码核对上下文(只读,不得修改任何文件);
|
|
921
|
+
无法读文件时基于 diff 评审。输出一个 ```json 代码块,不要输出其他内容。JSON 结构:
|
|
921
922
|
{
|
|
922
923
|
"pass": true/false,
|
|
923
924
|
"scores": {"正确性": 1-10, "可维护性": 1-10, "安全": 1-10},
|
|
@@ -926,9 +927,12 @@ CODE_REVIEW_PROMPT = """你是代码评审员(不要修改任何文件)。
|
|
|
926
927
|
}
|
|
927
928
|
|
|
928
929
|
## 评审要求(findings 锚定证据)
|
|
929
|
-
每个 issue 的 detail 必须给出「文件名:行号」(从 diff 的 hunk 头 @@ -a,b +c,d @@
|
|
930
|
-
|
|
931
|
-
|
|
930
|
+
每个 issue 的 detail 必须给出「文件名:行号」(从 diff 的 hunk 头 @@ -a,b +c,d @@ 与上下文推算,
|
|
931
|
+
深读文件核到的行号优先),并引用该处一行关键代码作为依据——没有证据定位的问题不要报,
|
|
932
|
+
宁可少报不报猜测。(借鉴 pr-af:findings grounded in code evidence 是评审可信度的根。)
|
|
933
|
+
|
|
934
|
+
## 半成品收工提醒(agent-delegate 借鉴)
|
|
935
|
+
检查本次变更是否引入 TODO/FIXME/占位实现/未接线的函数或配置——发现按半成品如实降档。
|
|
932
936
|
|
|
933
937
|
## 任务目标
|
|
934
938
|
__GOAL__
|
|
@@ -2283,6 +2287,12 @@ CONTENT_DELIVERY_CONTRACTS = {
|
|
|
2283
2287
|
"按场合、听众和时长控制篇幅,使用适合现场说出的短句与自然转场。",
|
|
2284
2288
|
"开场建立关系,主体围绕一个核心信息展开,结尾给出清晰收束或号召。",
|
|
2285
2289
|
]),
|
|
2290
|
+
"presentation": ("演示设计顾问", [
|
|
2291
|
+
"按页组织成逐页大纲:每页一个标题、3-5 条要点与讲者备注(这页讲什么、强调什么),页数与时长匹配。",
|
|
2292
|
+
"先明确受众与演示目标(说服/汇报/教学),每页要点服务同一个核心信息;数据给出口径,不虚构。",
|
|
2293
|
+
"视觉呈现给可执行建议(版式/图表类型/强调方式),引用素材标注来源或「待补」,不虚构截图与图片。",
|
|
2294
|
+
"产出为 Markdown 逐页大纲与讲稿,不生成 PPT 二进制文件。",
|
|
2295
|
+
]),
|
|
2286
2296
|
"weekly_report": ("业务汇报顾问", [
|
|
2287
2297
|
"按成果与影响、关键数据、问题阻塞、下步行动(负责人/时间)组织内容。",
|
|
2288
2298
|
"只使用用户提供或可核验的数据;缺失数字保留待补项,不虚构业绩。",
|
package/app/ui/app.js
CHANGED
|
@@ -13357,7 +13357,7 @@ function helpChapterBody(id) {
|
|
|
13357
13357
|
'<li><svg class="ico" aria-hidden="true"><use href="#i-git-branch"></use></svg><div><b>' + t("版本工作台") + '</b><span>' + t("任务分支隔离,改动可审可合") + '</span></div></li>' +
|
|
13358
13358
|
'<li><svg class="ico" aria-hidden="true"><use href="#i-calendar-days"></use></svg><div><b>' + t("自动化") + '</b><span>' + t("定时任务,无人值守") + '</span></div></li>' +
|
|
13359
13359
|
'<li><svg class="ico" aria-hidden="true"><use href="#i-library"></use></svg><div><b>' + t("经验库") + '</b><span>' + t("内置规范包 + 自动沉淀教训,越用越顺手") + '</span></div></li>' +
|
|
13360
|
-
'<li><svg class="ico" aria-hidden="true"><use href="#i-blocks"></use></svg><div><b>' + t("插件市场") + '</b><span>' + t("
|
|
13360
|
+
'<li><svg class="ico" aria-hidden="true"><use href="#i-blocks"></use></svg><div><b>' + t("插件市场") + '</b><span>' + t("技能一键安装") + '</span></div></li>' +
|
|
13361
13361
|
'</ul>';
|
|
13362
13362
|
}
|
|
13363
13363
|
if (id === "serial") {
|
|
@@ -13399,7 +13399,7 @@ function helpChapterBody(id) {
|
|
|
13399
13399
|
'<h3 class="help-h3">' + t("禅道 Bug 自动修复") + '</h3>' +
|
|
13400
13400
|
'<p class="help-p">' + t("设置 → 禅道:配好地址与产品档案后,定时扫描激活 Bug,按模块路由 / AI 排查定责(前端/后端/双端/非我方);我方端的 Bug 自动创建代码修复任务,修完自动合并、resolve 并回写报告到群里;测试指错人的也会按排查结论改派。合并失败不 resolve 不转派,留人工兜底。") + '</p>' +
|
|
13401
13401
|
'<h3 class="help-h3">' + t("技能市场") + '</h3>' +
|
|
13402
|
-
'<p class="help-p">' + t("设置 →
|
|
13402
|
+
'<p class="help-p">' + t("设置 → 插件市场:技能一键安装,来源包括内置库和 ZCode、Anthropic 等多个外部目录。装上的技能会注入智能体能力,按任务类型生效。") + '</p>' +
|
|
13403
13403
|
'<h3 class="help-h3">' + t("用量台账") + '</h3>' +
|
|
13404
13404
|
'<p class="help-p">' + t("设置 → 用量统计:每次调用的模型、token 与费用按多个维度聚合展示,历史运行会在启动时自动回填——每个任务花了多少,一目了然。") + '</p>';
|
|
13405
13405
|
}
|
package/app/ui/i18n.js
CHANGED
|
@@ -678,7 +678,7 @@
|
|
|
678
678
|
"规划 · 实现 · 评审 · 打磨,接棒交付": "Planner, builders, reviewer and polisher relay the work to done",
|
|
679
679
|
"连载写作": "Serialized writing",
|
|
680
680
|
"断点续跑 · 经验沉淀 · 作品资料": "Resume from checkpoints, distilled lessons, book metadata",
|
|
681
|
-
"
|
|
681
|
+
"技能一键安装": "Skills install in one click",
|
|
682
682
|
"版本工作台": "Version workbench",
|
|
683
683
|
"任务分支隔离,改动可审可合": "Task branches stay isolated; review and merge the changes",
|
|
684
684
|
"定时任务,无人值守": "Scheduled runs, unattended",
|
|
@@ -1934,6 +1934,13 @@
|
|
|
1934
1934
|
"方案针对性": "Solution fit",
|
|
1935
1935
|
"评分点覆盖": "Scoring coverage",
|
|
1936
1936
|
"商务清晰度": "Commercial clarity",
|
|
1937
|
+
"演示文稿": "Presentation",
|
|
1938
|
+
"演示文稿:逐页大纲与讲稿(Markdown,不生成 PPT 二进制)→ 多维评审 → 修订循环 → 发布门禁": "Presentations: page-by-page outline + speaker notes (Markdown, no PPT binary) → multi-dim review → revision loop → publish gate",
|
|
1939
|
+
"演示场合 / 听众 / 大致页数 / 核心信息": "Occasion / audience / slide count / key message",
|
|
1940
|
+
"结构逻辑": "Structural logic",
|
|
1941
|
+
"内容密度": "Content density",
|
|
1942
|
+
"视觉呈现": "Visual presentation",
|
|
1943
|
+
"演讲适配": "Delivery fit",
|
|
1937
1944
|
"扫榜选材": "Rank Scan for Topics",
|
|
1938
1945
|
"抓取七猫/番茄/起点/纵横四平台排行榜公开数据 → AI 提炼跨平台热门题材/人设/差异化切入点,每条附 A-E 跨平台证据分级(快档直出报告)": "Grabs public rankings from Qimao / Fanqie / Qidian / Zongheng → AI distills cross-platform hot genres / character archetypes / differentiation angles, each with an A-E cross-platform evidence grade (fast lane, report straight out)",
|
|
1939
1946
|
"想写哪个方向(一句话,可留空默认分析总榜热门题材)": "Which direction to write (one sentence; leave empty to analyze the overall hot genres)",
|
|
@@ -2619,7 +2626,7 @@
|
|
|
2619
2626
|
"设置 → 自动化:把任意任务类型挂上时间表(每天/每周固定时刻),到点自动按真实运行链开跑,结果照常落盘。配合群机器人(钉钉/飞书/企微自动适配)可以把完成状态推到群里。": "Settings → Automation: put any task type on a schedule (fixed daily/weekly times); at the appointed time it runs through the real execution chain and results land as usual. Pair it with a group robot (DingTalk/Feishu/WeCom auto-detected) to push completion status into your group chat.",
|
|
2620
2627
|
"设置 → 禅道:配好地址与产品档案后,定时扫描激活 Bug,按模块路由 / AI 排查定责(前端/后端/双端/非我方);我方端的 Bug 自动创建代码修复任务,修完自动合并、resolve 并回写报告到群里;测试指错人的也会按排查结论改派。合并失败不 resolve 不转派,留人工兜底。": "Settings → ZenTao: once the address and product profiles are set, active bugs are scanned on a schedule and triaged by module route / AI (frontend / backend / both / not ours); bugs on our side spawn code-fix tasks automatically — when fixed, they merge, resolve, and post the report back to the group chat; bugs misassigned by testers get reassigned per the triage verdict. If the merge fails, it won't resolve or reassign — a human takes over as the fallback.",
|
|
2621
2628
|
"技能市场": "Skills marketplace",
|
|
2622
|
-
"设置 →
|
|
2629
|
+
"设置 → 插件市场:技能一键安装,来源包括内置库和 ZCode、Anthropic 等多个外部目录。装上的技能会注入智能体能力,按任务类型生效。": "Settings → Marketplace: skills install in one click, from the built-in library and external catalogs such as ZCode and Anthropic. Installed skills inject agent capabilities and take effect by task type.",
|
|
2623
2630
|
"用量台账": "Usage ledger",
|
|
2624
2631
|
"设置 → 用量:每次调用的模型、token 与费用按多个维度聚合展示,历史运行会在启动时自动回填——每个任务花了多少,一目了然。": "Settings → Usage: model, tokens, and cost of every call aggregated across dimensions; historical runs backfill automatically at startup — what each task cost, at a glance.",
|
|
2625
2632
|
|
package/app/ui/index.html
CHANGED
|
@@ -95,6 +95,7 @@
|
|
|
95
95
|
<symbol id="i-lang" viewBox="0 0 24 24"><path d="m5 8 6 6"/><path d="m4 14 6-6 2-3"/><path d="M2 5h12"/><path d="M7 2h1"/><path d="m22 22-5-10-5 10"/><path d="M14 18h6"/></symbol>
|
|
96
96
|
<symbol id="i-file-search" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><path d="M14 2v6h6"/><circle cx="11.5" cy="14.5" r="2.5"/><path d="m13.3 16.3 1.7 1.7"/></symbol>
|
|
97
97
|
<symbol id="i-mic" viewBox="0 0 24 24"><rect x="9" y="2" width="6" height="12" rx="3"/><path d="M5 10a7 7 0 0 0 14 0"/><path d="M12 19v3"/></symbol>
|
|
98
|
+
<symbol id="i-preview" viewBox="0 0 24 24"><path d="M2 3h20"/><path d="M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3"/><path d="M8 8h8"/><path d="M8 11h5"/><path d="m7 21 5-5 5 5"/></symbol>
|
|
98
99
|
<symbol id="i-clip-check" viewBox="0 0 24 24"><rect x="8" y="2" width="8" height="4" rx="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><path d="m9 14 2 2 4-4"/></symbol>
|
|
99
100
|
<symbol id="i-copy" viewBox="0 0 24 24"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></symbol>
|
|
100
101
|
<symbol id="i-mail" viewBox="0 0 24 24"><rect x="2" y="4" width="20" height="16" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/></symbol>
|
package/package.json
CHANGED