{"id":19725418,"url":"https://github.com/easychen/fxd","last_synced_at":"2025-07-10T07:04:30.049Z","repository":{"id":233216448,"uuid":"786300424","full_name":"easychen/fxd","owner":"easychen","description":"Flow eXtension Define，它是一个被设计用于工作流（尤其是AI和自动化工作流）扩展的规范。\"Flow eXtension Define\" is a specification designed for extending workflows, especially AI and automation workflows.","archived":false,"fork":false,"pushed_at":"2024-05-21T11:37:10.000Z","size":3558,"stargazers_count":105,"open_issues_count":1,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-29T23:34:46.056Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ft07.com/fxd/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/easychen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-14T03:00:48.000Z","updated_at":"2025-04-13T15:36:47.000Z","dependencies_parsed_at":"2024-04-17T14:58:14.527Z","dependency_job_id":"f4e8f5a2-008e-4145-843c-91f6bf499497","html_url":"https://github.com/easychen/fxd","commit_stats":null,"previous_names":["easychen/fxd"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/easychen/fxd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easychen%2Ffxd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easychen%2Ffxd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easychen%2Ffxd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easychen%2Ffxd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/easychen","download_url":"https://codeload.github.com/easychen/fxd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easychen%2Ffxd/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264545017,"owners_count":23625387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T23:29:47.991Z","updated_at":"2025-07-10T07:04:30.023Z","avatar_url":"https://github.com/easychen.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# What is Fxd\n\n[ [中文](./README.zh-cn.md) | [English](./README.md) ]\n\n![](images/20240414114221.png)\n\nFxd stands for Flow eXtension Define, a specification designed for extending workflows, especially AI and automation workflows.\n\n[FXD Official Manual](https://ft07.com/fxd/)\n\nFor example, if you need to monitor the latest articles from an RSS feed, translate them into Chinese, add images, and post them to your X platform, this task is not difficult for AI. However, due to the many steps involved, few tools can automate the entire process.\n\nUsing Fxd, we would first encapsulate the following Fxd Apps:\n\n-   RSS Monitoring App\n-   GPTChat App\n-   DALL-E App\n-   X Posting App\n\nEach of these is an independent NPM package, and each app can be called via the command line using Fxd-Cli. This way, we only need to use Shell or other scripts to combine these Fxd Apps, flexibly achieving various functions. For example, if you want to post to Weibo instead of X, you only need to replace the last app.\n\nAn example of posting to Weibo:\n\n```bash\nfxd weiboLive auth # Initial posting requires logging in through the browser, no need to manually log in each time\nfxd weiboPublish --content=\"Hello there\" --self_only=\"true\" --format=\"json\" --headless=\"false\"\n```\n\nIt can also be used directly in clients that comply with the FXD specification, such as the FlowDeer client.\n\n![FlowDeer](images/image.png)\n\n# Development Environment\n\n## Command Line Debugging\n\nThis repo uses Yarn workspaces to manage multiple packages. Run in the root directory:\n\n```bash\nyarn install\n```\n\u003cdetails\u003e\n\u003csummary\u003eSolution for Windows error \"cannot load file **Roaming\\npm\\yarn.ps1\"\u003c/summary\u003e\nThis error is caused by policy restrictions. Please follow these steps to resolve it:\n\n1. Search for PowerShell, right-click to run as administrator\n1. Enter `Set-ExecutionPolicy RemoteSigned` and choose Y\n1. Close PowerShell and rerun the yarn command\n\u003c/details\u003e\n\nThen navigate to the command line directory\n```bash\ncd packages/fxd-cli\n```\n\nOn Unix-like systems, use `./fxd` in the directory as the command line tool:\n\n```bash\n# View help\n./fxd core help\n\n# View Demo app help\n./fxd demo help\n```\nOn Windows, manually add the node command prefix\n\n```bash\n# View help\nnode fxd core help\n\n# View Demo app help\nnode fxd demo help\n```\n\n## FXD App Code Generation\n\nYou can create a copy of the `fxd-app-demo` for modification and debugging. Once completed, publish it using `npm publish fxd-app-your-app` to make it available on all software supporting the FXD specification.\n\nStarting from May 21, 2024, code generation for initializing an FXD app is introduced. The usage is as follows:\n\nConfigure environment variables:\n\n- `DEFAULT_AI_CHAT_KEY`: openai/api2d key\n- `DEFAULT_AI_CHAT_BASEURL`: `https://api.openai.com` or `https://oa.api2d.net`\n- `DEFAULT_AI_CHAT_MODEL`: model, default to gpt-4o \n\nIn the `fxd-cli` directory, run:\n\n```bash\n./fxd codegen\n```\n\nhttps://github.com/easychen/fxd/assets/1294760/c6f995f8-b5ae-4db4-9265-8d6ebb4b781c\n\nFollow the prompts to complete the process.\n\n## Debugging in FlowDeer\n\nBy default, FlowDeer installs packages from the NPM site directly; however, we may need to debug before publishing. Here is a solution:\n\nSince FlowDeer prioritizes local directories, we can run `npm install \u003cpackage-path\u003e` in the corresponding FlowDeer directory via the command line for local installation.\n\nSpecifically, for Mac systems:\n\n```bash\ncd /Applications/FlowDeer.app/Contents/Resources/app.asar.unpacked/src/local-api\nnpm install path/to/your/package\n```\n\nIf you haven't installed FlowDeer in the Applications directory, please adjust the `/Applications/FlowDeer.app` part of the path accordingly.\n\nFor Windows systems:\n\n```bash\ncd \u003cFlowDeer-directory\u003e/resources/app.asar.unpacked/src/local-api\nnpm install path/to/your/package\n```\n\nAfter installation, simply add the package name in the FlowDeer interface.\n\n# License\n\nThe SDK, command line tools, and core packages of FXD are by default licensed under the PolyForm Noncommercial License. If the packages directory contains different licenses, the latter prevails.\n\nAny code contributed to this project is considered authorized for commercial use by the project authors and their affiliated companies and distributed under this project's license (PolyForm Noncommercial License).\n\nThe PolyForm Noncommercial License allows you to modify this project and distribute it for any non-commercial purposes. During distribution, you must ensure that the recipients receive a copy of the license and are aware that the copyright belongs to \"Sugar Balloons\". For more detailed instructions, please read the license document.\n\nApplications based on FXD (similar to fxd-app-demo) can be licensed as you see fit, but distribution must still comply with the agreement. For example:\n\n1. If you create fxd-app-demo and license it under the MIT license, you can handle the fxd-app-demo code as you wish.\n2. If you guide users to install and use fxd-app-demo via fxd-cli, you do not need to comply with this project's license.\n3. If you bundle fxd-cli and fxd-sdk code as a product for distribution, then you must comply with this project's license.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feasychen%2Ffxd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feasychen%2Ffxd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feasychen%2Ffxd/lists"}