[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"workflow-promptflow-build-and-test-llm-apps-d45e0c73":3,"seo:featured-workflow:d45e0c73-d0b6-4825-8bb2-80515ed82ac1:es":40,"workflow-related-promptflow-build-and-test-llm-apps-d45e0c73-d45e0c73-d0b6-4825-8bb2-80515ed82ac1":85},{"id":4,"uuid":5,"slug":6,"title":7,"description":8,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":14,"parent_id":12,"parent_uuid":13,"lang_type":15,"steps":16,"files":23,"tags":24,"has_voted":30,"visibility":19,"share_token":13,"is_featured":12,"content_hash":31,"asset_kind":32,"target_tools":33,"install_mode":37,"entrypoint":38,"risk_profile":39,"dependencies":41,"verification":48,"agent_metadata":51,"agent_fit":62,"trust":73,"provenance":81,"created_at":83,"updated_at":84},3091,"d45e0c73-d0b6-4825-8bb2-80515ed82ac1","promptflow-build-and-test-llm-apps","PromptFlow — Build and Test LLM Apps","PromptFlow is a CLI + framework for building and testing LLM flows. Install `promptflow` + `promptflow-tools`, then run `pf flow init` and `pf flow test`.","8a910fec-3180-11f1-9bc6-00163e2b0d79","Agent Toolkit","https:\u002F\u002Ftokrepo.com\u002Fapple-touch-icon.png",0,"",19,"en",[17],{"id":18,"step_order":19,"title":20,"description":13,"prompt_template":21,"variables":13,"depends_on":22,"expected_output":13},3654,1,"Asset","# PromptFlow — Build and Test LLM Apps\n\n> PromptFlow is a CLI + framework for building and testing LLM flows. Install `promptflow` + `promptflow-tools`, then run `pf flow init` and `pf flow test`.\n\n## Quick Use\n\n1. Install:\n   ```bash\n   pip install promptflow promptflow-tools\n   ```\n2. Run:\n   ```bash\n   pf flow init --flow .\u002Fmy_chatbot --type chat\n   ```\n3. Verify:\n   - Run `pf flow test --flow .\u002Fmy_chatbot --interactive` and confirm you can chat with the flow\n\n\n---\n\n## Intro\n\nPromptFlow is a CLI + framework for building and testing LLM flows. Install `promptflow` + `promptflow-tools`, then run `pf flow init` and `pf flow test`.\n\n- **Best for:** teams shipping LLM apps who want a flow-based dev loop with templates, connections, batch tests, and evaluation paths\n- **Works with:** Python (repo recommends 3.9–3.11), `pf` CLI, OpenAI\u002FAzure OpenAI connections (repo quickstart)\n- **Setup time:** 14 minutes\n\n\n### Quantitative Notes\n\n- Python 3.9–3.11 recommended (repo)\n- Setup time ~14 minutes\n- CLI commands: `pf flow init`, `pf flow test` (repo)\n\n\n---\n\n## Practical Notes\n\nAdopt PromptFlow as your team’s LLM dev loop: template a flow, store connections as named resources, and run interactive tests locally. Then add batch tests and evaluations so every prompt change is measurable. For agents, model each tool step as a node so you can debug failures with clear inputs\u002Foutputs per node.\n\n**Safety note:** Keep secrets in connections, not in YAML committed to git; rotate keys and restrict scopes.\n\n### FAQ\n\n**Q: Do I need Azure to use PromptFlow?**\nA: No. The README includes both OpenAI and Azure OpenAI connection examples; you can start locally.\n\n**Q: Where should I use flows vs code?**\nA: Use flows for repeatable LLM pipelines (prompt → tool → evaluator). Use code for custom logic and integrations.\n\n**Q: How do I keep quality high?**\nA: Use batch tests + evaluation runs; treat prompts as versioned artifacts and gate releases on eval metrics.\n\n---\n\n## Source & Thanks\n\n> GitHub: https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpromptflow\n> Owner avatar: https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4\n> License (SPDX): MIT\n> GitHub stars (verified via `api.github.com\u002Frepos\u002Fmicrosoft\u002Fpromptflow`): 11,122\n\n\n---\n\n\u003C!-- ZH -->\n\n# PromptFlow——用 Flow 构建与测试 LLM 应用\n\n> PromptFlow 是用于构建与测试 LLM 应用的 CLI + flow 框架。安装 `promptflow` 与 `promptflow-tools` 后，可用 `pf flow init` 初始化，再用 `pf flow test` 交互测试。\n\n## 快速使用\n\n1. 安装：\n   ```bash\n   pip install promptflow promptflow-tools\n   ```\n2. 运行：\n   ```bash\n   pf flow init --flow .\u002Fmy_chatbot --type chat\n   ```\n3. 验证：\n   - Run `pf flow test --flow .\u002Fmy_chatbot --interactive` and confirm you can chat with the flow\n\n\n---\n\n## 简介\n\nPromptFlow 是用于构建与测试 LLM 应用的 CLI + flow 框架。安装 `promptflow` 与 `promptflow-tools` 后，可用 `pf flow init` 初始化，再用 `pf flow test` 交互测试。\n\n- **适合谁（Best for）:** 要交付 LLM 应用的团队，希望用 flow 方式做开发闭环：模板、连接管理、批量测试与评估流程\n- **兼容工具（Works with）:** Python（仓库推荐 3.9–3.11）、`pf` CLI、OpenAI\u002FAzure OpenAI 连接（仓库 quickstart）\n- **安装时间（Setup time）:** 14 分钟\n\n\n### 量化信息\n\n- 仓库推荐 Python 3.9–3.11\n- 装机约 14 分钟\n- CLI 命令：`pf flow init`、`pf flow test`（仓库）\n\n\n---\n\n## 实战要点\n\n把 PromptFlow 当作团队的 LLM 开发闭环：用模板创建 flow，把连接配置沉淀成命名资源，本地先交互测试。再接入批量测试与评估，让每次 prompt 变更都有可量化结果。对 agent 来说，把每个工具步骤建模成节点，能用节点级输入\u002F输出快速定位失败原因。\n\n**安全提示：** 密钥放在 connection 里，不要写进提交到 git 的 YAML；定期轮换并收紧权限范围。\n\n### FAQ\n\n**Q: 必须用 Azure 吗？**\nA: 不必。README 同时提供 OpenAI 与 Azure OpenAI 的连接示例；你可以本地先跑起来。\n\n**Q: 什么时候用 flow，什么时候写代码？**\nA: 可复用的 LLM 流水线（prompt → 工具 → 评估）用 flow；定制逻辑与集成用代码。\n\n**Q: 如何保证质量？**\nA: 用批量测试与评估跑分；把 prompt 当作可版本化产物，并用评估指标作为发布门槛。\n\n---\n\n## 来源与感谢\n\n> GitHub：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpromptflow\n> Owner avatar：https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4\n> 许可证（SPDX）：MIT\n> GitHub stars（已通过 `api.github.com\u002Frepos\u002Fmicrosoft\u002Fpromptflow` 核验）：11,122\n","0",[],[25],{"id":26,"name":27,"slug":28,"icon":29},14,"CLI Tools","cli","🖥️",false,"88fcfad03238b347afd4fadd60e1786d92d1527b71523fa11023d495c10ec119","cli_tool",[34,35,36],"claude_code","codex","gemini_cli","single","README.md",{"executes_code":30,"modifies_global_config":30,"requires_secrets":40,"uses_absolute_paths":30,"network_access":30},null,{"npm":42,"pip":43,"brew":46,"system":47},[],[44,45],"promptflow","promptflow-tools",[],[],{"commands":49,"expected_files":50},[],[20],{"asset_kind":32,"target_tools":52,"install_mode":37,"entrypoint":38,"risk_profile":53,"dependencies":54,"content_hash":31,"verification":59},[34,35,36],{"executes_code":30,"modifies_global_config":30,"requires_secrets":40,"uses_absolute_paths":30,"network_access":30},{"npm":55,"pip":56,"brew":57,"system":58},[],[44,45],[],[],{"commands":60,"expected_files":61},[],[20],{"target":35,"score":63,"status":64,"policy":64,"why":65,"asset_kind":32,"install_mode":37},29,"stage_only",[66,67,68,69,70,71,72],"target_tools includes codex","asset_kind cli_tool","install_mode single","markdown-only","policy stage_only","asset_kind cli_tool is not activated directly for Codex","trust established",{"author_trust_level":74,"verified_publisher":30,"asset_signed_hash":31,"signature_status":75,"install_count":12,"report_count":12,"dangerous_capability_badges":76,"review_status":77,"signals":78},"established","hash_only",[32],"unreviewed",[79,80],"author has published assets","content hash available",{"owner_uuid":9,"owner_name":10,"source_url":82,"content_hash":31,"visibility":19,"created_at":83,"updated_at":84},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fpromptflow-build-and-test-llm-apps","2026-05-12 00:58:30","2026-05-14 09:30:26",[86,152,197,252],{"id":87,"uuid":88,"slug":89,"title":90,"description":91,"author_id":92,"author_name":93,"author_avatar":94,"token_estimate":95,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":96,"parent_id":12,"parent_uuid":13,"lang_type":15,"steps":97,"files":40,"tags":98,"has_voted":30,"visibility":19,"share_token":13,"is_featured":12,"content_hash":100,"asset_kind":32,"target_tools":101,"install_mode":64,"entrypoint":104,"risk_profile":105,"dependencies":108,"verification":113,"agent_metadata":116,"agent_fit":128,"trust":135,"provenance":140,"created_at":142,"updated_at":143,"__relatedScore":144,"__relatedReasons":145,"__sharedTags":150},318,"c9e10dbf-d7ae-4561-995b-198e6d599fe7","llm-cli-tool-100-language-models-c9e10dbf","LLM — CLI Tool for 100+ Language Models","LLM is a CLI and Python library for accessing 100+ LLMs via APIs or locally. 11.5K+ stars. SQLite logging, embeddings, structured data. Apache 2.0.","170b09b6-72fe-41f7-9074-58a151dadc28","Simon Willison","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9599?v=4",408,77,[],[99],{"id":26,"name":27,"slug":28,"icon":29},"e4f4d3ebab89ff9d3013fe3e34266adbfdb3f9680220556491aef8521110b93d",[34,35,102,36,103],"cursor","windsurf","llm-cli.md",{"executes_code":106,"modifies_global_config":30,"requires_secrets":107,"uses_absolute_paths":30,"network_access":30},true,[],{"npm":109,"pip":110,"brew":111,"system":112},[],[],[],[],{"commands":114,"expected_files":115},[],[104],{"asset_kind":32,"target_tools":117,"install_mode":64,"entrypoint":104,"risk_profile":118,"dependencies":120,"content_hash":100,"verification":125},[34,35,102,36,103],{"executes_code":106,"modifies_global_config":30,"requires_secrets":119,"uses_absolute_paths":30,"network_access":30},[],{"npm":121,"pip":122,"brew":123,"system":124},[],[],[],[],{"commands":126,"expected_files":127},[],[104],{"target":35,"score":129,"status":64,"policy":64,"why":130,"asset_kind":32,"install_mode":64},5,[66,67,131,70,71,132,133,134],"install_mode stage_only","install_mode is stage_only","risk_profile.executes_code is true","trust new",{"author_trust_level":136,"verified_publisher":30,"asset_signed_hash":100,"signature_status":75,"install_count":12,"report_count":12,"dangerous_capability_badges":137,"review_status":77,"signals":139},"new",[32,138,64],"executes_code",[80],{"owner_uuid":92,"owner_name":93,"source_url":141,"content_hash":100,"visibility":19,"created_at":142,"updated_at":143},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fllm-cli-tool-100-language-models-c9e10dbf","2026-04-01 12:14:14","2026-05-13 08:11:15",117.83814190403572,[146,147,148,149],"shared-tag","topic-match","same-kind","same-target",[28,151],"cli-tools",{"id":153,"uuid":154,"slug":155,"title":156,"description":157,"author_id":158,"author_name":159,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":160,"parent_id":12,"parent_uuid":13,"lang_type":15,"steps":161,"files":40,"tags":162,"has_voted":30,"visibility":19,"share_token":13,"is_featured":12,"content_hash":164,"asset_kind":32,"target_tools":165,"install_mode":37,"entrypoint":38,"risk_profile":166,"dependencies":167,"verification":172,"agent_metadata":175,"agent_fit":186,"trust":188,"provenance":191,"created_at":83,"updated_at":193,"__relatedScore":194,"__relatedReasons":195,"__sharedTags":196},3088,"405e1e05-5c75-4703-9659-e65e181d3a2e","open-interpreter-local-code-interpreter-cli","Open Interpreter — Local Code Interpreter CLI","Open Interpreter runs a local code interpreter in your terminal. Install from GitHub, run `interpreter`, then write files and run commands with approvals.","8a910e34-3180-11f1-9bc6-00163e2b0d79","Script Depot",20,[],[163],{"id":26,"name":27,"slug":28,"icon":29},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",[34,35,36],{"executes_code":30,"modifies_global_config":30,"requires_secrets":40,"uses_absolute_paths":30,"network_access":30},{"npm":168,"pip":169,"brew":170,"system":171},[],[],[],[],{"commands":173,"expected_files":174},[],[],{"asset_kind":32,"target_tools":176,"install_mode":37,"entrypoint":38,"risk_profile":177,"dependencies":178,"content_hash":164,"verification":183},[34,35,36],{"executes_code":30,"modifies_global_config":30,"requires_secrets":40,"uses_absolute_paths":30,"network_access":30},{"npm":179,"pip":180,"brew":181,"system":182},[],[],[],[],{"commands":184,"expected_files":185},[],[],{"target":35,"score":63,"status":64,"policy":64,"why":187,"asset_kind":32,"install_mode":37},[66,67,68,69,70,71,72],{"author_trust_level":74,"verified_publisher":30,"asset_signed_hash":164,"signature_status":75,"install_count":12,"report_count":12,"dangerous_capability_badges":189,"review_status":77,"signals":190},[32],[79,80],{"owner_uuid":158,"owner_name":159,"source_url":192,"content_hash":164,"visibility":19,"created_at":83,"updated_at":193},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fopen-interpreter-local-code-interpreter-cli","2026-05-14 09:26:51",109.98332894210088,[146,148,149],[28,151],{"id":198,"uuid":199,"slug":200,"title":201,"description":202,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":203,"parent_id":12,"parent_uuid":13,"lang_type":15,"steps":204,"files":40,"tags":205,"has_voted":30,"visibility":19,"share_token":13,"is_featured":12,"content_hash":164,"asset_kind":207,"target_tools":208,"install_mode":209,"entrypoint":210,"risk_profile":211,"dependencies":212,"verification":217,"agent_metadata":220,"agent_fit":231,"trust":240,"provenance":244,"created_at":246,"updated_at":247,"__relatedScore":248,"__relatedReasons":249,"__sharedTags":251},3357,"0d783a01-b1c0-57b4-aa9f-b873a7f0682b","boxpwnr-llm-driven-ctf-pentest-runner-docker","BoxPwnr — LLM-Driven CTF\u002FPentest Runner (Docker)","BoxPwnr runs CTF and pentest-style targets in a Kali Docker executor, using an LLM to script commands with budgets, timeouts, and resumable progress.",12,[],[206],{"id":26,"name":27,"slug":28,"icon":29},"agent",[34,35,36],"manual","uv run boxpwnr --platform htb --target meow",{"executes_code":30,"modifies_global_config":30,"requires_secrets":40,"uses_absolute_paths":30,"network_access":30},{"npm":213,"pip":214,"brew":215,"system":216},[],[],[],[],{"commands":218,"expected_files":219},[],[],{"asset_kind":207,"target_tools":221,"install_mode":209,"entrypoint":210,"risk_profile":222,"dependencies":223,"content_hash":164,"verification":228},[34,35,36],{"executes_code":30,"modifies_global_config":30,"requires_secrets":40,"uses_absolute_paths":30,"network_access":30},{"npm":224,"pip":225,"brew":226,"system":227},[],[],[],[],{"commands":229,"expected_files":230},[],[],{"target":35,"score":232,"status":233,"policy":234,"why":235,"asset_kind":207,"install_mode":209},94,"native","allow",[66,236,237,69,238,239,72],"asset_kind agent","install_mode manual","policy allow","safe markdown-only Codex install",{"author_trust_level":74,"verified_publisher":30,"asset_signed_hash":164,"signature_status":75,"install_count":12,"report_count":12,"dangerous_capability_badges":241,"review_status":77,"signals":242},[],[79,80,243],"no dangerous capability badges",{"owner_uuid":9,"owner_name":10,"source_url":245,"content_hash":164,"visibility":19,"created_at":246,"updated_at":247},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fboxpwnr-llm-driven-ctf-pentest-runner-docker","2026-05-13 02:50:59","2026-05-14 00:42:39",109.67091502846026,[146,147,149,250],"same-author",[28,151],{"id":253,"uuid":254,"slug":255,"title":256,"description":257,"author_id":9,"author_name":10,"author_avatar":11,"token_estimate":12,"time_saved":12,"model_used":13,"fork_count":12,"vote_count":12,"view_count":258,"parent_id":12,"parent_uuid":13,"lang_type":15,"steps":259,"files":40,"tags":260,"has_voted":30,"visibility":19,"share_token":13,"is_featured":12,"content_hash":164,"asset_kind":32,"target_tools":262,"install_mode":37,"entrypoint":38,"risk_profile":263,"dependencies":264,"verification":269,"agent_metadata":272,"agent_fit":283,"trust":285,"provenance":288,"created_at":290,"updated_at":291,"__relatedScore":292,"__relatedReasons":293,"__sharedTags":294},3102,"4a6bad3c-a22a-49b3-868a-5999b9a5db2c","hector-self-hosted-agent-runtime-binary","Hector — Self-Hosted Agent Runtime Binary","Run Hector as a self-hosted agent runtime: a single Go binary that serves an agent API and studio UI, keeping execution on your own infrastructure.",21,[],[261],{"id":26,"name":27,"slug":28,"icon":29},[34,35,36],{"executes_code":30,"modifies_global_config":30,"requires_secrets":40,"uses_absolute_paths":30,"network_access":30},{"npm":265,"pip":266,"brew":267,"system":268},[],[],[],[],{"commands":270,"expected_files":271},[],[],{"asset_kind":32,"target_tools":273,"install_mode":37,"entrypoint":38,"risk_profile":274,"dependencies":275,"content_hash":164,"verification":280},[34,35,36],{"executes_code":30,"modifies_global_config":30,"requires_secrets":40,"uses_absolute_paths":30,"network_access":30},{"npm":276,"pip":277,"brew":278,"system":279},[],[],[],[],{"commands":281,"expected_files":282},[],[],{"target":35,"score":63,"status":64,"policy":64,"why":284,"asset_kind":32,"install_mode":37},[66,67,68,69,70,71,72],{"author_trust_level":74,"verified_publisher":30,"asset_signed_hash":164,"signature_status":75,"install_count":12,"report_count":12,"dangerous_capability_badges":286,"review_status":77,"signals":287},[32],[79,80],{"owner_uuid":9,"owner_name":10,"source_url":289,"content_hash":164,"visibility":19,"created_at":290,"updated_at":291},"https:\u002F\u002Ftokrepo.com\u002Fen\u002Fworkflows\u002Fhector-self-hosted-agent-runtime-binary","2026-05-12 01:55:11","2026-05-14 09:27:24",109.01363402123332,[146,148,149,250],[28,151]]