diff --git a/.github/workflows/frontend-ci.yaml b/.github/workflows/frontend-ci.yaml index de986cbc0..13a3e8fe1 100644 --- a/.github/workflows/frontend-ci.yaml +++ b/.github/workflows/frontend-ci.yaml @@ -14,8 +14,8 @@ on: workflow_dispatch: jobs: - setup: - name: Setup jobs + setup: + name: Build All runs-on: ubuntu-latest env: NODE_VERSION: '18' @@ -38,7 +38,7 @@ jobs: uses: actions/setup-node@v3 with: node-version: ${{ env.NODE_VERSION }} - + - name: Cache uses: actions/cache@v4 with: @@ -58,7 +58,7 @@ jobs: git fetch origin $TARGET_BRANCH sh .github/scripts/branch-diff.sh origin/$TARGET_BRANCH > changed.json echo "file=changed.json" >> "$GITHUB_OUTPUT" - + - name: Install Dependencies run: | node common/scripts/install-run-rush.js install @@ -66,7 +66,7 @@ jobs: - name: Build All run: | node common/scripts/install-run-rush.js rebuild --verbose --timeline - + - name: Lint & Style run: | node common/scripts/install-run-rush.js increment --action lint -p ${{ steps.branch-diff.outputs.file }} diff --git a/.github/workflows/frontend-tsc-ci.yaml b/.github/workflows/frontend-tsc-ci.yaml index 996fe37bc..47c989287 100644 --- a/.github/workflows/frontend-tsc-ci.yaml +++ b/.github/workflows/frontend-tsc-ci.yaml @@ -14,8 +14,8 @@ on: workflow_dispatch: jobs: - setup: - name: Setup jobs + setup: + name: TS Check runs-on: ubuntu-latest env: NODE_VERSION: '18' @@ -37,7 +37,7 @@ jobs: uses: actions/setup-node@v3 with: node-version: ${{ env.NODE_VERSION }} - + - name: Cache uses: actions/cache@v4 with: @@ -57,7 +57,7 @@ jobs: git fetch origin $TARGET_BRANCH sh .github/scripts/branch-diff.sh origin/$TARGET_BRANCH > changed.json echo "file=changed.json" >> "$GITHUB_OUTPUT" - + - name: Install Dependencies run: | node common/scripts/install-run-rush.js increment --action install -p ${{ steps.branch-diff.outputs.file }} @@ -65,7 +65,7 @@ jobs: - name: Prepare Basic Packages run: | node common/scripts/install-run-rush.js pre-build -v - + - name: TS Check run: | node common/scripts/install-run-rush.js increment --action ts-check -p ${{ steps.branch-diff.outputs.file }} diff --git a/.github/workflows/issue-sync.yaml b/.github/workflows/issue-sync.yaml new file mode 100644 index 000000000..cddde1f32 --- /dev/null +++ b/.github/workflows/issue-sync.yaml @@ -0,0 +1,35 @@ +name: Issue Notification + +on: + issues: + types: ['opened', 'reopened', 'closed'] + +jobs: + sync: + name: Sync Issues + runs-on: ubuntu-latest + env: + NODE_VERSION: '18' + LARK_APP_ID: ${{ secrets.COZELOOP_LARK_APP_ID }} + LARK_APP_SECRET: ${{ secrets.COZELOOP_LARK_APP_SECRET }} + ISSUE_ACTION: ${{ github.event.action }} + ISSUE_NUMBER: ${{ github.event.issue.number }} + ISSUE_URL: ${{ github.event.issue.html_url }} + ISSUE_TITLE: ${{ github.event.issue.title }} + ISSUE_BODY: ${{ github.event.issue.body }} + REPO_NAME: ${{ github.repository }} + + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: ${{ env.NODE_VERSION }} + + - name: Install ci-tools + run: | + npm install -g @cozeloop/ci-tools@0.0.1 + + - name: Notify via lark + run: | + cozeloop-ci lark sync-issue \ + --chat-id oc_d02b85f9799a0c35cf164d3a939ef30e diff --git a/.github/workflows/semantic-pull-request.yaml b/.github/workflows/semantic-pull-request.yaml index 734778456..e167a2ca7 100644 --- a/.github/workflows/semantic-pull-request.yaml +++ b/.github/workflows/semantic-pull-request.yaml @@ -32,6 +32,7 @@ jobs: style test chore + # all # idl: idl # infra: # - go version update, lint, database, etc @@ -41,6 +42,7 @@ jobs: # workflow: gh workflow # prompt, evaluation, trace, model, dataset, foundation scopes: | + all idl frontend backend diff --git a/README.cn.md b/README.cn.md index e677450f7..81bd16325 100644 --- a/README.cn.md +++ b/README.cn.md @@ -39,8 +39,27 @@ Coze Loop 通过提供全生命周期的管理能力,帮助开发者更高效 | 模型 | 支持接入 OpenAI、火山方舟等模型 | ## 快速开始 - -参考[快速开始](https://github.com/coze-dev/CozeLoop/wiki/2.-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B),了解如何安装部署 Coze Loop 最新版本。 +> 参考[快速开始](https://github.com/coze-dev/CozeLoop/wiki/2.-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B),详细了解如何安装部署 Coze Loop 最新版本。 +环境要求: +* Go > 1.23.4; 配置 GOPATH +* 提前安装 Docker、Docker Compose,并启动 Docker 服务 +操作步骤: +1. 获取源码。执行以下命令,获取 Coze Loop 最新版本的源码。 + ```Bash + # 克隆代码 + git clone https://github.com/coze-dev/Coze Loop.git + # 进入Coze Loop目录下 + cd Coze Loop + ``` +2. 配置模型。进入目录 `conf/default/app/runtime/`,编辑文件 `model_config.yaml`,修改 api_key 和 model 字段。以火山方舟为例: + * api_key:火山方舟 API Key,获取方式可参考[获取 API Key](Keyhttps://www.volcengine.com/docs/82379/1541594)。 + * model:火山方舟模型接入点的 Endpoint ID,获取方式可参考[获取 Endpoint](https://www.volcengine.com/docs/82379/1099522)。 +3. 启动服务。执行以下命令,使用 Docker Compose 快速部署 Coze Loop 开源版。 + ```Bash + # 启动服务,默认为开发模式 + docker compose up --build + ``` +4. 通过浏览器访问 `http://localhost:8082`,访问 Coze Loop 开源版。 ## 使用 Coze Loop 开源版 diff --git a/backend/kitex_gen/coze/loop/foundation/authn/coze.loop.foundation.authn.go b/backend/kitex_gen/coze/loop/foundation/authn/coze.loop.foundation.authn.go index 46add3367..c99c0ab31 100644 --- a/backend/kitex_gen/coze/loop/foundation/authn/coze.loop.foundation.authn.go +++ b/backend/kitex_gen/coze/loop/foundation/authn/coze.loop.foundation.authn.go @@ -3297,7 +3297,7 @@ func (p *VerifyTokenResponse) Field255DeepEqual(src *base.BaseResp) bool { } type AuthNService interface { - // OpenAPI PAT管理,开源版本暂不支持OAuth + // OpenAPI PAT管理 CreatePersonalAccessToken(ctx context.Context, req *CreatePersonalAccessTokenRequest) (r *CreatePersonalAccessTokenResponse, err error) DeletePersonalAccessToken(ctx context.Context, req *DeletePersonalAccessTokenRequest) (r *DeletePersonalAccessTokenResponse, err error) diff --git a/backend/loop_gen/coze/loop/foundation/loauthn/local_authnservice.go b/backend/loop_gen/coze/loop/foundation/loauthn/local_authnservice.go index 7715e0f93..551840bde 100644 --- a/backend/loop_gen/coze/loop/foundation/loauthn/local_authnservice.go +++ b/backend/loop_gen/coze/loop/foundation/loauthn/local_authnservice.go @@ -23,7 +23,7 @@ func NewLocalAuthNService(impl authn.AuthNService, mds ...endpoint.Middleware) * } // CreatePersonalAccessToken -// OpenAPI PAT管理,开源版本暂不支持OAuth +// OpenAPI PAT管理 func (l *LocalAuthNService) CreatePersonalAccessToken(ctx context.Context, req *authn.CreatePersonalAccessTokenRequest, callOptions ...callopt.Option) (*authn.CreatePersonalAccessTokenResponse, error) { chain := l.mds(func(ctx context.Context, in, out interface{}) error { arg := in.(*authn.AuthNServiceCreatePersonalAccessTokenArgs) diff --git a/frontend/packages/cozeloop/api-schema/src/api/idl/foundation/coze.loop.foundation.authn.ts b/frontend/packages/cozeloop/api-schema/src/api/idl/foundation/coze.loop.foundation.authn.ts index 71e00ed34..8d1ef333e 100644 --- a/frontend/packages/cozeloop/api-schema/src/api/idl/foundation/coze.loop.foundation.authn.ts +++ b/frontend/packages/cozeloop/api-schema/src/api/idl/foundation/coze.loop.foundation.authn.ts @@ -60,7 +60,7 @@ export interface VerifyTokenResponse { valid?: boolean, user_id?: string, } -/** OpenAPI PAT管理,开源版本暂不支持OAuth */ +/** OpenAPI PAT管理 */ export const CreatePersonalAccessToken = /*#__PURE__*/createAPI({ "url": "/api/auth/v1/personal_access_tokens", "method": "POST", @@ -121,4 +121,4 @@ export const ListPersonalAccessToken = /*#__PURE__*/createAPI void) => { - // 开源版直接调用回调,不做拦截 + // 直接调用回调,不做拦截 callback?.(); }, }), diff --git a/idl/thrift/coze/loop/foundation/coze.loop.foundation.authn.thrift b/idl/thrift/coze/loop/foundation/coze.loop.foundation.authn.thrift index 450eddef3..25980a27e 100644 --- a/idl/thrift/coze/loop/foundation/coze.loop.foundation.authn.thrift +++ b/idl/thrift/coze/loop/foundation/coze.loop.foundation.authn.thrift @@ -86,7 +86,7 @@ struct VerifyTokenResponse { } service AuthNService { - // OpenAPI PAT管理,开源版本暂不支持OAuth + // OpenAPI PAT管理 CreatePersonalAccessTokenResponse CreatePersonalAccessToken(1: CreatePersonalAccessTokenRequest req) (api.post='/api/auth/v1/personal_access_tokens') DeletePersonalAccessTokenResponse DeletePersonalAccessToken(1: DeletePersonalAccessTokenRequest req) (api.delete='/api/auth/v1/personal_access_tokens/:id') UpdatePersonalAccessTokenResponse UpdatePersonalAccessToken(1: UpdatePersonalAccessTokenRequest req) (api.put='/api/auth/v1/personal_access_tokens/:id') @@ -95,4 +95,4 @@ service AuthNService { // 验证token是否有效 VerifyTokenResponse VerifyToken(1: VerifyTokenRequest req) -} \ No newline at end of file +}