Releases: lhstack/markflow
Releases · lhstack/markflow
Release list
v1.1.0
v1.0.9
v1.0.9
变更范围: v1.0.8..v1.0.9
编辑区增加文档目录
- 编辑器预览区新增文档目录浮层,支持根据当前文档标题动态生成目录、点击目录项跳转到对应标题,并在预览重新渲染后同步刷新目录内容 - 调整编辑器目录交互与布局:目录按钮改为悬浮显示,不再挤压预览正文区域;展开面板宽度、留白和滚动表现也进一步向分享页样式靠齐 - AI 助手配置新增独立的
MCP 配置入口,不再混在供应商配置弹窗内部;MCP 管理改为单独弹窗,并优化为左右分栏独立滚动、底部操作区固定可见 - 后端正式接入 MCP runtime,支持sse、streamable-http与stdio三种 transport,补齐配置持久化、连接测试、能力刷新、工具/资源/提示快照与聊天时的实际 MCP 注入 - MCP HTTP 配置支持多种认证模式与自定义 Headers,stdio配置支持命令、参数、环境变量,并通过后端 allowlist 与开关控制是否展示和可用 - MCP 测试连接与刷新能力改为基于当前表单草稿执行,不必先保存才能验证配置;同时支持新增/复制时直接创建一条默认未启用的后端草稿记录,关闭弹窗后配置不会丢失 - 收紧 MCP transport 校验与诊断:切换到streamable-http时会拒绝继续使用 legacy/sse端点;legacy SSE 心跳空消息会被忽略,不再刷无意义解析警告 - 后端配置与文档补充MCP_STDIO_ENABLED / MCP_STDIO_ALLOWED_COMMANDS,用于控制stdio是否开启以及允许拉起的命令白名单
v1.0.8
v1.0.7
v1.0.7
变更范围: v1.0.6..v1.0.7
feat: 收敛智能体 loop 并完善 v1.0.7 文档说明
- 将智能体执行链路收敛为后端主导的 rig 风格 loop
- 统一由后端维护多轮消息历史、工具结果回灌、continuation 与终止条件
- 新增前端工具回调桥,支持通过 tool.request 和 tool-callback 执行前端工具
- 将 ACTION 写作协议纳入 loop 语义,写入完成后按 synthetic tool result 回灌上下文
- 修复 ACTION 与保存/打开下一文档混合轮次下写入状态丢失的问题
- 补齐 ACTION 未闭合时的自动 continuation,支持长文写作续写并自动闭合
- 修复多文档连续写入时只识别首篇写入结果的问题
- 调整 message.completed 与可见文本累计逻辑,避免 ACTION 正文污染最终总结内容
- 优化聊天面板展示,隐藏协议标记并区分过程摘要与最终完成总结
- 修复最终总结插入到过程消息顶部、覆盖前文的问题,改为单独追加在末尾
- 收紧聊天摘要策略,仅保留本轮最新有效结果,移除保存和读取上下文等内部提示
- 优化聊天窗口布局,移除运行状态侧栏并增强自动滚动体验
- 扩展聊天附件能力,支持更多文本类型及可解析 UTF-8 文本文件
- 补充 v1.0.7 的 README 与 Docker Hub 待发布说明,明确当前工作区改动与发布边界
v1.0.6
v1.0.6
变更范围: v1.0.5..v1.0.6
Update README.md
feat(agent): 重构智能体核心协议与执行链路,补全附件与头像管理能力
- 新增共享 agent 协议定义,统一前后端的写入动作、控制块、任务分析与路由枚举
- 重构 agent 核心运行时,补充结构化任务分析、结构化计划、执行状态与会话记忆
- 优化 AgentPanel 会话状态管理,支持 runtime plan、task analysis、tool events、artifact 状态展示
- 拆分传输协议与执行语义,新增 chat / responses / auto 模式切换,避免模型兼容性问题影响任务执行
- 移除大量依赖自然语言关键词的硬编码判断,改为以协议字段和结构化状态驱动
- 改进多轮计划执行、自动续轮、pending plan、last execution memory 的同步逻辑
- 补全文档写入协议,支持 append、replace、rewrite_section、replace_block 等动作的统一解析与约束
- 强化局部写入失败处理,局部替换失败时直接报错并输出调试日志,避免静默 no-op
- 优化编辑器快照与保存语义,明确实时快照、草稿缓存、已保存回退三种来源及保存前状态
- 新增 session memory,补充当前会话的目标、已完成事实与待继续事项记忆
- 为 agent 新增头像更新、附件查询与批量删除工具调用能力
- 支持按类型、名称、未引用状态筛选附件,并可批量删除附件
- 调整项目删除逻辑,删除项目时同步删除其下目录与文档
- 更新 README 演示图,同步最新界面展示效果
v1.0.5
v1.0.5
变更范围: v1.0.4..v1.0.5
chore(agent): 调整工具调用防循环阈值,放宽多轮执行上限
- 将 MAX_TOOL_CALL_ROUNDS 从 8 调整为 32
- 将 MAX_REPEAT_TOOL_SIGNATURE_HITS 从 2 调整为 4
- 保留防循环保护的同时,降低复杂任务被过早中断的概率
fix(agent): 修复多步骤续跑与保存编排问题
- 收敛智能体提示词,合并高风险确认与歧义澄清,避免重复追问
- 新增 [[CONTINUE]] 显式续跑标记,提升多文档连续执行稳定性
- 修复等待用户确认时误触发自动续跑的问题
- 修复续跑预算被前置空转耗尽,导致后续步骤无法继续的问题
- 优化保存状态判断,避免空白文档触发无意义保存
- 同步编辑器草稿、未保存状态与保存结果,减少重复保存和状态漂移
- 清理后端已失效的无工具提示词分支
fix: 改进多步任务确认与续执行状态判断
- 为多步待确认计划引入 [[PLAN]] 协议并在前端持久化 pendingPlan
- 确认回复后将计划与用户回复一并回灌,由模型做语义判断并按已确认顺序执行
- 隐藏聊天展示中的 [[PLAN]] 标记,避免暴露协议细节
- 提升语义续执行轮次上限,避免长链路任务过早停止
- 修复模型声称已保存但本地仍未保存时未继续补保存的问题
- 将保存意图从当前输入提升到任务级,支持确认型回复后继续执行保存步骤
v1.0.4
v1.0.4
变更范围: v1.0.3..v1.0.4
feat(agent): 承接流式文档编写,补齐保存/快照/元信息函数调用能力
- 新增 save_current_document,支持真实保存当前文档
- 新增 read_editor_snapshot,支持读取未保存编辑器快照(含 max_chars)
- 新增 update_project,支持修改项目名称/描述/背景图
- 新增 update_tree_node_meta,支持文档与目录重命名
- 移除 write_document function calling,正文写入统一走 ACTION 协议流
- 强化提示词约束:未保存优先读快照;局部替换/局部重写必须清理旧内容;内容移动后仅保留一份并校验结构顺序
- 同步前端 runtime 与工具分发执行链路
feat: 精简智能体系统提示词并新增文档草稿缓存
- 精简 agent 系统提示词,保留文档写作协议、工具读取规则和动作选择规则
- 统一写作场景的输出结构,明确操作类型、修改位置、保存状态、优化建议和修改总结
- 补充文档动作与协议动作的映射约束,限制局部改写、整节重写和片段替换的使用边界
- 新增基于 localStorage 的文档草稿缓存工具,支持按文档保存、读取和清理未保存内容
- 为后续切换文档时恢复未保存编辑内容提供基础能力
fix: 修复文档切换时未保存状态丢失并补充取消保存功能
- 修复切换文档时将本地草稿误当作已保存正文的问题
- 保持 currentNode.content 始终为后端已保存内容,避免未保存状态被错误重置
- 新增文档“取消保存”操作,支持恢复到上次保存版本
- 取消保存时同步清理本地草稿缓存并重置编辑器快照
docs(release): 补充 v1.0.4 版本说明并同步 DockerHub 文档
- README 更新当前版本为 v1.0.4
- README 新增 v1.0.4 变更摘要(流式文档写作、协议动作、工具调用、草稿恢复等)
- dockerhub.md 新增 1.0.4 版本更新章节
- 同步镜像标签示例为 lhstack/markflow:v1.0.4
v1.0.3
v1.0.3
变更范围: v1.0.2..v1.0.3
agent
feat: 完善 AI 助手函数调用、会话上下文与文档编辑交互
- 补全前端 function calling,覆盖页面状态、路由导航、项目管理、文档树操作、文档读写、浏览器与编辑器运行时等能力
- 新增文档/目录移动工具,支持按节点或路径移动到目标目录或根目录
- 优化工具描述与参数定义,提升模型对工具用途和入参的识别准确性
- 调整 Responses 工具 schema 兼容性,避免严格校验导致的函数参数报错
- 完善工具调用续轮逻辑,前后端共同回传 function_call 与 output,提升第三方网关兼容性
- 为 Chat Completions fallback 补充工具调用能力,避免 Responses 失败后退化为纯聊天
- 支持同一会话复用 previous_response_id,并在供应方或模型切换时自动回退为全量上下文
- 改为按增量消息发送,减少重复上下文带来的 token 消耗
- 支持中止流式生成,发送快捷键改为 Ctrl/Cmd+Enter,Enter 仅换行
- 限制 AI 未获授权时默认只写入未保存草稿,不再直接保存文档
- 暴露编辑器与浏览器运行时对象,便于通过 JavaScript 执行表单填写、点击等前端操作
- 允许删除最后一个项目,移除项目概览空态下重复的新建项目入口
- 移除前端“回退到无工具模式”的提示文案,减少无效干扰
v1.0.2
v1.0.2
变更范围: v1.0.1..v1.0.2
fix: 优化分享页初始化与分享设置交互体验
- 移除 App 根组件中的公共系统配置全局请求,改为仅在登录、注册、首页等实际需要的页面按需加载
- 修复分享页仍会请求 public-settings 的问题,减少分享访问场景下的无关接口调用
- 调整分享弹窗有效期选择器,使用 Element Plus datetime 选择器并限制只能选择未来时间
- 为分享有效期面板补充中文快捷选项与中文显示,统一日期、时间和按钮文案
- 修复有效期时间面板中时间输入前错误出现“日”字的问题,拆分 date-format 与 time-format
- 优化分享弹窗时间选择器样式,使其与当前项目浅绿主题风格保持一致
- 修复分享页右侧目录在滚动正文时不会自动跟随高亮的问题
feat: 优化分享密码复制体验并改进文档加载策略
- 新增 SHARE_PASSWORD_SECRET / share_password_secret 配置,使用服务端密钥加密存储分享密码密文
- 为 shares 表增加 password_ciphertext 字段,保留 password_hash 用于校验,同时支持拥有者后续恢复并复制分享密码
- 新增分享密码读取接口,支持登录用户直接复制带密码的分享链接,兼容历史旧分享不可恢复场景
- 调整分享弹窗密码复制逻辑,优先通过后端解密获取密码,不再依赖浏览器 prompt 输入
- 分享密码复制改为生成可直接访问的链接,将密码写入 URL hash 并在分享页自动填充校验,成功后自动清理地址栏中的密码片段
- 为分享密码输入框增加随机生成按钮,生成 5 位小写字母和数字混合密码,并改为明文可见输入
- 优化编辑区与分享页目录加载策略,树接口仅返回结构元信息,正文内容改为按选中文档懒加载
- 新增分享目录按节点加载正文接口,避免目录分享时一次性下发整棵树所有文档内容
v1.0.1
v1.0.1
变更范围: v1.0.0..v1.0.1
ci(release): 改进 GitHub Release notes 生成并将 master 预发布改为单条滚动发布
- 调整 tag(v*)发布说明生成逻辑
- 移除自动 generate_release_notes
- 改为基于 git 提交记录生成 release-notes.md(保留提交标题与正文)
- 首个 tag 发布时仅使用当前 tag 对应提交内容
- 调整 master 预发布策略
- 由每次创建新 release(master-)改为固定 master-snapshot 滚动更新
- 每次 master 构建强制移动 master-snapshot tag 到最新提交
- release notes 使用当前提交的完整 message(subject + body)
- 保持多平台构建产物上传与覆盖发布行为不变
release: 1.0.1
- 新增系统配置持久化能力,启动时自动初始化超级管理员 admin,并支持注册开关与上传大小限制
- 新增超级管理员系统配置和用户管理界面,支持用户启停、密码重置、2FA 开关、新增删除与用户数据导出
- 重构文件上传与附件管理链路,统一按钮、拖拽、粘贴上传,并修复粘贴重复上传问题
- 优化 Markdown 编辑器、预览区和分享页体验,补充浮动目录、状态缓存、PDF 等可预览附件新窗口打开
- 补充登录、注册、2FA 中文错误提示,并修复文档树新建文档可能重复提交的问题
- 更新 README 与配置示例,补充 1.0.1 新增能力、配置项、管理接口以及本地未推送/未提交变更说明
feat: 本地化前端依赖资源并优化编辑器缩进行为
- 移除 Google Fonts 外链,改为使用本地系统字体栈
- 新增离线资源准备脚本,在 dev/build/preview 前自动复制 vditor dist 到 frontend/public/vendor/vditor
- 将 Markdown 编辑器和预览渲染的 Vditor 运行时资源统一切换为本地 /vendor/vditor 路径
- 调整编辑器 Tab 缩进行为,改为使用 Vditor 原生缩进并插入四个空格
- 统一分享页与预览区的字体变量,保持与项目现有风格一致
- 更新 README,补充前端离线资源打包说明