OpenProgram Docs

智能体工作流#

这一页介绍每个受支持 OpenProgram release 已包含的现成 agent 及其使用方式。如果你想直接用而不是自己写函数,从这里开始。

是什么#

Agentic Workflow 是用 Agentic Programming 写成的成品工作流——代码里叫 harness 或 agentic program:一个自包含的 git 仓库,里面是一组 Agent method。release 中固定的版本会注册进 OpenProgram,像内置函数一样出现在聊天、Web UI 的 Programs 页和 openprogram programs run 里。

三个第一方 workflow:

Workflow Release 状态 一句话
GUI Agent 已包含 给一句任务,自主操作桌面(截图 → 识别 → 点击 → 验证循环)
Research Agent 已包含 从研究选题到可提交论文,带确定性核查层
Wiki Agent 已包含 把会话 / 笔记沉淀成模板化 HTML 知识库

管理命令#

openprogram programs list          # 所有已注册的函数与 program
openprogram programs available     # 第一方状态 + 已装第三方 harness
openprogram programs install <owner>/<repo>   # 任意第三方 harness(git URL 亦可)
openprogram programs install <ref> --upgrade  # 重装 / 升级
openprogram programs uninstall <Harness-Name> # 删除第三方 harness
openprogram programs run <name> -a key=value  # 直接运行一个 program

programs run 还接受 --provider(openai-codex / gemini-cli / anthropic / openai / gemini,默认自动探测)和 --model 覆盖模型。

第一方 Programs 是 immutable 产品组件。在可变扩展或开发环境中,programs install 会克隆额外第三方 harness、安装其声明的依赖并登记批准的来源。

openprogram programs list 包含 owner 已授权发布的 Workflow 注册入口,包括 workflow/weekly_report/ 这类分类目录中的项目。列出条目不会执行 Workflow,也不会导入未登记的项目。

用哪种方式触发#

  • Web 参数表单:点击 Programs 中的 Use 或侧栏收藏。新标签页变成草稿聊天;已有聊天保留草稿和执行中的任务。填写任务要求后明确发送。打开或关闭表单不会执行 Workflow。
  • 聊天里:入口函数以 as_tool=True 注册为工具,直接用自然语言描述任务,模型会调用它(如 gui_agent、research_agent、wiki_agent)。
  • 命令行:openprogram programs run gui_agent -a task="Open Firefox"。
  • Python 里:harness 的函数就是普通可 import 的 Python 函数。

编写你自己的#

任何满足目录契约(<package>/agentics/__init__.py 暴露 PROGRAM_ENTRIES)的仓库都能被同一条 programs install 命令安装。契约、最小模板和发布流程见安装与编写 Harness。

Harness 契约与单个 Workflow 包不同。包合同、完整测试示例、相对路径以及 workflows validate/test/publish 命令见编写、测试和发布 Workflow。生成式 create_workflow 和 revise_workflow 也使用同一强制行为测试要求。

Workflow 表单只询问任务信息,不要求配置执行设置。文本润色在同一次模型请求中根据文本判断风格,不强制用户选择。浏览器 backend 和会话标识保留为内部参数。文档页码和输出位置属于可选的任务要求。显式 Python 调用仍支持受支持的覆盖值。

周报#

如果 Workflow 目录已安装 weekly_report,可以直接提供周报内容或修改要求。例如:“提交本周周报:……”;“只修改本周周报的下周计划,其他字段不变”;“只查看本周提交记录”;“不要提交,把草稿写到 reports/weekly_report.md”。

它先读取配置的飞书表单,核对姓名和年份、周次。没有记录时新建提交一次;已有可编辑记录时,从提交历史打开并保存。部分修改保留未指定的字段。明确要求草稿或只读检查时不会提交。检查结果不明确、登录失败或记录无法唯一确认时停止;达到提交次数上限不等于已有记录不能编辑。

只有观察到新的成功提示并核对保存内容后才报告完成。写入结果不明确时直接说明,不自动重试。浏览器原有授权要求保持不变。流程使用有次数与时间限制的浏览器步骤,不使用 goal() 循环,也不编造进展、指标或论文名称。

组长周报草稿#

group_weekly_report(task) 主动从记忆、相关本地文件和微信查找范围、材料与作者证据,生成未发送草稿。缺字段不再提问,未核实作者与不可用来源写入限制。显式 source: "supplied" 只使用所给材料。来源选项见每周报告。

完整且显式只用输入材料的结构化核对由代码完成,不调用模型。汇总按成员限制模型上下文,核验来源引用并保留不确定项。本地文件保存到 reports/group-weekly/<week>/<unique-run>/(或 output_dir)。未找到材料不等于未提交。请核对草稿后自行发送。

Last updated · 2026-10-10